CAN總線在多機(jī)通信中的應(yīng)用
(6)設(shè)計(jì)僅用到TX0和RX0引腳,根據(jù)SJA1000T通信協(xié)議所要求的輸入/輸出邏輯電平關(guān)系,SJA1000T的TX1腳懸空,RX1引腳的電位必須維持在0.5 Vcc以上,所以在TX1引腳接上約6.8 kΩ和3.6 kΩ分壓電阻。
(7)微處理器C51的引腳P2.7接CAN控制器SJA1000T的片選信號(hào)/CS,可知CAN控制器SJA1000T的寄存器首地址為8000H。處理器C41和CAN控制器SJA1000T共用12 MHz的晶振,以提高通信速率。
通過(guò)上述分析,設(shè)計(jì)的電路原理圖,如圖2所示。本文引用地址:http://www.ex-cimer.com/article/156563.htm
3 系統(tǒng)通信模塊的軟件設(shè)計(jì)
通信模塊的軟件由3部分組成:初始化程序,發(fā)送程序和接受程序。僅這3部分程序,就能完成通信節(jié)點(diǎn)間信息的傳遞。要將CAN總線應(yīng)用于更復(fù)雜的通信系統(tǒng)中,還要考慮CAN總線的錯(cuò)誤處理,超載處理等功能和節(jié)點(diǎn)間的計(jì)算方法。由于每個(gè)通信節(jié)點(diǎn)都有自己的MCU,所以它們之間可以自由通信。通過(guò)CAN收發(fā)器PCA82C250的引腳CANH和CANL對(duì)總線輸出,使總線表現(xiàn)“顯性”,這時(shí)可發(fā)送信息。判斷總線表現(xiàn)為“顯性”時(shí),就要為接受信息做好準(zhǔn)備。
3.1 CAN控制器SJA1000T初始化程序
該程序首先進(jìn)入復(fù)位狀態(tài),設(shè)置SJAl000T的模式寄存器MR為Basic CAN模式,驗(yàn)收碼寄存器ACR和屏蔽碼寄存器AMR,再設(shè)置定時(shí)器0和定時(shí)器1,輸出控制寄存器OCR,重新設(shè)置控制寄存器CR,返回到正常工作模式下。初始化程序流程圖如圖3所示。
評(píng)論