(1)CAN總線兩端接有一個120Ω的電阻,其作用是匹配總線阻抗,提高數(shù)據(jù)通信的抗干擾性及可靠性。但實際上只需保證CAN網(wǎng)絡中“CAN_H”和“CAN_L”之間的跨接電阻為60Ω即可。
(2)SJAl000的20引腳RXl在不使用時可接地,配合CDR.6的置位可使總線長度大大增加。
(3)引腳TX0,TXl的接法決定了串行輸出的電平。具體關(guān)系可參考輸出控制寄存器OCR的設置。
(4)AT82C250的RS引腳與地間接有1個斜率電阻。電阻大小可根據(jù)總線通信速度作適當調(diào)整,一般在16~140kΩ之間。
(5)MAX232外圍需要4個電解電容C1,C2,C3,C4,這些電容也是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為1μF/25V,宜選用鉭電容并且位置應用量靠近芯片,電源Vcc和地之間要接1個0.1μF的去耦電容。
在微處理控制下,RS232和CAN進行數(shù)據(jù)交換時,采用串口接收和CAN中斷方式可提高工作效率。SJAl000的初始化在復位模式下才可以進行,主要包括工作方式的設置、時鐘分頻和驗收濾波寄存器的設置、波特率參數(shù)的設置以及中斷允許寄存器的設置等。其主程序流程圖如圖3所示。

數(shù)據(jù)能否準確傳遞還取決于波特率和流量控制,這也是軟件設計時不可忽略的地方。因此接下來主要介紹CAN波特率的設置、串口波特率的自動檢測、串口數(shù)據(jù)流量控制。
CAN協(xié)議中的要素之一是波特率??梢栽O置位周期中的位采樣點位置和采樣次數(shù),以使可以自由地優(yōu)化應用網(wǎng)絡性能,但在優(yōu)化過程中,要注意位定時參數(shù)基準參考振蕩器的容差和系統(tǒng)中不同信號傳播延遲之間的關(guān)系。










