多路UART總線(xiàn)與CAN總線(xiàn)通訊系統設計
摘要:主要利用TI公司的多路異步收發(fā)器TL16C554和PHILIPS公司的SJA1000設計一個(gè)多路總線(xiàn)協(xié)議轉換通訊系統。為了實(shí)現4路UART總線(xiàn)與CAN總線(xiàn)之間的相互轉換過(guò)程,采用微控制器AT89S51來(lái)控制通訊數據轉換,通過(guò)硬件電路實(shí)驗和軟件調試算法,得到了4路串行總線(xiàn)與CAN總線(xiàn)之間的相互透明轉換過(guò)程。該電路系統大大方便了具有UART接口的設備進(jìn)行遠距離、多節點(diǎn)傳輸,增強了系統的通訊可靠性。
關(guān)鍵詞:UART;CAN;總線(xiàn)協(xié)議;協(xié)議轉換
由于在消費類(lèi)電子產(chǎn)品、計算機外設、汽車(chē)和工業(yè)應用中增加了嵌入式功能,對低成本、高速和高可靠通信介質(zhì)的要求也不斷增長(cháng),以滿(mǎn)足這些應用,其結果是越來(lái)越多的處理器和控制器用不同類(lèi)型的總線(xiàn)集成在一起,實(shí)現與PC軟件、開(kāi)發(fā)系統或網(wǎng)絡(luò )中其他設備的通信。微處理器中常用的集成串行總線(xiàn)是通用異步接收器傳輸總線(xiàn)、串行通信接口以及車(chē)用串行總線(xiàn),包括控制器局域網(wǎng)(CAN)。這些總線(xiàn)在速度、物理接口要求和通信方法學(xué)上都有所不同。本文主要利用TI公司的多路異步收發(fā)器TL16C554和PHILIPS公司的SJA1000實(shí)現一個(gè)4路UART總線(xiàn)與CAN總線(xiàn)之間的相互通訊過(guò)程。
1 UART與CAN介紹
UART模塊采用TI公司的TL16C554,它是含有4路16C550的增強型異步通訊電路,每路通道能從外圍設備或MODEM接收數據,實(shí)現串并轉換;同時(shí),也可以從CPU端接收數據,實(shí)現并串轉換。TL16C554內部具有16 B的接收和發(fā)送FIFO,在FIFO模式下,通過(guò)使用RTS和CTS輸入信號可以自動(dòng)控制串行數據流,可選的自動(dòng)流控制特性大大降低了軟件規模,提高了系統效率。TL16C554也可以通過(guò)FIFO觸發(fā)點(diǎn)與TXRDY或RXRDY信號實(shí)現DMA模式的數據傳輸,片內的狀態(tài)寄存器為用戶(hù)提供錯誤指示、器件的工作狀態(tài)和調制解調器接口控制??赏ㄟ^(guò)調整系統中斷來(lái)滿(mǎn)足用戶(hù)的要求,內部的環(huán)回模式實(shí)現了片內的故障診斷。TL16C554電路的串行數據格式為:
這些數據格式主要通過(guò)電路的線(xiàn)控制寄存器來(lái)進(jìn)行控制,其中起始位為低電平“0”;數據位長(cháng)度可選擇5~8位;奇偶校驗位可選擇為奇校驗、偶校驗或無(wú)校驗;停止位可選擇1位、2位或1/2位。
CAN模塊采用一種獨立的CAN控制器SJA1000,主要用于移動(dòng)目標和一般工業(yè)環(huán)境中的區域網(wǎng)絡(luò )控制,是PHILIPS公司半導體PCA82C200CAN控制器的替代產(chǎn)品。SJA1000具有BasicCAN和PeliCAN 2種工作方式。BasicCAN模式是上電后默認的操作模式,而PeliCAN模式是新的操作模式,它能夠處理所有CAN2.0B規范的幀類(lèi)型,而且它還提供一些增強功能,使SJA1000能應用于更寬的領(lǐng)域。
其中SJA1000的數據幀格式為:
評論