分析及應(yīng)用CAN接口典型電路
CAN總線簡介CAN是Controller Area Network 的縮寫,目前CAN總線被廣泛的應(yīng)用在汽車電子領(lǐng)域和工業(yè)的現(xiàn)場總線中,相比于RS485而言,CAN總線具有如下特點(diǎn):
通信速率可達(dá)到1Mbps(通信距離小于40米);
通信距離可達(dá)10Km(通信速率小于5Kbps);
無主從之分,任意節(jié)點(diǎn)之間可以進(jìn)行數(shù)據(jù)交互;
仲裁機(jī)制明顯,多節(jié)點(diǎn)同時通信不會造成總線擁堵;
錯誤處理機(jī)制豐富,可保證CAN通信的穩(wěn)定可靠;
標(biāo)識符ID有標(biāo)準(zhǔn)幀(11位ID)和擴(kuò)展幀(29位ID)之分;
硬件設(shè)計(jì)思路本文主要介紹片上CAN接口電路的設(shè)計(jì),不討論SJA1000的硬件設(shè)計(jì)。
現(xiàn)在mcu種類繁多,片上資源豐富,很多8位、32位單片機(jī)都帶有片上CAN資源,所以用戶在使用片上CAN總線時主要考慮選擇合適的電平轉(zhuǎn)換芯片就可以,這樣可大大降低設(shè)計(jì)的難度,而且還能提高硬件的穩(wěn)定性。
在用單片機(jī)設(shè)計(jì)CAN接口電路的時候,必須要考慮電平的轉(zhuǎn)換情況,所以有兩個問題你要有概念:
單片機(jī)的電平是TTL電平;
CAN的電平是以CANH、CANL兩線之間的差分電壓定義的;
TTL電平與CAN電平不兼容;
所以在設(shè)計(jì)電路的時候,必須想到要電平轉(zhuǎn)換,這也是該電路的設(shè)計(jì)核心,幸好很多半導(dǎo)體公司都替你想好了,所以你只需要選擇一款合適的CAN收發(fā)器芯片就可以了。常用的CAN收發(fā)器芯片有:42675,PCA82C250等。
CAN典型電路以片上CAN資源為核心,配合CAN收發(fā)芯片所設(shè)計(jì)的電路如下:
從圖中可以看出,CAN接口電路非常簡單,這種接口類的技術(shù),一般硬件電路教簡單,麻煩的是協(xié)議。
抗干擾設(shè)計(jì)
通訊隔離
為了提高CAN總線的穩(wěn)定性,一般將CAN總線與單片機(jī)網(wǎng)絡(luò)隔離開來,與RS485電路不同的是,CAN總線與單片機(jī)相關(guān)的引腳只有兩個,所以使用一個雙通道數(shù)字隔離芯片就可以完成了,隔離電路如下圖所示。
限流保護(hù)
防止CAN總線的電流過大將芯片燒壞,可以在總線上串入自恢復(fù)保險絲,當(dāng)電流過大時,保險絲熔斷,電流恢復(fù)正常時保險絲自恢復(fù)。