基于CAN總線的87C196CA在單片機(jī)串行通訊的應(yīng)用
1 前言
CAN 是國際上應(yīng)用很廣泛的一種現(xiàn)場總線,MCS96 系列單片機(jī)是目前在工業(yè)界推廣應(yīng)用較廣泛的嵌入式控制器,其87C196CA 單片機(jī)內(nèi)核本身帶有CAN 控制器,支持標(biāo)準(zhǔn)和擴(kuò)展的信息幀,即遵循CAN2.0A 和CAN2.0B 協(xié)議。由此而構(gòu)成的CAN 總線支持分布式控制和實時控制,其串行通信方式靈活可靠,傳輸距離較遠(yuǎn)。由于CAN 總線具有通信速率高、工作可靠性高、現(xiàn)場抗干擾能力強(qiáng)、網(wǎng)絡(luò)連接方便和性能價格比高等優(yōu)點,在汽車發(fā)動機(jī)控制部件、汽車抗滑系統(tǒng)、工業(yè)自動化、機(jī)床、電梯控制等領(lǐng)域得到了較為廣泛的應(yīng)用。
2 硬件構(gòu)成
2. 1 CAN 總線連接
基于CAN 總線的兩個87C196 單片機(jī)網(wǎng)絡(luò)聯(lián)接時,分別將單片機(jī)的CAN接收、發(fā)送兩根線通過PCA82C250 CAN總線收發(fā)器聯(lián)接到CAN總線上,構(gòu)成多微控制器CAN總線連接。通信介質(zhì)可以是雙絞線、同軸電纜或光纖,其總線連接如圖1 所示。
該網(wǎng)絡(luò)最高通信速率為1Mbit/s ,當(dāng)傳輸速率為5Kbit/s時,最大通信距離可達(dá)10Km。在其CAN 總線上可掛接多達(dá)110 個網(wǎng)絡(luò)節(jié)點,而網(wǎng)絡(luò)上任意一個節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息。其數(shù)據(jù)傳輸和接收可以是點對點、一點對多點或全局廣播等方式進(jìn)行。
2. 2 87C196CA 單片機(jī)
87C196CA 是集成CAN2.0B總線控制器的高性能16 位微處理器,特別適用于現(xiàn)場實時事件控制和分布式控制。片內(nèi)的CAN 控制器與Intel 82527獨立CAN 控制器在軟件上是兼容的,每個CAN 控制器的輸入、輸出引腳由二根雙絞線聯(lián)接到CAN總線上。CAN 控制器由一個輸入引腳(RXCAN) 、一個輸出引腳( TXCAN) 、控制和狀態(tài)寄存器,錯誤探測和管理邏輯組成。圖2 為CAN 控制器方框圖。
2. 3 CAN 總線收發(fā)器
PCA82C250 是CAN協(xié)議控制器和物理傳輸線路之間的接口,是影響網(wǎng)絡(luò)性能的關(guān)鍵因素。它對總線提供差動發(fā)送能力,并對CAN控制器提供差動接收能力,其最高傳輸速率可達(dá)1Mbit/s。其主要特點是芯片內(nèi)部具有限流電路,可以防止輸出級對電源、地或負(fù)載短路;由于采用差動接收發(fā)方式,因此有較強(qiáng)的抗電磁干擾能力;具有低電流節(jié)電待機(jī)工作模式;該CAN總線收發(fā)器至少可以連接110個節(jié)點。利用PCA82C250還可以方便地在CAN控制器與驅(qū)動器之間建立光電隔離, 以實現(xiàn)總線上各節(jié)點間的電氣隔離。
評論