Kezdő lépések a NI USB-7856R programozásában

Ahhoz, hogy az NI USB-7856R eszközt programozzuk, mindenképp szükség lesz egy LabVIEW projektre. Egyrészt fel lehet használni a Create Projekt párbeszédablakban a Templates/Desctop/LabVIEW FPGA Projekt template-et, ugyanakkor nem sokkal körülményesebb (sőt, talán még egyszerűbb is), hogy ha egy üres projektből (Blank Projekt) indulunk ki. Mivel a mérőeszköz közvetlenül, USB kapcsolaton keresztül, kapcsolódik a számítógéphez, ezért a My Computer-hez kell hozzáadjuk a helyi menü New/Target and Devices... menü segítségével.

Az FPGA target hozzáadása a projekthez

Az FPGA target hozzáadása a projekthez

Ha az eszköz csatlakoztatva van a számítógéphez, akkor az Existing target or device segítségével megtalálhatjuk és kiválaszthatjuk, egyébként a New target or device menü segítségével kiválaszthatjuk egy listából.

Az aktuális műszer kiválasztása

Az aktuális műszer kiválasztása

A műszer bemeneteit és kimenetei, a DAQmx driverrel szemben, a Project Explorer window-ban érhetők el (IO változóként). A szükséges IO elemeket az FPGA targetre kattintva a helyi menü New/FPGA I/O menüje segítségével választhatjuk ki.

VI-ok létrehozásánál figyelnünk kell, hogy az adott kódot hol is szeretnénk futtatni. Amennyiben a kód a My Computer-hez van hozzárendelve, akkor a kód a számítógépen fog futni. Ahhoz, hogy az FPGA-t programozzuk, a VI-t az FPGA Target csomópont alá kell hozzáadni a helyi menü New/VI parancsa segítségével. A kód elkészítése után a VI a hagyományos módon futtatható. A LabVIEW először legenerálja a fordításhoz szükséges ideiglenes fájlokat, majd pedig elindul a fordító, mely véges idő után elkészíti az FPGA-n futó bit-fájlt. A fájl automatikusan letöltődik, majd az FPGA elkezdi a kód végrehajtását. A kódot futás közben felügyelhetjük a PC-ről továbbra is elérhető vi előlapja segítségével.

Az aktuális program futtatása

Az aktuális program futtatása

Megjegyzések:

  • Az FPGAn a LabVIEW műveleteknek csak egy részhalmaza érhető el, e mellett a szokásostól kissé eltérő programozási stratégiákat érdemes követni (ezekről később még lesz szó).
  • A fordítószerver indulásáig néha kicsit várni kell, a fordítás maga pedig hosszas időt vehet igénybe (rövid programok esetén általában legalább 5 perc, bonyolultabb kódok esetén akár órákig is tarthat a fordítás).
  • Fordítás közben kaphatunk fordítási hibát, pl. azért mert túl sok erőforrást szeretnénk felhasználni, vagy azért, mert valamely műveletet az FPGA nem tudná a kívánt időtartam alatt elvégezni. Utóbbi könnyel előfordulhat, amennyiben nem figyelünk oda a felhasznált adattípusok nagyságára, pl. fixpontos műveletek esetén a szóhosszúság hajlamos egyre nagyobb és nagyobb lenni.

Hozzászóllások