基于AT90CAN128單片機的某車型CAN總線系統設計
2 車載CAN總線控制系統[4]的設計
由于對實時性要求比較高,所以采用高速CAN總線,信息傳輸速度為500kbps,連接的主要對象有:駕駛員計算機、發動機、自動變速器、安全氣囊、儀表信號采集系統、聯合制動系統等。由于各個節點作用不同,所以在硬件搭建和軟件設計以及通信協議的制定上都采用了相應的方案。下面以聯合制動單元為例,做具體分析。
聯合制動單元接收由駕駛員計算機終端發送的CAN總線消息命令,根據對液力制動扭矩、機械制動扭矩、合成扭矩等參數進行檢測的狀態,經過電液控制算法計算,實現前驅、后驅制動控制。對正常制動回路油位、緊急制動回路油位的報警等信息,通過CAN總線反饋給駕駛員計算機終端。
2.1 聯合制動單元硬件電路組成
以AT90CAN128單片機作為控制系統核心,外圍設有8路光隔模擬量輸入、4路模擬量輸出、多路光隔開關量輸入、輸出、LED報警及CAN總線收發器,總線的接口芯片選用的是Philips公司的PCA82C250。具體結構見圖2。
圖2、制動單元硬件框圖
2.2 通信協議制定
2.2.1 各終端消息標識符的定義
表1定義了駕駛員計算機終端及聯合制動單元之間相互通訊的消息標識符。
表1、各終端的消息標識符
采用CAN擴展幀的29位標識符進行定義,其中P為3位優先級;R為保留擴展位;8位的BW為報文類型代碼;8位的BD為目標地址或報文類型擴展碼;8位的BY為發送報文源地址。部分設備節點名稱和分配地址如下:主駕駛員終端地址10、副駕駛員終端地址20、聯合制動單元地址30。
2.2.2 各消息類型和命令值內容的定義
駕駛員計算機終端對聯合制動單元的控制消息內容為2個字節——命令類型和命令值。命令類型包括:狀態查詢命令(數據0x1,命令值0x0)、前/后驅制動命令(數據0x2/0x3,命令值0x0)、聯合制動單元前/后驅制動信息確認(數據0x4/0x5,命令值0x0)等。
評論