基于USB接口的激光陀螺慣導系統(tǒng)數(shù)據(jù)通訊
在程序執(zhí)行的初始時刻,設置指針sptr等于dptr。當IN端點FIFO滿時,DSP將數(shù)據(jù)按指針sptr存入圓形緩沖區(qū),sptr隨之遞增,而dptr保持不變。當IN端點FIFO空時,DSP仍將數(shù)據(jù)按指針sptr存入圓形緩沖區(qū),sptr隨之加1。但此時將從dptr指針處發(fā)送兩幀數(shù)據(jù)到FIFO中,這種dptr追趕sptr的機制,將保證圓形緩沖區(qū)不出現(xiàn)溢出現(xiàn)象:即不會出現(xiàn)sptr超過dptr一圈以上的情況。
1.4 通訊系統(tǒng)軟件整體設計
遵循軟件設計中盡量較少使用中斷的原則,這里只使用1個4 K中斷,其他三路信號都采用查詢方式,中斷分配如圖5所示。本文引用地址:http://m.butianyuan.cn/article/162228.htm
圖6為主程序流程。USB從管道0接收PC機發(fā)來的命令,命令寫入EP2端點中,此時在INT7管腳上產(chǎn)生USB中斷。DSP通過查詢INT7中斷,將EP2中的命令及數(shù)據(jù)讀出,對命令進行解析,并執(zhí)行相應的指令工作。非周期指令執(zhí)行完后,將接收數(shù)據(jù)寫入EP4端點,PC機從管道1中將數(shù)據(jù)取走;周期指令執(zhí)行完后,將接收數(shù)據(jù)寫入EP6端點,PC機從管道2中將數(shù)據(jù)取走。
圖7中的4 K中斷流程主要完成陀螺和加速度計脈沖及溫度數(shù)據(jù)的采集工作,并向EP6端點寫入。
2 通訊效果測試
將激光陀螺慣性導航系統(tǒng)固定于振動模擬臺,按照軍用環(huán)境的要求進行了近千小時的振動實驗。實驗過程中導航計算機高速采集慣性儀表在振動環(huán)境下的輸出數(shù)據(jù),并通過USB接口傳輸給PC機并保存下來。
當圓形緩沖區(qū)的兩個指針各自達到最大位置后將從0地址重新開始,長時間雙向通訊的測試結果表明:將采用上述方法后的輸出數(shù)據(jù)與串口輸出數(shù)據(jù)進行比對,發(fā)現(xiàn)無丟幀現(xiàn)象產(chǎn)生。在導航計算機上進行離線仿真以確定和分離各項誤差系數(shù),通過實時誤差補償減小了部分誤差,從而提高了系統(tǒng)在強振動下的精度。當然,PC機在與導航計算機的數(shù)據(jù)傳輸過程中,建議盡量減少運行的任務數(shù)量,特別是占用CPU時間較多的任務,如殺毒、音頻視頻解碼等。
3 結論
本文將基于CY7C68013A的USB接口技術應用于慣導系統(tǒng)數(shù)據(jù)通信,創(chuàng)新性的設立圓形緩沖區(qū)解決了USB接口數(shù)據(jù)傳輸過程中的丟幀問題。近千小時測試結果表明:上述USB接口通訊裝置可實現(xiàn)導航計算機和PC機間高速實時數(shù)據(jù)傳輸且期間無丟幀現(xiàn)象發(fā)生,表明該裝置具有良好的穩(wěn)定性與可靠性。
評論