多路UART總線與CAN總線通訊系統設計
2 系統設計
系統總體電路圖如圖1所示,主要有3個部分組成,UART模塊、CAN模塊和微控制處理器。UART模塊采用TI公司的TL16C554,它是一個4路通用異步收發器,每路均能從外圍設備或MODEM接收串行數據,實現串一并轉換;同時,它也可以從CPU端接收數據,實現并一串轉換。本文引用地址:http://www.104case.com/article/159896.htm
CAN模塊采用PHILIPS公司的SJA1000,它是一種獨立的CAN控制器兼容CAN2.0A和CAN2.0B兩種技術規范。微控制器采用8位單片機AT89S 51,主要對UART模塊和CAN模塊進行初始化控制,并產生串行數據輸送給UART模塊。
2.1 UART模塊通訊設計
UART模塊通訊設計主要利用單片機控制4路異步收發器TL16C554。單片機首先通過數據線D7~D0、地址線A2~A0初始化TL16C554,配置好串行傳輸波特率、字符格式以及中斷控制信號等寄存器,并通過4路通道的片選信號CSA,CSB,CSC和CSD選通其中的一路。利用單片機自身的串行接口發送串行數據,送入TL16C554,UART模塊接收到串行數據后,將其轉換成并行數據存入FIFO中,并通知單片機數據轉換完成,單片機從UART模塊的FIFO中讀取數據,并準備好發送給CAN模塊。通訊流程圖如圖2所示。
如果要實現多路UART總線與CAN總線通訊,利用通道各自的片選信號進行控制,在一路通道轉換結束后再進行選通另一路通道,相互之間必須進行分時操作,協調處理。
評論