基于LabVIEW與USB的虛擬儀器接口設(shè)計(jì)
2.3 EZ-USB FX2的固件程序
固件程序是指運(yùn)行在設(shè)備CPU中的程序。只有在該程序運(yùn)行時(shí),外設(shè)才能稱之為具有特定功能的外部設(shè)備。固件程序負(fù)責(zé)初始化各硬件單元,重新配置設(shè)備。固件代碼的存儲(chǔ)位置一般有2種:
第一種是存在主機(jī)中,設(shè)備加電后由驅(qū)動(dòng)程序把固件下載到片內(nèi)RAM后執(zhí)行,即“重新枚舉”;
第二種是把固件代碼固化到1片E2RPOM中,外設(shè)加電后由FX2通過I2C總線下載到片內(nèi)RAM后自動(dòng)執(zhí)行。筆者選用第一種方式,這種方式便于系統(tǒng)的調(diào)試和升級(jí)。
為了簡(jiǎn)化和加速用戶使用EZ-USB FX2芯片進(jìn)行USB外設(shè)的開發(fā)過程,Cypress公司提供了一個(gè)完整的固件程序架構(gòu),用戶只需要提供一個(gè)USB描述符表,添加其他端點(diǎn)接收和發(fā)送數(shù)據(jù)的通信代碼,以及控制外圍電路的程序代碼。具體操作可以參考文獻(xiàn)[1]中的內(nèi)容。
2.4 FPGA軟件
該系統(tǒng)采用VHDL和BlockDiagram/Schematic相結(jié)合的方法來對(duì)各功能模塊進(jìn)行邏輯描述,然后通過EDA開發(fā)平臺(tái),對(duì)FPGA芯片進(jìn)行編程,實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)要求。
數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)方向是雙向的。從計(jì)算機(jī)端來看,“讀數(shù)據(jù)”即FPGA通過CY7C68013向計(jì)算機(jī)發(fā)送測(cè)井?dāng)?shù)據(jù);“寫數(shù)據(jù)”即計(jì)算機(jī)通過CY7C68013向FPGA發(fā)送測(cè)井命令。
如圖6所示,“讀數(shù)據(jù)模式”的工作原理是計(jì)算機(jī)在數(shù)據(jù)采集模式下,CY7C68013的PD7被設(shè)置為低電平,F(xiàn)PGA判斷該位電平為低,則工作在向USB發(fā)送數(shù)據(jù)模式。此時(shí),F(xiàn)PGA判斷USB單片機(jī)FULL管腳是否有效,若CY7C68013中FIFO6未滿,則一直向FIFO6發(fā)送數(shù)據(jù)。計(jì)算機(jī)接收到被A/D數(shù)據(jù)后,完成計(jì)算、繪圖、保存等功能。本文引用地址:http://www.ex-cimer.com/article/195838.htm
“寫數(shù)據(jù)模式”的工作原理:計(jì)算機(jī)在發(fā)送命令模式下,CY7C68013的PD7被設(shè)置為高電平,F(xiàn)PGA判斷該位電平為高,則工作在接收USB發(fā)送命令模式。此時(shí),F(xiàn)PGA判斷USB單片機(jī)EMPTY管腳是否有效,若CY7C68013中FIFO2未空,則一直讀取FIFO2中的命令數(shù)據(jù),同時(shí)根據(jù)命令改變A/D采集的通道數(shù)和程控放大器的增益值。
3 結(jié)語
設(shè)計(jì)的基于LabVIEW與USB的虛擬儀器不但具有體積小,功耗低,成本低,使用靈活方便,硬件電路簡(jiǎn)單,可在線更新等特點(diǎn);而且還充分利用了微機(jī)資源和LabVIEw的靈活性,因而易開發(fā),且擴(kuò)展性好。目前,基于LabVIEW與USB的虛擬儀器已經(jīng)用于我校電子電工實(shí)驗(yàn)室建設(shè)之中,能達(dá)到高速數(shù)據(jù)傳輸、記錄及顯示的要求,具有較高的實(shí)用價(jià)值。
評(píng)論