基于CAN總線的汽車車身控制系統的研究與應用
以下是各模塊的電路框圖見圖2、圖3、圖4。

3.2 系統主要使用的元器件
(1)CAN控制器。考慮到系統拓展的需要,我們采用PHILIPS公司生產的SJA 1000來作為此系統的CAN控制器。它既和PCA82C200獨立CAN控制器引腳兼容,又和PCA82C200獨立CAN控制器電氣兼容;既支持BasicCAN模式,又支持PeliCAN模式;和CAN2.0B協議兼容;可同時支持11位和29位識別碼;位速率可達1Mbits/s。
(2)CAN收發器。采用PHILIPS公司生產TJA1050,跟PCA82C250一樣,TJA 1050符合ISO 11898標準,但在關鍵的AM波段上它的輻射比PCA82C250低20dB以上。在不上電時總線呈現無源特性。
(3)單片機。采用P89C51。該單片機是80C51微控制器的派生器件,是采用先進CMOS工藝制造的8位微控制器,指令系統與80C51完全相同。
在CAN 總線構成的系統中,用戶要根據自己的要求來編寫應用層和用戶層軟件。用戶層實現用戶要求的控制策略和系統,而應用層則是在用戶層與接口之間,CAN建立了報文發送時的方法、信號電平及協議,應用層則定義了結構、響應及報文的意義,應用層要根據CAN系統應用場合的不同而有所變化。
4.1 CAN控制器的初始化
CAN控制器SJA1000在正式收發信號之前必須進行初始化設置。對SJA 1000的初始化是對工作方式、接收濾波寄存器、接收屏蔽寄存器、接收代碼寄存器、波特率參數等的設置,要求對寫入每個寄存器的內容進行仔細和全面的考慮。
4.2 CAN總線上數據的發送和接收
對SJA 1000初始化成功后,就可以用它來傳輸和接收報文。節點向總線發送報文的過程是:單片機P89C51將待發送的數據按CAN格式組成一幀報文,寫入SJA1000的發送緩沖區,然后啟動SJA1000,把報文發送到總線上去。接收報文的過程是:SJA 1000從總線上自動接收報文,并經過過濾后存入接收緩沖區,并向單片機發出中斷請求,單片機從緩沖區讀取報文。發送和接收流程見圖6、圖7。 












評論