CAN總線在車輛分布式控制系統(tǒng)中的應(yīng)用
驅(qū)動(dòng)節(jié)點(diǎn)各個(gè)組成模塊的功能如下:
(1)CAN通信模塊:CAN總線通信接口電路主要由P87C591的片內(nèi)CAN驅(qū)動(dòng)器SJA1000、6N137高速光隔、CAN收發(fā)器PCA82C250組成。P87C591完成CAN協(xié)議的應(yīng)用層功能;SJA1000完全兼容CAN2.0協(xié)議,完成物理層和數(shù)據(jù)鏈路層的功能;PCA82C250提供了對(duì)總線差動(dòng)發(fā)送和接受數(shù)據(jù)的功能,有效地提高了總線的抗干擾能力,實(shí)現(xiàn)了保護(hù)總線、降低射頻干擾等功能。為了進(jìn)一步提高了系統(tǒng)的可靠性,在P87C591和 PCA82C250之間光耦(如:6N137等)隔離電路,并采取了雙電源,有效地抑制由總線引入的干擾。
(2)信號(hào)采集模塊:P87C591自帶的6路模擬輸入的10位ADC,可設(shè)置為8位快速ADC,可以基本滿足本系統(tǒng)對(duì)采集的精度要求,完成對(duì)電機(jī)、電池狀態(tài)的測(cè)量任務(wù);采集電路將各個(gè)傳感器采集到電信號(hào)進(jìn)行調(diào)理(濾波、放大、電量轉(zhuǎn)換)后,接入微處理器的ADC接口。為抑制共模干擾,放大器基本采用差動(dòng)輸入。CPU得到信息做出相應(yīng)的判斷,并送至不同的子程序進(jìn)行相應(yīng)的處理,如:把電池的電壓、電流、溫度信息通過(guò)通信程序發(fā)送給監(jiān)控計(jì)算機(jī);若電池電壓過(guò)低,則自動(dòng)切斷本節(jié)點(diǎn)的驅(qū)動(dòng)電機(jī),并把節(jié)點(diǎn)的停機(jī)信息通知監(jiān)控計(jì)算機(jī)。
(3)電機(jī)控制模塊:CPU接收到控制臺(tái)發(fā)來(lái)的運(yùn)行信息,并做出處理。接通驅(qū)動(dòng)電機(jī)的主接觸器、正反轉(zhuǎn)接觸器,通過(guò)I2C總線把速度信號(hào)傳給數(shù)字電位計(jì),用來(lái)控制電機(jī)驅(qū)動(dòng)器的輸出電流,進(jìn)而控制電機(jī)轉(zhuǎn)速。若電池的電壓、電流、溫度的任一項(xiàng)值超出正常值范圍時(shí),或接到總線的報(bào)警信息,電機(jī)控制模塊都會(huì)做出相應(yīng)的反應(yīng),使驅(qū)動(dòng)單元得到保護(hù)。
(4)參數(shù)設(shè)置模塊:報(bào)警電壓、報(bào)警電流、報(bào)警溫度、節(jié)點(diǎn)地址、波特率等信息通過(guò)RS232接口及相應(yīng)的設(shè)置軟件存儲(chǔ)于基于X25045的E2PROM中,實(shí)現(xiàn)節(jié)點(diǎn)工作參數(shù)現(xiàn)場(chǎng)設(shè)定能。節(jié)點(diǎn)地址通過(guò)撥碼開(kāi)關(guān)設(shè)置。
驅(qū)動(dòng)節(jié)點(diǎn)的硬件部分除了以上介紹的以外,還有電源電路以及看門(mén)狗電路。電源電路提供所需隔離電源,用于提高節(jié)點(diǎn)的穩(wěn)定性和安全性;看門(mén)狗電路主要是保證系統(tǒng)運(yùn)行的穩(wěn)定性,在上電、掉電以及警戒情況下復(fù)位輸出。
4 控制系統(tǒng)的軟件設(shè)計(jì)
4.1監(jiān)控計(jì)算機(jī)的軟件設(shè)計(jì)
計(jì)算機(jī)監(jiān)控軟件主要分為用戶應(yīng)用層、數(shù)據(jù)分析處理層及硬件設(shè)備驅(qū)動(dòng)層三個(gè)部分,其系統(tǒng)流程如圖3所示。用戶應(yīng)用層和用戶需求緊密相關(guān),它主要完成的任務(wù)是為用戶提供各類信息的監(jiān)控界面,進(jìn)行人機(jī)交互,也就是通常所說(shuō)的人機(jī)界面設(shè)計(jì),通過(guò)它來(lái)顯示收集到的實(shí)測(cè)數(shù)據(jù)和狀態(tài)信息,提供駕駛員與控制系統(tǒng)的交互平臺(tái);數(shù)據(jù)分析處理層完成總線數(shù)據(jù)的接收分類、判斷、處理、發(fā)送,數(shù)據(jù)的存取操作等任務(wù);硬件設(shè)備驅(qū)動(dòng)層通過(guò)PC-CAN接口卡建立監(jiān)控計(jì)算與CAN總線的連接,并與驅(qū)動(dòng)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換。
本文引用地址:http://2s4d.com/article/197878.htm
圖3 監(jiān)控系統(tǒng)流程圖
4.2驅(qū)動(dòng)節(jié)點(diǎn)的軟件設(shè)計(jì)
與驅(qū)動(dòng)節(jié)點(diǎn)硬件設(shè)計(jì)相一致,軟件設(shè)計(jì)也遵循模塊化的設(shè)計(jì)原則,使控制軟件具有易讀、易擴(kuò)展和易維護(hù)的優(yōu)點(diǎn)。通過(guò)C51語(yǔ)言編寫(xiě)相應(yīng)的軟件模塊實(shí)現(xiàn)驅(qū)動(dòng)節(jié)點(diǎn)的各種功能。軟件的各功能模塊之間通過(guò)入口和出口參數(shù)相互聯(lián)系,組合靈活且方便,加少了調(diào)試時(shí)間,縮短了開(kāi)發(fā)周期。驅(qū)動(dòng)節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖3所示。
圖3 驅(qū)動(dòng)節(jié)點(diǎn)軟件設(shè)計(jì)流程圖
評(píng)論