多功能嵌入式車輛行駛監控終端設計
2.3 CAN總線接口功能設計
CAN正常工作需要具備CAN控制器以及CAN總線驅動器。前者實現網絡層次結構中數據鏈路層和物理層的功能,后者則提供CAN控制器與物理總線之間的接口以及對CAN總線的差動發送和接收功能。LPC2292微控制器包含兩個CAN控制器,單個總線上的數據傳輸速率高達1 Mbps,具有32位寄存器和RAM訪問功能,帶有全局濾波器和驗收濾波器。本系統采用CTM8251D雙路帶隔離CAN收發器,至少可連接110個節點,通過擴展CAN總線接口,使得串行通信方式的選擇更加多樣化。當車內儀表也具有CAN總線接口的時候,它們可以直接利用此接口與記錄儀通信。CAN總線接口電路如圖4所示。
CAN通信與一般的串口通信類似,在數據通信前先要對CAN總線進行初始化操作,包括CAN控制器的選擇、數據寄存器的設置、通信波特率的設置等。初始化完成后,需要設置雙方的通信協議,建立彼此的連接。只有在同一協議下工作的雙方才能正確進行數據的交換。本系統設置的CAN通信協議為:無過濾條件、 bypass模式、波特率可以預先設置。
本系統提供的CAN-BUS通信函數接口如下:
①初始化CAN:int CAN_Init(int cannum,uint32volatile baudset)。
函數入口參數:cannum為CAN控制器的選擇標志符,為1選擇CAN0控制器,為2選擇CAN1控制器;baudset為波特率,可以預先設置。
函數出口參數:初始化成功返回0,失敗則返回1。
函數功能:對CAN控制器進行初始化。
評論