C8051F040的車用CAN總線智能節(jié)點(diǎn)設(shè)計(jì)
為了限制傳導(dǎo)干擾,電源模塊使用電磁干擾(EMI)濾波器CXDB2來(lái)抑制電源輸入中的傳導(dǎo)噪聲。輸入電源經(jīng)過(guò)濾波后送入2個(gè)獨(dú)立的電源模塊PWB2405中獲得3組5 V電源。5V-2為模擬信號(hào)輸入與A/D轉(zhuǎn)換電路提供電源,5V-1向CAN總線收發(fā)器供電,5VG為模擬電源,地。VCC為采用5 V電壓的數(shù)字電路提供電源,同時(shí)向三端穩(wěn)壓器模塊AMSlll7提供電源。AMSlll7將VCC轉(zhuǎn)換為2組3.3 V電源,3.3 V-1為C8051F040內(nèi)部A/D轉(zhuǎn)換器提供電源和參考電壓,3.3V-2為單片機(jī)最小控制電路提供數(shù)字電源。
3 軟件設(shè)計(jì)
3.1 主程序
主程序流程如圖8所示。智能節(jié)點(diǎn)上電后,主程序首先完成系統(tǒng)初始化,主要內(nèi)容包括:初始化I/0口、A/D轉(zhuǎn)換器、SPI總線、LCD、CAN總線等,然后進(jìn)入循環(huán)工作狀態(tài)。程序采用掃描方式完成模擬信號(hào)采集和開(kāi)關(guān)信號(hào)采集。采集得到的數(shù)據(jù)經(jīng)過(guò)濾波、補(bǔ)償?shù)确绞教幚砗?,通過(guò)CAN通信子程序發(fā)送到CAN總線。此外,循環(huán)工作過(guò)程中,系統(tǒng)還會(huì)通過(guò)LCD子程序顯示相關(guān)信息。
3.2 信號(hào)采集程序
智能節(jié)點(diǎn)信息采集量較大,如何實(shí)現(xiàn)對(duì)多種、多路信號(hào)實(shí)時(shí)采集是系統(tǒng)設(shè)計(jì)的關(guān)鍵。電氣系統(tǒng)典型信號(hào)主要包括模擬信號(hào)、開(kāi)關(guān)信號(hào)等。
采集模擬信號(hào)時(shí),利用外部12位A/D轉(zhuǎn)換器,采用軟件查詢的方式采集模擬信號(hào)并進(jìn)行數(shù)字濾波處理。由于所要采集的模擬信號(hào)較多,因此必須實(shí)現(xiàn)采集通道動(dòng)態(tài)切換;采用定時(shí)掃描C8051F040數(shù)字I/O口的方法采集數(shù)字信號(hào)。
3.3 CAN通信程序
C8051F040內(nèi)部的CAN控制器集成了用于接收及發(fā)送的所有硬件,與使用外部CAN控制器相比,可以大大減少占用CPU的時(shí)間。CAN總線接收采用中斷方式完成,發(fā)送采用查詢方式完成。CAN總線接收和發(fā)送的流程如圖9所示。
4 結(jié)論
本文提出了一種基于C8051F040單片機(jī)的CAN總線智能節(jié)點(diǎn)設(shè)計(jì)方案。通過(guò)該智能節(jié)點(diǎn)能夠?qū)崿F(xiàn)設(shè)備的數(shù)據(jù)采集與控制,而且根據(jù)需要加入適當(dāng)算法后,還可以實(shí)現(xiàn)智能控制和故障診斷等功能。該智能節(jié)點(diǎn)已應(yīng)用于某型車輛的模擬教學(xué)平臺(tái)中,通過(guò)由16個(gè)節(jié)點(diǎn)組成的CAN控制網(wǎng)絡(luò)完成了對(duì)整個(gè)平臺(tái)設(shè)備的綜合控制,性能良好。
評(píng)論