多路UART總線與CAN總線通訊系統設計
2.3 通訊過程
系統通訊電路圖如圖1所示,為了能實現UART與CAN之間的相互通訊,采用2個圖1所示的電路圖,將CAN收發器的CANH,CANL連接在一起,形成2個CAN節點,如圖4所示。這樣就能實現UART→CAN→CAN→UART的通訊過程。在節點1中,單片機首先發送8個串行數據55,56,…,5B.5C(16進制)送給TL16C554的串行通道,UART模塊接收到串行數據后由SJA1000轉換成CAN總線數據A1,A2,A3,A0,08,55,56,…,5C,65,61(16進制),其中A1,A2,A3,A0,08為PeliCAN模式下的識別碼和幀信息,65,61為CRC校驗碼。轉換成CAN總線后通過CANH、CANL將數據送入節點2的CAN模塊,SJA1000接收到數據后由TL16C554轉換成串行數據88,A1,A2,A3,A0,55,56,…,5B,5C(16進制)發送出去,其中88,A1,A2,A3,A0為幀信息和識別碼。示波器采集的通訊波形圖如圖5所示。本文引用地址:http://www.104case.com/article/159896.htm
為了能使轉換結果更清楚的顯示,將TL16C554的TXA通過RS 232串行數據線連接到PC機,硬件連接如圖6所示。這樣最終轉換的UART數據就可以通過PC機顯示出來,結果如圖7所示。
3 結語
本文設計了一個多路UART總線與CAN總線進行相互通訊的轉換系統,從測試結果來看,該沒計系統完全可以實現兩者間的透明轉換。利用CAN總線傳輸距離長、通訊靈活等優點,該系統可以有效的延長UART串行總線的通訊距離、提高傳輸速率,大大方便了具有UART接口的設備進行遠距離、多節點傳輸。
評論