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