CAN總線/RS232接口的設(shè)計(jì)
3.2 SJAl000與驅(qū)動(dòng)器的連接
SJAl000的TX0、RX0引腳不是直接與82C250的TXD、RXD引腳相連,而是通過(guò)高速光耦6N136與82C250相連,這樣可增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,從而實(shí)現(xiàn)總線各節(jié)點(diǎn)間電氣隔離。高速光耦6N136用于保護(hù)SJAl000型 CAN總線控制器,該光耦兩側(cè)采用5 V的DC―DC電源.可使器件的VCC與VCCl完全隔離,提高系統(tǒng)的抗干擾能力以及節(jié)點(diǎn)的穩(wěn)定性和安全性。圖3所示為SJAl000與CAN驅(qū)動(dòng)器 82C250的連接電路。
4 軟件程序設(shè)計(jì)
系統(tǒng)軟件程序設(shè)計(jì)包括:主程序、CAN節(jié)點(diǎn)初始化子程序、RS232報(bào)文發(fā)送子程序、RS232報(bào)文接收子程序、CAN報(bào)文接收子程序以及CAN報(bào)文發(fā)送子程序。其主程序流程圖如圖4所示。
4.1 CAN節(jié)點(diǎn)初始化
獨(dú)立CAN控制器SJAl000必須在上電或硬件復(fù)位后設(shè)置CAN通訊。上電后SJAl000的17 引腳得到一個(gè)復(fù)位電平(低電平),使其進(jìn)入復(fù)位模式。初始化包括設(shè)置工作方式、接收濾波方式、接收屏蔽寄存器和接收代碼寄存器、波特率參數(shù)和中斷允許寄存器。初始化設(shè)置完成后,SJAl000則進(jìn)入工作狀態(tài),開(kāi)始執(zhí)行通訊任務(wù)。
評(píng)論