本系統的處理器LPC2119需要兩組電源 - 3.3V和1.8V,其中1.8V為處理器的內核電源,3.3V為處理器的I/O電源,電路如下:

由于CAN總線現場的電磁干擾非常強,所以需要對CAN電源進行單獨隔離,避免干擾處理器的正常運行。主要就是采用一個隔離芯片,電路如下:

III、CAN收發電路
該部分是系統的核心部分。共有兩路完全相同的電路分別掛在兩路CAN總線上。
電路如下:

CAN電路部分與處理器部分需要通過光耦進行電氣隔離。采用了高速光耦芯片
TLP113。CAN收發器芯片采用TJA1050,該芯片的主要特點有:
●高速 (高達 1 Mbaud)
●至少可以連接110個節點
●總線保護及終端保護功能
●符合ISO 11898 標準
從上圖可以看出,在結構上,CAN收發器TJA1050左側連接系統處理器,右側連接CAN總線。實現了單片機對CAN總線數據的操作。本文引用地址:http://www.104case.com/article/201612/330345.htm三、軟件設計
CAN 是一種實時數據總線,它不需要給出信號接受者的地址,信號發送者將安全編碼后的數據發給所有的接受者。高速的CAN 總線每毫秒內可傳送32bytes 有效數據。每個信號接受者從總線上讀取其所需的數據。CAN總線數據的收發遵循CAN-BUS 2.0協議,運用到汽車上即為J1939協議。CAN-BUS 技術減少了線束的數量和控制器接口的引腳數,與此同時可以更簡單、迅速地實現在線編程、診斷,甚至多個控制器共同作用等新功能。 當停車發動機熄火時,CAN-BUS 的舒適型系統將自動處于休眠狀態,整個系統處于最低耗電狀態,從而節省能源的消耗。一旦接受到車門開啟等信號,無需發動機啟動,系統立即被喚醒而激活,開始接受各處節點傳遞的信息。本裝置主要負責兩條CAN總線上數據的互相轉發,并不對數據作任何改動或診斷,即全透明傳輸.設置高速CAN總線上的數據傳送速率為500K,低速CAN總線上的數據傳送速率為125K.汽車上的每個電子模塊均有CAN接口,以連接到CAN總線上.汽車運行時,所有電子模塊均通過各自的CAN接口向CAN總線發送系統實時數據,而需要CAN數據的模塊則從CAN總線接收數據,然后再作處理或診斷.軟件總體架構采用中斷結構,數據幀采用8位標準幀格式.該車載網關控制器的軟件流程圖如下:

主程序流程圖

中斷服務程序流程圖
目前CAN總線在汽車上已經得到廣泛應用,包括雅閣、新天籟、邁騰、領域、奧迪、寶馬、奔馳、凌志等!
評論