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