《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 激光陀螺慣導系統數據通訊軟件設計
激光陀螺慣導系統數據通訊軟件設計
摘要: 本文將基于CY7C68013A的USB接口技術應用于慣導系統數據通信,創新性的設立圓形緩沖區解決了USB接口數據傳輸過程中的丟幀問題。近千小時測試結果表明:上述USB接口通訊裝置可實現導航計算機和PC機間高速實時數據傳輸且期間無丟幀現象發生,表明該裝置具有良好的穩定性與可靠性。
Abstract:
Key words :

  在激光陀螺捷聯慣導系統中,慣性儀表(激光陀螺和加速度計)直接“捆綁”在載體上,所承受的力學環境要比平臺惡劣。在某些軍用環境所要求承受的強烈振動條件下,由于慣性組合體在力和運動的激勵下產生多項誤差,系統姿態和位置誤差增長較快。研究表明,這些誤差項有一部分具有較好的補償性,可以通過誤差補償減小或消除部分誤差,從而提高系統在強振動下的精度。這就需要將慣性儀表在振動環境下的輸出數據高速采集并保存下來,然后在PC機上進行離線仿真以確定和分離各項誤差系數。

  由于數據量龐大,無法直接存儲在導航計算機中:例如以8 kHz對慣性儀表輸出進行采樣,每秒的數據量約為200 K字節。而原有捷聯慣導系統采用RS422接口與外部通訊,其最大波特率為1 M。不足以將高速數據傳送給PC機保存下來。因此,有必要在導航計算機外圍擴展更高速的USB接口,以實現導航計算機和PC機之間的高速通訊。USB接口(Universal Serial Bus)是一種通用的高速串行通訊接口。USB2.0理論傳輸速度可達到480 Mb/s,可以很好地解決數據在慣導系統與PC機之間的高速互傳問題。

  1 激光陀螺捷聯慣導系統的USB接口設計

  1.1 USB接口芯片CY7C68013A

  CY7C68013A是CYPRESS公司最新推出的USB2.O控制器,它既負責USB事務處理也兼具微處理器的控制功能,還可作為USB外部芯片的主控芯片,其小巧的體積及較高的性價比使得該芯片在各種USB設備上得到了廣泛的應用。該芯片包括帶16KB片上RAM的高速8051單片機、4KBFIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發器,6條可編程控制輸出線,9條地址輸出線和6條通用的準備輸入線。數據線寬度可設為8位也可設為16位,方便與不同的CPU接口。圖1是CY7C68013A的內部結構功能框圖。

  

  由于CY7C68013A硬件邏輯并不復雜,加上可以充分利用FPGA的靈活性,在導航計算機外圍擴展CY7C68013A的線路板設計工作相對簡單,將CY7C68013A的總線和控制信號與DSP導航計算機的FPGA相應引腳正確相連即可。

  USB接口的軟件設計要復雜一些,主要是編寫CY7C68013A自身的固件程序。

  在激光陀螺捷聯慣導系統中,慣性儀表(激光陀螺和加速度計)直接“捆綁”在載體上,所承受的力學環境要比平臺惡劣。在某些軍用環境所要求承受的強烈振動條件下,由于慣性組合體在力和運動的激勵下產生多項誤差,系統姿態和位置誤差增長較快。研究表明,這些誤差項有一部分具有較好的補償性,可以通過誤差補償減小或消除部分誤差,從而提高系統在強振動下的精度。這就需要將慣性儀表在振動環境下的輸出數據高速采集并保存下來,然后在PC機上進行離線仿真以確定和分離各項誤差系數。

  由于數據量龐大,無法直接存儲在導航計算機中:例如以8 kHz對慣性儀表輸出進行采樣,每秒的數據量約為200 K字節。而原有捷聯慣導系統采用RS422接口與外部通訊,其最大波特率為1 M。不足以將高速數據傳送給PC機保存下來。因此,有必要在導航計算機外圍擴展更高速的USB接口,以實現導航計算機和PC機之間的高速通訊。USB接口(Universal Serial Bus)是一種通用的高速串行通訊接口。USB2.0理論傳輸速度可達到480 Mb/s,可以很好地解決數據在慣導系統與PC機之間的高速互傳問題。

  1 激光陀螺捷聯慣導系統的USB接口設計

  1.1 USB接口芯片CY7C68013A

  CY7C68013A是CYPRESS公司最新推出的USB2.O控制器,它既負責USB事務處理也兼具微處理器的控制功能,還可作為USB外部芯片的主控芯片,其小巧的體積及較高的性價比使得該芯片在各種USB設備上得到了廣泛的應用。該芯片包括帶16KB片上RAM的高速8051單片機、4KBFIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發器,6條可編程控制輸出線,9條地址輸出線和6條通用的準備輸入線。數據線寬度可設為8位也可設為16位,方便與不同的CPU接口。圖1是CY7C68013A的內部結構功能框圖。

  

  由于CY7C68013A硬件邏輯并不復雜,加上可以充分利用FPGA的靈活性,在導航計算機外圍擴展CY7C68013A的線路板設計工作相對簡單,將CY7C68013A的總線和控制信號與DSP導航計算機的FPGA相應引腳正確相連即可。

  USB接口的軟件設計要復雜一些,主要是編寫CY7C68013A自身的固件程序。

  1.2 CY7C68013A的固件程序設計

  CY7C68013A的固件程序主要用于USB芯片的端點配置、頻率設置、數據寬度、可編程標志定義、中斷定義及特定功能的8051程序編寫等。固件程序主要完成如圖2所示的任務流程。

  

  在上述固件程序當中,CY7C68013A的初始化子程序TD_Init()的開發按照以下步驟進行:按圖3中的規則配置端點;使CY7C68013A工作在SLAVE FIFO模式,選擇BULK傳輸,使用3個端點EP2、EP4和EP6,全部采用雙緩沖方式;3個端點FIFO標志分別定義為:FLGA為EP2的4字節接收可編程標志,FIGB為EP6的滿標志,FLGC為EP2的空標志;數據寬度設為16位。

  

  1.3 丟幀問題及解決措施

  在導航計算機與PC機間通過USB接口進行了雙向高速通訊測試。測試方法如下:PC機向導航計算機傳輸一個數據包,導航計算機接收后回傳,PC機接收后進行正確性校驗、傳輸、回傳和校驗過程循環進行。測試中發現偶爾有丟幀現象出現。嘗試改變上位機中數據采集與后臺實時寫內存線程的優先級和改變CY7C68013A的端點大小及緩沖級別(如三緩沖、四緩沖)來解決這個問題,但是丟幀現象依然存在。

  經過較長時間的分析與驗證,找到了問題所在:PC機中運行的Windows操作系統是一個多任務的操作系統,同時運行著多個進程,系統在給每個進程分配時間片時也是有一定的優先級的,優先級高的進程占用時間片較多,如果PC機在執行某些其他進程時占用時間超過了一定的限度,就可能導致該讀出的數據沒有及時讀出,而下一幀數據又已送到緩沖區,覆蓋前一幀數據,從而造成丟幀。

  解決丟幀的辦法是在DSP的內存中設置一個圓形緩沖區,如果發現IN型端點的FIFO已滿(說明PC機未及時讀走FIFO中數據),則將本幀數據存入圓形緩沖區里,直到FIFO完全為空。

  圓形緩沖區的結構如圖4所示。

  

  在圖4中,sptr為寫入數據指針,dptr為發送數據指針。整個圓形緩沖區的大小設置為256 K字(32位)。若按8 K的數據存入速率,可以保存8 s數據。在PC機不能及時讀取IN端點FIFO數據的情況下,這個圓形緩沖區可以起到很好的緩沖作用。

  在程序執行的初始時刻,設置指針sptr等于dptr。當IN端點FIFO滿時,DSP將數據按指針sptr存入圓形緩沖區,sptr隨之遞增,而dptr保持不變。當IN端點FIFO空時,DSP仍將數據按指針sptr存入圓形緩沖區,sptr隨之加1。但此時將從dptr指針處發送兩幀數據到FIFO中,這種dptr追趕sptr的機制,將保證圓形緩沖區不出現溢出現象:即不會出現sptr超過dptr一圈以上的情況。

  1.4 通訊系統軟件整體設計

  遵循軟件設計中盡量較少使用中斷的原則,這里只使用1個4 K中斷,其他三路信號都采用查詢方式,中斷分配如圖5所示。

  

  圖6為主程序流程。USB從管道0接收PC機發來的命令,命令寫入EP2端點中,此時在INT7管腳上產生USB中斷。DSP通過查詢INT7中斷,將EP2中的命令及數據讀出,對命令進行解析,并執行相應的指令工作。非周期指令執行完后,將接收數據寫入EP4端點,PC機從管道1中將數據取走;周期指令執行完后,將接收數據寫入EP6端點,PC機從管道2中將數據取走。

  

  圖7中的4 K中斷流程主要完成陀螺和加速度計脈沖及溫度數據的采集工作,并向EP6端點寫入。

  

  2 通訊效果測試

  將激光陀螺慣性導航系統固定于振動模擬臺,按照軍用環境的要求進行了近千小時的振動實驗。實驗過程中導航計算機高速采集慣性儀表在振動環境下的輸出數據,并通過USB接口傳輸給PC機并保存下來。

  當圓形緩沖區的兩個指針各自達到最大位置后將從0地址重新開始,長時間雙向通訊的測試結果表明:將采用上述方法后的輸出數據與串口輸出數據進行比對,發現無丟幀現象產生。在導航計算機上進行離線仿真以確定和分離各項誤差系數,通過實時誤差補償減小了部分誤差,從而提高了系統在強振動下的精度。當然,PC機在與導航計算機的數據傳輸過程中,建議盡量減少運行的任務數量,特別是占用CPU時間較多的任務,如殺毒、音頻視頻解碼等。

  3 結論

  本文將基于CY7C68013A的USB接口技術應用于慣導系統數據通信,創新性的設立圓形緩沖區解決了USB接口數據傳輸過程中的丟幀問題。近千小時測試結果表明:上述USB接口通訊裝置可實現導航計算機和PC機間高速實時數據傳輸且期間無丟幀現象發生,表明該裝置具有良好的穩定性與可靠性。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 福利视频欧美一区二区三区| 医生好大好硬好爽好紧| 噼里啪啦免费观看高清动漫| 伊人狠狠色丁香综合尤物| 亚洲国产夜色在线观看| 久久午夜精品视频| 一区三区三区不卡| 永久免费在线观看视频| 色吊丝av中文字幕| 澳门永久av免费网站| 日韩女同互慰专区| 天堂草原电视剧在线观看免费 | 日本尹人综合香蕉在线观看| 性无码免费一区二区三区在线| 国产高清视频一区三区| 国产乱子伦在线观看不卡| 人妻无码久久中文字幕专区| 久青草中文字幕精品视频| yellow中文字幕网| 国产精品视频网站你懂得| 粗大挺进尤物人妻中文字幕| 最近中文字幕无| 天堂资源bt种子在线| 国产午夜影视大全免费观看| 免费a级毛片无码鲁大师| 久久精品国产亚洲AV无码偷窥| xxxxwww日本在线| 黄瓜视频在线观看网址| 特级毛片aaaa级毛片免费| 日本网址在线观看| 国产高清一区二区三区免费视频| 国产中文制服丝袜另类| 亚洲日产2021三区| 一级毛片大全免费播放下载| 麻豆影视视频高清在线观看| 波多野结衣伦理视频| 成年丰满熟妇午夜免费视频| 国产欧美国产精品第一区| 亚洲综合色婷婷在线观看| 中文字幕三级在线不卡| 国产caowo13在线观看一女4男|