基于高性能單片機的數據采集系統的設計及實現
陀螺儀是捷聯慣性導航系統中很關鍵的測量元件,敏感著載體的角速率,為姿態計算提供基準坐標系,因此其輸出信號性能的好壞在很大程度上決定了捷聯慣性導航系統的精度,高性能陀螺儀數據采集系統的設計及實現在捷聯慣性導航系統中是必須的。
本文引用地址:http://www.czjhyjcfj.com/article/172172.htm本文正是針對這一需要成功地設計了一種基于高性能單片機的高精度陀螺數據采集系統。它由現場數據采集單元、雙端口RAM緩存單元和通訊監聽三部分組成,很好地解決了船用捷聯慣性導航系統中數據采集傳輸與姿態運算的時間沖突矛盾。
1 陀螺儀數據采集整體系統
圖1為陀螺儀數據采集系統的設計框圖。
船用慣性導航系統中陀螺儀及其驅動線路——力反饋回路通常安放在甲板上的慣性組件箱中,直接敏感船體的搖擺,而用于姿態運算和控制的導航計算機則放在控制柜中,遠離慣性組件箱,因此現場采集的陀螺儀信號必須遠距離傳輸到導航計算機中。由于導航計算機需要不斷地進行復雜的姿態運算,實時地給出姿態信息,因此若現場數據采集板與導航計算機直接通訊,導航計算機將把大量時間消耗在數據接收上,姿態運算來不及實現。為此陀螺儀數據采集系統中在現場數據采集板與導航計算機之間加了一塊數據緩存單元,它主要由雙端口RAM和高性能單片機89C51組成。由于艦艇上工作環境很惡劣,各種電磁波和干擾會影響數據的采集和傳輸,因此在系統設計時必須考慮通訊監聽和糾錯的措施。
數據采集系統的工作受導航計算機的控制,也可以獨立工作。正常時要求采集器在10 ms內完成兩個陀螺四路力反饋電流信號的采集、傳輸發送及通訊監聽、糾錯等功能,剩下的時間由導航計算機工作,因此整個系統實時性很強,要求數據傳輸時間越短越好,這樣有利于導航計算機進行復雜的濾波計算和陀螺動態漂移補償計算,并實時地給出姿態更新信息。
2 采集板的設計及實現
數據采集系統中陀螺儀有用信號的頻帶范圍為直流至50 Hz左右。圖2為陀螺儀靜態時的信號頻譜圖,由圖2可見陀螺儀輸出信號中含有135 Hz以及更高頻率的噪聲,信號調理時必須盡可能地濾除它們,將真實有效信號給反映出來,為此在I/V轉換線路后面設計了一個高階低通濾波器。
采集板中的高性能16位單片機采用微處理器80C196KC[1],它除了提供8X96已包括的一些外設(如時鐘發生器、I/O端口、A/D轉換、PWM輸出、串行口、高速輸入輸出等)外,還集成了先進的外設事物服務器 PTS(Peripheraltransaction server)。PTS是一種微代碼硬件處理器,可以替代CPU高速實現諸如啟動A/D轉換并讀取結果、讀取HSIFIFO、裝載HSO、串行口的發送與接收等中斷服務,從而大大減少CPU響應中斷的開銷。在數據采集板中80C196KC用來完成A/D轉換器的啟動和轉換數據的讀取和處理,并及時發送出去。80C196KC具有數據總線動態配置功能,系統設計時使80C196KC在讀程序時置數據總線為8位方式,而讀A/D轉換結果時置數據總線為16位方式,這樣一次讀走A/D轉換結果。系統中通過開關切換來實現對四路力反饋信號的采集,且利用80C196KC提供的高速輸出HSO和內部定時器T1配合形成四路力反饋信號的精確等間隔采樣,然后輔以必要的數字平滑濾波。通常發送數據是要花費CPU時間的,而采用80C196KC提供的PTS發送數據可近似認為發送不占CPU的時間。此外數據采集系統中還充分利用了80C196KC提供的內部A/D轉換器,來定期采集慣性組件箱內的溫度為電子線路溫度漂移補償提供參數。
采集板中的A/D轉換器為MAX195[2],16位串行輸出,具有自校準功能,轉換速率隨外界時鐘頻率而定。系統中將80C196KC的時鐘輸出端四分頻形成1.5 MHz的時鐘供MAX195使用。
3 數據通訊監聽糾錯
由于艦艇上的工作環境很惡劣,有強烈的電磁干擾(慣性組件箱靠近搜索雷達),有可能使遠距離傳輸數據出現差錯,采用雙絞線或屏蔽電纜線能大大提高通訊的可靠性,但也不能保證不出錯。由于數字通訊中一個數碼的錯誤可能導致整個發送數據面目全非,因此在通訊中必須采用校驗和糾錯技術。若接收方校驗出錯,則要求發送方重新發送數據,這些工作必須在規定的時間內盡快完成。
現場采集板上的單片機80C196KC是數據發送方,它的工作十分繁忙,且發送控制是通過PTS硬件邏輯實現的,不可能要求它在發送完數據后再接收導航計算機要求的數據重發命令,為此在數據采集系統中增加了數據通訊監聽糾錯單元,負責通訊有誤時的處理。其原理為在采集板80C196KC的附近設置一個監控系統,當80C196KC通過PTS發送陀螺數據至導航計算機時,監控系統進入監控狀態,也接收陀螺數據。當導航計算機發現錯誤數據時,回傳要求重發數據,此信號被監控系統接收并負責重發數據,而80C196KC不再負責數據的重發,實時地啟動下一次A/D轉換。在軟件編程時,采取了漢明編碼理論[3],通過軟件來實現糾錯編碼[4]。實踐表明,采用硬件通訊監聽和軟件實現糾錯編碼后,數據傳輸誤碼率大大降低,特別是對一些突發性干擾(尖脈沖)尤為明顯,大大提高了整機系統的可靠性。
4 雙端口RAM緩存
由于導航計算機忙于姿態更新和復雜的濾波計算,不可能直接和采集板上的單片機80C196KC或89C2051進行數據通訊,因此系統中采用雙端口 RAM來緩存傳輸的數據,緩存單元由微處理器89C51進行控制。首先是89C51直接和采集板上的單片機進行數據通訊,并負責通訊傳輸過程中可能發生的誤碼的處理,然后將接收到的數據放入雙端口RAM,這樣導航計算機只需從雙端口RAM的另一側數據線上讀走數據,減輕了導航計算機的負擔,提高了慣性系統的可靠性。
雙端口RAM緩存單元不僅暫時存貯陀螺儀的信息,實際應用時還暫存加速度計的信息,此外還由89C51進行陀螺標度因子的計算來完成導航計算機的部分工作。
雙端口RAM在實際操作時會發生數據沖突,即雙端口RAM兩側的CPU同時對同一個地址單元進行寫操作,這種情況是不允許的。有三種解決爭用的方案:片內硬件判優方案、中斷方案和令牌傳替方案。在本系統中,利用雙端口RAM(IDT7130/LA55P)上兩個特殊的存貯單元3FFH和3FEH(16 進制)產生中斷信號供兩側計算機使用[5]。
5 數據采集系統的軟件和抗干擾
在數據采集系統中,軟件可分為三個模塊,分布在三個單片機中。(1)數據采集轉換啟動模塊,它包括對16位A/D轉換器的自校準編程,采集數據的預處理處理和PTS發送等功能;(2)通訊監聽糾錯模塊,完成通訊過程中數據的發送和接收編程,漢明碼的軟件實施等;(3)數據緩沖單元中89C51的編程,主要完成通訊數據的接收和陀螺標度因子的計算以及發布導航計算機的控制命令等工作。
數據采集系統的抗干擾主要從硬件和軟件上著手,除了上面介紹的措施外,系統中還采取了多種方法,如對程序和電源進行監視,以實現系統失控防護以及掉電復位和掉電操作的控制。對軟件運行中可能出現的“飛程序”和程序 “死循環”采取了監控定時器和中斷互檢技術。此外良好的地平面技術、合理的系統布局都大大提高了系統的抗干擾能力。圖3給出該數據采集系統測試陀螺儀靜態時的數據曲線。
Vave=0.003 377 6 V
Vrms=1.013833e-004 V
Vmax=0.003 631 6 V
Vmin=0.003 106 6 V
參考文獻
1 孫涵芳.Intel 16位單片機.北京:北京航空航天大學出版社,1995.144~171
2 MAXIM 1996 New Release Data Book Volume V7.93~7.117
3 楊 爵,等.實用糾錯編碼.北京:中國鐵道出版社,1988.22~34
4 吳延海.用軟件實現糾錯編碼.電子技術應用,1997,5:33~35
5 朱欣華.多機系統中雙口RAM的構成方法及應用.測控技術,1996,2:25~28
評論