基于CAN總線的電動汽車數字控制系統研究
電動汽車是集計算機技術、通信技術、電子技術、新材料技術等一體化的高科技產品,其結構復雜,有多種相互作用卻又相對獨立的部件,且車載環境較惡劣,有很強的干擾,用模擬量的控制可靠性不高。先進高效的控制體系結構,可以使電動汽車各系統之間的數據交換滿足簡單迅速、可靠性高、抗干擾能力強、實時性好、系統錯誤檢測和隔離能力強等要求。本文采用了先進的計算機技術和CAN總線技術,集智能控制、信號采集、數據處理和通信于一體,控制實時性好,可實現整車控制智能化和多傳感器信息的有效融合。
1 CAN總線的簡介
CAN(ControllerAreaNewtork)即控制器局域網,是一種先進的串行通信協議,屬于現場總線范圍。CAN總線是最初由德國Bosch公司在80年代初期,為了解決現代汽車中眾多的控制與測試一起之間的數據交換而開發的一種串行數據通信協議,目的是通過較少的信號線將汽車上的各種電子設備通過網絡連接起來,并提高數據在網絡中傳輸的可靠性,CAN總線具有較強糾錯能力,支持差分收發,因而適合高噪聲環境,并具有較遠的傳輸距離,特別適合于中小型分布式測控系統,目前己在工業自動化、建筑物環境控制、機床、醫療設備等領域得到廣泛應用。CAN總線具有以下幾個重要特點:
1)結構簡單,只有兩根線與外部相連,且內部含有錯誤探測和管理模塊。
2)通信方式靈活。可以多種方式工作,網絡上任意一個節點均可在任意時刻主動的向網絡上的其他節點發送信息,而不分主從。
3)可以點對點、點對多點及全局廣播方式發送和接受數據。
4)網絡上的節點信息可分成不同的優先級,可以滿足不同的實時要求。
5)CAN通訊格式采用短幀格式,每幀字節數最多為8個,可滿足通常工業領域中控制命令、工作狀態和測試數據的一般要求。同時,8個字節也不會占用總線時間過長,從而保證了通訊的實時性。
6)采用非破壞性總線仲裁技術。當兩個節點同時向總線上發送數據時,優先級低的節點主動停止數據發送,而優先級高的節點可以不受影響繼續傳輸數據,這大大地節省了總線仲裁沖突時間,在網絡負載很重的情況下也不會出現網絡癱瘓。
7)直接通訊距離最大可達1k0m(速率在5kb/S以下),最高通訊速率可達1Mb/s(此時距離最長為40m)。節點數可達110個,通信介質可以是雙絞線、同軸電纜或光導纖維。
8)CAN總線通訊接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢驗、優先級判別等項工作。
9)CAN總線采用CRC檢驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。
2 系統設計
電動汽車數字控制系統主要由電機驅動控制系統,電池管理系統,動力裝置的冷卻系統,汽車電器、儀表顯示、供電系統,信息通信系統等組成。電動汽車采用雙CAN總線結構,電機驅動控制系統、電池管理系統和信息通信系統均采用高速CAN總線通信;動力裝置的冷卻系統,汽車電器、儀表顯示、供電系統采用低速CAN總線系統;高、低速CAN總線系統之間采用網關進行交換,如圖1所示,CAN總線符合CAN.20B標準和15011898國際標準。通信介質采用普通屏蔽雙絞線。
選擇合適的MCU是CAN總線數字儀表控制系統設計成功的關鍵。它必須能適應各類復雜監控系統的要求,如實時性、低功耗、快速數據處理、集成數模外設功能、集成CAN總線接口,還應該集成充足的Flash或RAM供程序、數據存儲,以簡化電路,提高系統的可靠性。此外,它還要具有低成本和惡劣環境下的適應性。在綜合比較了當前業界流行的幾款MCU,如DSP2000系列、ATM89系列和C8051F系列之后,最終選擇了Cygnal的C805lF這一系列高性能8位單片機。
C8051F系列單片機是完全集成的混合信號系統級芯片SOC具有與MCS51完全兼容的指令內核。由于采用了流水線處理技術,不再區分時鐘周期和機器周期,大大提高了指令執行效率,使其處理速度不遜于許多16位單片機。在低功耗的同時它還擁有著控制系統所需的豐富模擬、數字外設,大量的外設功能接口,通過交叉開關表分配到64個I/O引腳,這一獨創性設計使得芯片集成度大大增高。此外,C805lF還采用了Flash ROM技術,集成了JTAG,實現了真正的在線編程和片上調試。
3 接口電路設計
系統中選用Phliips公司的CAN總線收發器PCA82C250,PCA82C250是CAN控制器和物理層總線之間的接口,符合CAN國際標準15011898,它可以提供總線的差動發送能力和接收能力。用PCA82C250的目的是為了增大通信距離,提高系統的瞬間抗干擾能力,保護總線,降低射頻干擾,實現熱防護等。PCA82C250允許的最高通信速度可達lMbps,最多節點數可達110個節點。它可以使系統具有較好的開放性和靈活性,即使該CAN總線在不要求所有節點及其應用層改變任何軟件和硬件的情況下,可自由地增加或減少控制器節點。
C805lF040內集成了完全支持CAN2.0A和CAN2.0B的CAN控制器,獨立的消息RAM可以處理32條消息對象,每個消息對象都可以進行發送和接收濾波,最高工作速率達到1Mb/s,能夠完成CAN總線協議數據鏈路層和應用層的所有功能;其中CAN總線的競爭處理、CPU接口、同步、數據的一貫性以及連續性保證,都是由硬件來解決,CPU因此得以騰出大量的精力來處理其他的用戶功能。以上這些特性,使得C805lF040成為CAN總線節點微控制器的良好選擇。因而系統不需要專門的CAN控制器。通訊接口電路設計如圖2所示,82C250是CAN控制器和物理總線間的接口,它是專用的CAN驅動芯片,提供對總線的差動發送和接收功能。為了增強CAN通信的抗干擾能力,在緩沖器和CAN驅動之間設計了光電隔離電路。采用的是高速光電隔離芯片6N137,輸入與輸出的供電電壓也都采用5V。同時為了避免電源引起的干擾,CAN通信部分采用單獨的DC―DC電源模塊供電。
評論