多慣組脈沖輸出同步計數(shù)系統(tǒng)設計
3 系統(tǒng)軟件設計
3.1 CY68013的固件程序設計
擔任著一個系統(tǒng)最基礎工作的程序才可稱之為固件程序,比如計算機主板上的BIOS。固件程序的作用就是輔助硬件完成預期的設備功能。如下圖7所示,同件程序在CY68013上電之后,首先通過調(diào)用TD_Init()函數(shù)來完成對多個狀態(tài)寄存器的配置。接著,固件程序會不停檢查FIFO中寫入的數(shù)據(jù)大小,當足夠一包的數(shù)據(jù)時自動發(fā)送數(shù)據(jù)包。當發(fā)生最后一包的數(shù)據(jù)不足一包的大小時,INPKTEND引腳在接收到信號后會強制打包上傳FIFO中的數(shù)據(jù)。本文引用地址:http://butianyuan.cn/article/189660.htm
3.2 應用程序設計
應用程序的開發(fā)采用MFC框架來設計應用程序,實現(xiàn)從USB芯片的FIFO中讀取一定大小的數(shù)據(jù)包并進行實時的處理,以及在用戶界面上實時地顯示數(shù)據(jù)。由于文巾的數(shù)據(jù)包為每4ms的實時數(shù)據(jù),數(shù)據(jù)包讀取頻率很高,因此.應用程序采用多個函數(shù)連續(xù)讀取多個數(shù)據(jù)包以后再去啟動數(shù)據(jù)處理和顯示的線程,通過實驗發(fā)現(xiàn)這樣可以有效地降低數(shù)據(jù)處理線程的啟動頻率,保證MFC應用程序的穩(wěn)定運行。首先,對所有的函數(shù)類進行初始化,并調(diào)用Win32函數(shù)CreateFile來得到設備句柄,根據(jù)設備句柄來連接USB設備。通過接收USB總線的數(shù)據(jù)包,來獲得實時的數(shù)據(jù)。然后,再對實時的4ms的數(shù)據(jù)進行處理,求出每秒的脈沖數(shù)并進行實時的顯示和保存為txt文檔。應用程序數(shù)據(jù)采集流程圖如圖8所示。
4 實驗結果
本系統(tǒng)的測試實驗是使用SP1641D信號發(fā)生器作為脈沖信號源,將此單路脈沖信號使用多路開關板擴展為48路同源的脈沖信號,當信號源輸出信號為771Hz方波信號時,測量結果以及應用程序界面如圖9所示。圖中T (S)為測試進行中的實時時間,其它各列為對應的4個慣導組件的48路的脈沖計數(shù)值。通過實驗驗證,本系統(tǒng)能夠滿足對4個慣導組件的48路脈沖信號進行多路同步計數(shù)的要求。
5 結束語
文中改進后的測試系統(tǒng),具有操作簡單,穩(wěn)定性及實時性好等特點,該系統(tǒng)設計可作為慣導組件的新型測量設備,提高慣導組件測試系統(tǒng)的效率,并且能自動輸出數(shù)據(jù)文檔,方便操作和管理。SlaveFIFOs模式可以有效使用USB2.0的帶寬,很好地滿足了在數(shù)據(jù)傳輸速度上的要求。VC與Matlab的混編充分利用了兩個編程語言各自的優(yōu)勢。
評論