CAN總線在車輛分布式控制系統中的應用
驅動節點各個組成模塊的功能如下:
(1)CAN通信模塊:CAN總線通信接口電路主要由P87C591的片內CAN驅動器SJA1000、6N137高速光隔、CAN收發器PCA82C250組成。P87C591完成CAN協議的應用層功能;SJA1000完全兼容CAN2.0協議,完成物理層和數據鏈路層的功能;PCA82C250提供了對總線差動發送和接受數據的功能,有效地提高了總線的抗干擾能力,實現了保護總線、降低射頻干擾等功能。為了進一步提高了系統的可靠性,在P87C591和 PCA82C250之間光耦(如:6N137等)隔離電路,并采取了雙電源,有效地抑制由總線引入的干擾。
(2)信號采集模塊:P87C591自帶的6路模擬輸入的10位ADC,可設置為8位快速ADC,可以基本滿足本系統對采集的精度要求,完成對電機、電池狀態的測量任務;采集電路將各個傳感器采集到電信號進行調理(濾波、放大、電量轉換)后,接入微處理器的ADC接口。為抑制共模干擾,放大器基本采用差動輸入。CPU得到信息做出相應的判斷,并送至不同的子程序進行相應的處理,如:把電池的電壓、電流、溫度信息通過通信程序發送給監控計算機;若電池電壓過低,則自動切斷本節點的驅動電機,并把節點的停機信息通知監控計算機。
(3)電機控制模塊:CPU接收到控制臺發來的運行信息,并做出處理。接通驅動電機的主接觸器、正反轉接觸器,通過I2C總線把速度信號傳給數字電位計,用來控制電機驅動器的輸出電流,進而控制電機轉速。若電池的電壓、電流、溫度的任一項值超出正常值范圍時,或接到總線的報警信息,電機控制模塊都會做出相應的反應,使驅動單元得到保護。
(4)參數設置模塊:報警電壓、報警電流、報警溫度、節點地址、波特率等信息通過RS232接口及相應的設置軟件存儲于基于X25045的E2PROM中,實現節點工作參數現場設定能。節點地址通過撥碼開關設置。
驅動節點的硬件部分除了以上介紹的以外,還有電源電路以及看門狗電路。電源電路提供所需隔離電源,用于提高節點的穩定性和安全性;看門狗電路主要是保證系統運行的穩定性,在上電、掉電以及警戒情況下復位輸出。
4 控制系統的軟件設計
4.1監控計算機的軟件設計
計算機監控軟件主要分為用戶應用層、數據分析處理層及硬件設備驅動層三個部分,其系統流程如圖3所示。用戶應用層和用戶需求緊密相關,它主要完成的任務是為用戶提供各類信息的監控界面,進行人機交互,也就是通常所說的人機界面設計,通過它來顯示收集到的實測數據和狀態信息,提供駕駛員與控制系統的交互平臺;數據分析處理層完成總線數據的接收分類、判斷、處理、發送,數據的存取操作等任務;硬件設備驅動層通過PC-CAN接口卡建立監控計算與CAN總線的連接,并與驅動節點進行數據交換。

圖3 監控系統流程圖
4.2驅動節點的軟件設計
與驅動節點硬件設計相一致,軟件設計也遵循模塊化的設計原則,使控制軟件具有易讀、易擴展和易維護的優點。通過C51語言編寫相應的軟件模塊實現驅動節點的各種功能。軟件的各功能模塊之間通過入口和出口參數相互聯系,組合靈活且方便,加少了調試時間,縮短了開發周期。驅動節點的軟件設計流程如圖3所示。
圖3 驅動節點軟件設計流程圖
評論