CAN總線(xiàn)技術(shù)學(xué)習(一)
為了全面了解CAN總線(xiàn),需要先對其有個(gè)整體的概念,這中間還有一個(gè)小故事,一個(gè)應屆畢業(yè)生到公司去應聘,負責招聘的經(jīng)理問(wèn)他:“你會(huì )哪方面的技術(shù)?”,畢業(yè)生說(shuō):“我會(huì )CAN總線(xiàn)”,經(jīng)理疑惑的問(wèn):“你會(huì )看什么總線(xiàn)?”。那么什么是CAN總線(xiàn)呢?
1、 首先CAN總線(xiàn)是一種串行總線(xiàn),不是并行的,是用來(lái)傳輸電子數據的,就像串口總線(xiàn)、USB總線(xiàn)、以太網(wǎng)一樣;
2、 CAN總線(xiàn)是半雙工傳輸模式,發(fā)的時(shí)候不能收,收的時(shí)候不能發(fā);
3、 CAN總線(xiàn)使用雙線(xiàn)傳輸,一根定義為CAN_H,一根定義為CAN_L,使用差分信號傳輸(差分信號就是通過(guò)計算兩線(xiàn)壓差);
4、 CAN總線(xiàn)的波特率最高可達1Mbps,傳輸距離最遠10公里,傳輸波特率和傳輸距離成反比,波特率越高有效傳輸距離越短;
5、 組網(wǎng)時(shí)總線(xiàn)兩端CAN_H和CAN_L之間要分別連接一個(gè)120歐的終端電阻(起吸收反射波、高頻抗干擾的作用)。
那么CAN總線(xiàn)有什么優(yōu)勢呢?
1、 CAN總線(xiàn)作為現場(chǎng)總線(xiàn)只有兩根傳輸線(xiàn),比以太網(wǎng)組網(wǎng)簡(jiǎn)單,成本也低很多,在不需要大數據量傳輸的設備通訊上有相當的優(yōu)勢;
2、 CAN總線(xiàn)使用差分信號和屏蔽線(xiàn)傳輸,抗干擾能力強,數據傳輸穩定,因為在某點(diǎn)有干擾時(shí)兩根信號會(huì )被同步干擾,不會(huì )影響信號傳輸的信息;
3、 CAN總線(xiàn)波特率最高可達1Mbps,傳輸速率相對串口快很多,同時(shí)總線(xiàn)協(xié)議中加入CRC校驗,相對于串口的奇偶校驗,數據安全性強;
4、 CAN總線(xiàn)使用差分雙線(xiàn)傳輸,易于組網(wǎng),布線(xiàn)簡(jiǎn)單;
5、 CAN總線(xiàn)通訊不分主從,網(wǎng)絡(luò )上每個(gè)設備都可以主動(dòng)發(fā)送數據;
6、 CAN總線(xiàn)協(xié)議應用非破壞性逐位仲裁機制,即通過(guò)發(fā)送幀的幀ID的大小作為優(yōu)先級判斷網(wǎng)絡(luò )上數據發(fā)送沖突,優(yōu)先級高的信息發(fā)送,優(yōu)先級低的數據停止發(fā)送,極大提供總線(xiàn)的利用率;
7、 CAN總線(xiàn)協(xié)議設置對發(fā)送的自動(dòng)重發(fā)機制,當發(fā)送監測到發(fā)送沖突時(shí),停止發(fā)送,等總線(xiàn)空閑后自動(dòng)重發(fā);
8、 通過(guò)設置總線(xiàn)控制器中驗收寄存器和屏蔽寄存器,可以使節點(diǎn)在硬件層允許接收某些幀或屏蔽接收某些無(wú)用幀,節約單片機ECU接收和判斷處理的時(shí)間。
綜上所述,CAN總線(xiàn)在設計成本、傳輸速率、傳輸穩定性、傳輸安全性、易于組網(wǎng)以及總線(xiàn)協(xié)議完善設計方面的優(yōu)勢,使其在現代汽車(chē)、工控局域網(wǎng)絡(luò )領(lǐng)域得到廣泛的應用。
CAN總線(xiàn)既然作為一種現場(chǎng)總線(xiàn),用途就是在不同設備間傳輸數據,基本的邏輯框圖如圖1所示:

圖1CAN總線(xiàn)邏輯框圖
CAN總線(xiàn)通訊主要包括:主控制器(一般為單片機)、CAN總線(xiàn)控制器(圖例為SJA1000,方框中為一個(gè)芯片器件)和收發(fā)器,主控制器初始化設置CAN總線(xiàn)控制器工作,CAN總線(xiàn)控制器為主要CAN總線(xiàn)邏輯器件,負責將數據轉換為總線(xiàn)協(xié)議串行信號和將收發(fā)器接收到的信號轉換為有效數據,并屏蔽無(wú)效數據,監測故障錯誤并報告,收發(fā)器將CAN總線(xiàn)收發(fā)信號轉換成半雙工CAN總線(xiàn)差分信號。有的單片機將CAN控制器芯片功能集成在單片機中,如富士通MB90340系列、STM32f10x系列等。
CAN總線(xiàn)組網(wǎng)的邏輯框圖如圖2所示:
如圖所示,多個(gè)CAN總線(xiàn)節點(diǎn)通過(guò)差分信號連接到CAN總線(xiàn)網(wǎng)絡(luò )上,網(wǎng)絡(luò )兩端(CAN_H和CAN_L之間)分別連接一個(gè)120歐姆的終端電阻(吸收反射波,抗干擾)。各節點(diǎn)不分主從,都可以主動(dòng)向總線(xiàn)上發(fā)送CAN信息,也可以設置CAN控制器的驗收屏蔽寄存器有選擇的接收總線(xiàn)上的信息。

圖2CAN總線(xiàn)網(wǎng)絡(luò )框圖
評論