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