賴重平 羅京 李振 朱躍歐
摘 要:磁浮列車懸浮控制系統在調試過程中需要將一些控制量上傳到上位機界面進行顯示,并要將一些參數和命令下發給控制器。本文構建了基于CAN總線的磁浮列車懸浮控制調試網。并指出了應用中要注意的一些方面。
關鍵詞:CAN總線;懸浮控制;調試網
0 引言
磁浮列車懸浮控制系統在調試過程中需要將一些控制量上傳到上位機界面進行顯示,并要將一些參數和命令下發給控制器。所以有必要構建調試網。CAN總線是一種串行通信協議,具有較高的通信速率和較強的抗干擾能力,現已被廣泛地應用于工業自動化、交通工具等眾多領域。懸浮控制器芯片集成了增強型CAN總線通信接口,能夠支持CAN2.0B協議[1,2]。
1 硬件實現
由CAN總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬件的電氣特性所限制。當使用PC82C250作為CAN收發器時,同一個網絡允許掛接110個節點。CAN可提供高達1Mbps的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。CAN是一種多主方式串行通信總線。中低速磁浮列車一節車有20個控制器,也就是20個點。硬件原理框圖如圖1所示,圖中顯示了一個節點的連接[3]。
實際應用中要注意終端電阻匹配,只允許在兩端接有終端電阻,也就是第1和第20節點接有終端電阻。否則會引起網絡不穩定。另外CAN模塊供電要用輸出電壓波動小的電源模塊,輸出電壓波動最好控制在0.1V之內。否則會誤動作光耦,造成CAN網無法工作。
2 控制器軟件實現
控制器芯片編程,要接收上位機下發的命令和參數,如起浮和降落命令、懸浮控制調整參數值。本文將CAN接收程序放在主程序中用查詢的方式實現,如圖2所示。另外要將一些控制量上傳到上位機進行顯示,如間隙、加速度、電流、電壓、各種狀態值。本文用定時器中斷的方式實現CAN發送,如圖3所示。實際應用中要根據需要增減幀的數量,每個幀傳送的位數是有限制的,所以傳的量多了,自然要增加幀的數量。
實際應用中注意不管是以字節還是字的方式上傳,一個量只能一次上傳,不能分開兩次上傳,否則因為中斷的原因會造成數據尖峰。
3 上位機界面
控制芯片和上位機按同一個數據格式和協議進行編程,數據格式如下所示:
CAN2.0B 標準數據幀格式如下:
上位機界面要能按節點顯示各個控制量并顯示其波形,如間隙和加速度波形,電流、電壓波形,還要能將這些數據保存在上位機的硬盤里便于事后進行分析。并有下發懸浮、降落等命令的按鈕。還必須能設置控制參數。
聯調通過后的上位機界面如圖4所示。
4 結束語
懸浮控制調試網所處電磁環境惡劣,而且控制器離上位機較遠,所以選用CAN來組建調試網。本文構建的調試網穩定運行,主要嚴格按照芯片手冊搭硬件電路,并根據實際應用過程中遇到的問題優化。軟件方面要保證實時性,也要盡量少浪費控制芯片的資源,不影響別的程序段運行。
參考文獻:
[1]陽憲惠.現場總線技術及其應用[M].北京:清華大學出版社,1999.
[2]顧衛鋼.手把手教你學DSP[M].北京:北京航空航天大學出版社,2011.
[3]Data Sheet PCA82C250,Philips Semiconductors,September 1994.