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