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