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