電子百科
CAN具有十分優(yōu)越的特點(diǎn),使人們樂于選擇。這些特性包括:
1、低成本;
2、極高的總線利用率;
3、很遠(yuǎn)的數(shù)據(jù)傳輸距離(長達(dá)10Km);
4、高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbit/s);
5、可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文;
6、可靠的錯誤處理和檢錯機(jī)制;
7、發(fā)送的信息遭到破壞后,可自動重發(fā);
8、節(jié)點(diǎn)在錯誤嚴(yán)重的情況下具有自動退出總線的功能;
9、報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息、優(yōu)先級信息。
(1)它是一種多主總線,即每個節(jié)點(diǎn)機(jī)均可成為主機(jī),且節(jié)點(diǎn)機(jī)之間也可進(jìn)行通信。
(2)通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通信速率可達(dá)1Mb/s。
(3)CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余校驗(yàn)、優(yōu)先級判別等項(xiàng)工作。
(4)CAN協(xié)議的一個最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,雨代之以對通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)是可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個不同的數(shù)據(jù)塊,這種數(shù)據(jù)塊編碼方式,還可使不同的節(jié)點(diǎn)同時接收到相同的數(shù)據(jù),這一點(diǎn)在分步式控制中非常重要。
(5)數(shù)據(jù)段長度最多為8個字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,從而倮證了通信的實(shí)時性。
(6)CAN協(xié)議采用CRC檢驗(yàn)并可提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN總線所具有的卓越性能、極高的可靠性和獨(dú)特設(shè)計(jì),特別適合工業(yè)設(shè)各測控單元互連。因此備受工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場總線之一。
所有CAN總線通信在應(yīng)用上都是一致的,但有兩種硬件和兩個版本的數(shù)據(jù)格式,分為基本型和完全型,如圖1所示。幾乎所有新的處理器內(nèi)部嵌入的CAN總線模塊都支持這兩種操作模式,其中基本型主要用于對成本要求比較敏感的系統(tǒng)中。
基本型(BASIC—CAN)主要有以下特點(diǎn):
●MCU內(nèi)核和CAN總線模塊采用閉環(huán)連接方式;
●有1個發(fā)送緩沖;
●有2個接收緩沖;
●需要使用軟件選擇輸入的消息。
完全型(FULL—CAN)主要有以下特點(diǎn):
●提供消息服務(wù);
●對輸人消息進(jìn)行更大范圍的接收濾波;
●郵箱允許用戶配置;
●郵箱的存儲區(qū)以及郵箱的大小與具體的芯片有關(guān);
●先進(jìn)的錯誤識別功能。
此外,CAN2.OB總線規(guī)范定義了 2種不同的數(shù)據(jù)格式(標(biāo)準(zhǔn)幀和擴(kuò)展幀),其主要區(qū)別在于標(biāo)識符域的長度不同:標(biāo)準(zhǔn)幀有II位的標(biāo)識符,擴(kuò)展幀有29位的標(biāo)識符,如圖1所示。CAN總線的標(biāo)準(zhǔn)數(shù)據(jù)幀的長度是44~108位,而擴(kuò)展數(shù)據(jù)幀的長度是64~128位。根據(jù)數(shù)據(jù)流代碼的不同,標(biāo)準(zhǔn)數(shù)據(jù)幀可以插入28位填充位,擴(kuò)展數(shù)據(jù)幀可以插人28位填充位。因此,標(biāo)準(zhǔn)數(shù)據(jù)幀最長為131位,擴(kuò)展數(shù)據(jù)幀最長為156位。
圖1 CAN總線應(yīng)用類型
圖2 數(shù)據(jù)格式類型
圖1給出了構(gòu)成標(biāo)準(zhǔn)/擴(kuò)展數(shù)據(jù)幀各位在整個數(shù)據(jù)幀中的位置,主要包括:
●幀起始位;
●包含標(biāo)識符和發(fā)送消息類型的仲裁域;
●包含數(shù)據(jù)位數(shù)的控制域;
ELTMS320X281x∶DSP jffilE& C柳;ffilBTT,荃∶
●最多8字節(jié)的數(shù)據(jù)域;
●循環(huán)冗余檢查位(CRC);
●應(yīng)答位;
●幀結(jié)束位。
圖3 數(shù)據(jù)幀格式
CAN總線消息主要由仲裁區(qū)、數(shù)據(jù)區(qū)、CRC校驗(yàn)區(qū)以及幀結(jié)束區(qū)荃部分構(gòu)成。各區(qū)主要情 況如下。
●仲裁區(qū):
◇定義消息的優(yōu)先級;
◇消息的邏輯地址(標(biāo)識符);
◇標(biāo)準(zhǔn)幀11位標(biāo)識符;
◇擴(kuò)展幀29位標(biāo)識符。
●數(shù)據(jù)區(qū):
◇每個消息最多可以包含8字節(jié)的數(shù)據(jù);
◇允許不包含數(shù)據(jù)幀的幀存在(數(shù)據(jù)區(qū)長度為0字節(jié))。
●CRC校驗(yàn)區(qū):包含循環(huán)冗余校驗(yàn)位。
●幀結(jié)束區(qū):幀結(jié)束區(qū)消息響應(yīng)標(biāo)識、錯誤消息、消息結(jié)束。
圖3給出的數(shù)據(jù)幀包含起始位、標(biāo)識符、遠(yuǎn)程傳輸請求、標(biāo)識擴(kuò)展等,所有相關(guān)的仲裁、數(shù)據(jù)、CRC校驗(yàn)以及幀結(jié)束構(gòu)成了完整的CAN總線消息幀,各部分的具體含義如下。
起始位(1 bit)? 標(biāo)識一個消息幀的開始,在空閑時間的下降沿同步所有的總線模塊;
標(biāo)識符(11 bits):定義消息的邏輯地址和優(yōu)先級,優(yōu)先級的數(shù)字越小優(yōu)先級越高;
RTR(1 bit):遠(yuǎn)程傳輸請求,如果RTR=1表示在數(shù)據(jù)幀中沒有有效數(shù)據(jù),請求遠(yuǎn)程節(jié)點(diǎn)向發(fā)出請求幀的節(jié)點(diǎn)發(fā)送數(shù)據(jù);
IDE(1 bit):標(biāo)識符擴(kuò)展,如果IDE=1,則采用擴(kuò)展的數(shù)據(jù)幀傳送數(shù)據(jù);
r0 保留;
DLC(4 bits):數(shù)據(jù)長度代碼,數(shù)據(jù)幀長度允許的數(shù)據(jù)字節(jié)數(shù)為{0~8),其他長度數(shù)值不允許使用;
數(shù)據(jù)(0~8字節(jié)):消息數(shù)據(jù);
CRC(15 bits):循環(huán)冗余校驗(yàn)碼”只用于檢測錯誤而不能校正;
ACK(2 bits)每一個接聽者接收到消息后必須發(fā)送響應(yīng)位(ACK):
EOF(7 bits=1,recesslve):幀的結(jié)束;
IFS(3 bits=1,recessive):內(nèi)部幀空間,將接收到的消息從總線處理單元復(fù)制到緩沖,只有擴(kuò)展模式有該位;
SRR(1 bit=recesslve): 替代標(biāo)準(zhǔn)幀中的遠(yuǎn)程幀請求位(RTR);
r0:保留。
CAN總線采用的是一種叫做“載波監(jiān)測,多主掌控/沖突避免”(CSMA/CA)的通信模式。這種總線仲裁方式允許總線上的任何一個設(shè)各都有機(jī)會取得總線的控制權(quán)并向外發(fā)送數(shù)據(jù)。如果在同一時刻有2個或2個以上的設(shè)各要求發(fā)送數(shù)據(jù),就會產(chǎn)生總線沖突,CAN總線能夠?qū)崟r地檢測這些沖突并對其進(jìn)行仲裁,從而使具有高優(yōu)先級的數(shù)據(jù)不受任何損壞地傳輸。
當(dāng)總線處于空閑狀態(tài)時呈隱性電平,此時任何節(jié)點(diǎn)都可以向總線發(fā)送顯性電平作為幀的開始。如果2個或2個以上同時發(fā)送就會產(chǎn)生競爭。CAN總線解決競爭的方法同以太網(wǎng)的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如圖1所示。此外,CAN總線做了改進(jìn)并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)訪問總線,按位對標(biāo)識符進(jìn)行仲裁。各節(jié)點(diǎn)在向總線發(fā)送電平的同時,也對總線上的電平讀取,并與自身發(fā)送的電平進(jìn)行比較,如果電平相同繼續(xù)發(fā)送下一位,不同則停止發(fā)送退出總線競爭。剩余的節(jié)點(diǎn)繼續(xù)上述過程,直到總線上只剩下1個節(jié)點(diǎn)發(fā)送的電平,總線競爭結(jié)束,優(yōu)先級高的節(jié)點(diǎn)獲得總線的控制權(quán)。
圖1 Ethernet采用的CSMA/ CD總線訪問過程
CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,報(bào)文的優(yōu)先級結(jié)合在44位標(biāo)識符中(擴(kuò)展幀的標(biāo)識符29位),具有最小二進(jìn)制數(shù)的標(biāo)識符的節(jié)點(diǎn)具有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設(shè)計(jì)時確定就不能隨意地更改,總線讀取產(chǎn)生的沖突主要靠這些位仲裁解決。之所以CAN總線不采用以太網(wǎng)使用的延時避免沖突,主要是為了保證具有更高優(yōu)先級的節(jié)點(diǎn)能夠完整地實(shí)時傳輸,而且CSMA/CA可以有效地避免沖突。
如圖2所示,節(jié)點(diǎn)A和節(jié)點(diǎn)B的標(biāo)識符的第lO、9、8位電平相同,因此兩個節(jié)點(diǎn)偵聽到的信息和它們發(fā)出的信息相同。第7位節(jié)點(diǎn)B發(fā)出一個“1”,但從節(jié)點(diǎn)上接收到的消息卻是“0”,說明有更高優(yōu)先級的節(jié)點(diǎn)占用總線發(fā)送消息。節(jié)點(diǎn)B會退出發(fā)送處于單純監(jiān)聽方式而不發(fā)送數(shù)據(jù);節(jié)點(diǎn)A成功發(fā)送仲裁位從而獲得總線的控制權(quán),繼而發(fā)送全部消息??偩€中的信號持續(xù)跟蹤最后獲得總線控制權(quán)發(fā)出的報(bào)文,本例中節(jié)點(diǎn)A的報(bào)文將被跟蹤。這種非破壞性位仲裁方法的優(yōu)點(diǎn)在于,在網(wǎng)絡(luò)最終確定哪個節(jié)點(diǎn)被傳送前,報(bào)文的起始部分已經(jīng)在網(wǎng)絡(luò)中傳輸了,因此具有高優(yōu)先級的節(jié)點(diǎn)的數(shù)據(jù)傳輸沒有任何延時。在獲得總線控制權(quán)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)過程中,其他節(jié)點(diǎn)成為報(bào)文的接收節(jié)點(diǎn),并且不會在總線再次空閑之前發(fā)送報(bào)文。
圖2? CAN總線節(jié)點(diǎn)訪問總線過程
圖3為CAN總線上節(jié)點(diǎn)的電平邏輯,總線上的節(jié)點(diǎn)電平對于總線電平而言是相與的關(guān)系,只有當(dāng)3個節(jié)點(diǎn)的電壓都等于1(隱性電平),總線才會保持在ycc(隱性電平)狀態(tài)。只要有1個節(jié)點(diǎn)切換到0狀態(tài)(顯性電平),總線就會被強(qiáng)制在顯性狀態(tài)(0)。這種避免總線沖突的仲裁方式能夠使具有高優(yōu)先級的消息沒有延時地占用總線傳輸。
圖3 CAN總線上節(jié)點(diǎn)的電平邏輯
CAN總線采用的是一種叫做“載波監(jiān)測,多主掌控/沖突避免”(CSMA/CA)的通信模式。這種總線仲裁方式允許總線上的任何一個設(shè)各都有機(jī)會取得總線的控制權(quán)并向外發(fā)送數(shù)據(jù)。如果在同一時刻有2個或2個以上的設(shè)各要求發(fā)送數(shù)據(jù),就會產(chǎn)生總線沖突,CAN總線能夠?qū)崟r地檢測這些沖突并對其進(jìn)行仲裁,從而使具有高優(yōu)先級的數(shù)據(jù)不受任何損壞地傳輸。
當(dāng)總線處于空閑狀態(tài)時呈隱性電平,此時任何節(jié)點(diǎn)都可以向總線發(fā)送顯性電平作為幀的開始。如果2個或2個以上同時發(fā)送就會產(chǎn)生競爭。CAN總線解決競爭的方法同以太網(wǎng)的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如圖1所示。此外,CAN總線做了改進(jìn)并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)訪問總線,按位對標(biāo)識符進(jìn)行仲裁。各節(jié)點(diǎn)在向總線發(fā)送電平的同時,也對總線上的電平讀取,并與自身發(fā)送的電平進(jìn)行比較,如果電平相同繼續(xù)發(fā)送下一位,不同則停止發(fā)送退出總線競爭。剩余的節(jié)點(diǎn)繼續(xù)上述過程,直到總線上只剩下1個節(jié)點(diǎn)發(fā)送的電平,總線競爭結(jié)束,優(yōu)先級高的節(jié)點(diǎn)獲得總線的控制權(quán)。
圖1 Ethernet采用的CSMA/ CD總線訪問過程
CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,報(bào)文的優(yōu)先級結(jié)合在44位標(biāo)識符中(擴(kuò)展幀的標(biāo)識符29位),具有最小二進(jìn)制數(shù)的標(biāo)識符的節(jié)點(diǎn)具有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設(shè)計(jì)時確定就不能隨意地更改,總線讀取產(chǎn)生的沖突主要靠這些位仲裁解決。之所以CAN總線不采用以太網(wǎng)使用的延時避免沖突,主要是為了保證具有更高優(yōu)先級的節(jié)點(diǎn)能夠完整地實(shí)時傳輸,而且CSMA/CA可以有效地避免沖突。
如圖2所示,節(jié)點(diǎn)A和節(jié)點(diǎn)B的標(biāo)識符的第lO、9、8位電平相同,因此兩個節(jié)點(diǎn)偵聽到的信息和它們發(fā)出的信息相同。第7位節(jié)點(diǎn)B發(fā)出一個“1”,但從節(jié)點(diǎn)上接收到的消息卻是“0”,說明有更高優(yōu)先級的節(jié)點(diǎn)占用總線發(fā)送消息。節(jié)點(diǎn)B會退出發(fā)送處于單純監(jiān)聽方式而不發(fā)送數(shù)據(jù);節(jié)點(diǎn)A成功發(fā)送仲裁位從而獲得總線的控制權(quán),繼而發(fā)送全部消息。總線中的信號持續(xù)跟蹤最后獲得總線控制權(quán)發(fā)出的報(bào)文,本例中節(jié)點(diǎn)A的報(bào)文將被跟蹤。這種非破壞性位仲裁方法的優(yōu)點(diǎn)在于,在網(wǎng)絡(luò)最終確定哪個節(jié)點(diǎn)被傳送前,報(bào)文的起始部分已經(jīng)在網(wǎng)絡(luò)中傳輸了,因此具有高優(yōu)先級的節(jié)點(diǎn)的數(shù)據(jù)傳輸沒有任何延時。在獲得總線控制權(quán)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)過程中,其他節(jié)點(diǎn)成為報(bào)文的接收節(jié)點(diǎn),并且不會在總線再次空閑之前發(fā)送報(bào)文。
圖2? CAN總線節(jié)點(diǎn)訪問總線過程
圖3為CAN總線上節(jié)點(diǎn)的電平邏輯,總線上的節(jié)點(diǎn)電平對于總線電平而言是相與的關(guān)系,只有當(dāng)3個節(jié)點(diǎn)的電壓都等于1(隱性電平),總線才會保持在ycc(隱性電平)狀態(tài)。只要有1個節(jié)點(diǎn)切換到0狀態(tài)(顯性電平),總線就會被強(qiáng)制在顯性狀態(tài)(0)。這種避免總線沖突的仲裁方式能夠使具有高優(yōu)先級的消息沒有延時地占用總線傳輸。
圖3 CAN總線上節(jié)點(diǎn)的電平邏輯
在CAN總線中存在5種錯誤類型,它們互相并不排斥,下面簡單介紹一下它們的區(qū)別、產(chǎn)生的原因及處理方法。
位錯誤:向總線送出一位的某個節(jié)點(diǎn)同時也在監(jiān)視總線,當(dāng)監(jiān)視到總線位的電平與送出的電平不同時9則在該位時刻檢測到一個位錯誤。但是在仲裁區(qū)的填充位流期間或應(yīng)答間隙送出隱性位而檢測到顯性位時,不認(rèn)為是錯誤位。送出認(rèn)可錯誤標(biāo)注的發(fā)送器,在檢測到顯性位時也不認(rèn)為是錯誤位。
填充錯誤:在使用位填充方法進(jìn)行編碼的報(bào)文中,出現(xiàn)了第6個連續(xù)相同的位電平時,將檢 測出一個填充錯誤。
CRC錯誤:CRC序列是由發(fā)送器CRC計(jì)算的結(jié)果組成的。接收器以與發(fā)送器相同的方法計(jì)算CRC。如果計(jì)算的結(jié)果與接收到的CRC序列不同,則檢測出一個CRC錯誤。
形式錯誤: 當(dāng)固定形式的位區(qū)中出現(xiàn)一個或多個非法位時,則檢測到一個形式錯誤。
應(yīng)答錯誤:在應(yīng)答間隙,發(fā)送器未檢測到顯性位時,則由它檢測出一個應(yīng)答錯誤。
檢測到出錯條件的節(jié)點(diǎn)通過發(fā)送錯誤標(biāo)志進(jìn)行標(biāo)定。當(dāng)任何節(jié)點(diǎn)檢測出位錯誤、填充錯誤、形式錯誤或應(yīng)答錯誤時,由該節(jié)點(diǎn)在下一位開始發(fā)送出錯誤標(biāo)志。
當(dāng)檢測到CRC錯誤時。出錯標(biāo)志在應(yīng)答界定符后面那一位開始發(fā)送.除非其他出錯條件的錯誤標(biāo)志已經(jīng)開始發(fā)送。
在CAN總線中,任何一個單元可能處于下列3種故障狀態(tài)之一:錯誤激活狀態(tài)(ErrorActive)、錯誤認(rèn)可狀態(tài)(Error Pasitive)和總線關(guān)閉狀態(tài)(Bus off)。
錯誤激活單元可以照常參與總線通信,并且當(dāng)檢測到錯誤時,送出一個活動錯誤標(biāo)志。錯誤 認(rèn)可節(jié)點(diǎn)可參與總線通信,但是不允許送出活動錯誤標(biāo)志。當(dāng)其檢測到錯誤時,只能送出認(rèn)可錯 誤標(biāo)志,并且發(fā)送后仍為錯誤認(rèn)可狀態(tài),直到下一次發(fā)送初始化??偩€關(guān)閉狀態(tài)不允許單元對總 線有任何影響。
為了界定故障,在每個總線單元中都設(shè)有2個計(jì)數(shù):發(fā)送出錯計(jì)數(shù)和接收出錯計(jì)數(shù)。這些 計(jì)數(shù)按照下列規(guī)則進(jìn)行。
?。?)接收器檢查出錯誤時,接收器錯誤計(jì)數(shù)器加1,除非所有檢測錯誤是發(fā)送活動錯誤標(biāo)志或超載標(biāo)志期間的位錯誤。
?。?)接收器在送出錯誤標(biāo)志后的第一位檢查出顯性位時,錯誤計(jì)數(shù)器加8。
?。?)發(fā)送器送出一個錯誤標(biāo)志時,發(fā)送器錯誤計(jì)數(shù)器加8。有兩種情況例外:其一是如果發(fā) 送器為錯誤認(rèn)可,由于未檢測到顯性位應(yīng)答或檢測到應(yīng)答錯誤,并且在送出其認(rèn)可錯誤標(biāo)志時,未檢測到顯性位;另外一種情況是如果仲裁器件產(chǎn)生填充錯誤,發(fā)送器送出一個隱性位錯誤標(biāo)志,而檢測到的是顯性位。除以上兩種情況外,發(fā)送器錯誤計(jì)數(shù)器計(jì)數(shù)不改變。
(4)發(fā)送器送出一個活動錯誤標(biāo)志或超載標(biāo)志時,檢測到位錯誤,則發(fā)送器錯誤計(jì)數(shù)器加8。
?。?)在送出活動鐠誤標(biāo)志、認(rèn)可錯誤標(biāo)志或超載錯誤標(biāo)志后,任何節(jié)點(diǎn)都最多允許連續(xù)7個顯性位。在檢測到第11個連續(xù)顯性位后,或緊隨認(rèn)可錯誤標(biāo)志檢測到第8個連續(xù)的顯性位,以及附加的8個連續(xù)的顯性位的每個序列后,每個發(fā)送器的發(fā)送錯誤計(jì)數(shù)都加8,并且每個接收器的接收錯誤計(jì)數(shù)也加8。
?。?)報(bào)文成功發(fā)送后,發(fā)送錯誤計(jì)數(shù)減1,除非計(jì)數(shù)值已經(jīng)為0。
?。?)報(bào)文成功發(fā)送后,如果接收錯誤計(jì)數(shù)處于1~197之間,則其值減1;如果接收錯誤計(jì)數(shù)為0,則仍保持為0;如果大于127,則將其值記為119~127之間的某個數(shù)值。
?。?)當(dāng)發(fā)送錯誤計(jì)數(shù)等于或大于128,或接收錯誤汁數(shù)等于或大于128時,節(jié)點(diǎn)進(jìn)人錯誤認(rèn),可狀態(tài),節(jié)點(diǎn)送出一個活動錯誤標(biāo)志。
(9)當(dāng)發(fā)送錯誤計(jì)數(shù)器大于或等于256時,節(jié)點(diǎn)進(jìn)人總線關(guān)閉狀態(tài)。
?。?O)當(dāng)發(fā)送錯誤計(jì)數(shù)和接收錯誤計(jì)數(shù)均小于或等于127時,錯誤認(rèn)可節(jié)點(diǎn)再次變?yōu)殄e誤激活節(jié)點(diǎn)。
(11)在檢測到總線上11個連續(xù)的隱性位發(fā)送128次后,總線關(guān)閉節(jié)點(diǎn)將變?yōu)?個錯誤計(jì)數(shù)器均為0的錯誤激活節(jié)點(diǎn)。
(12)當(dāng)錯誤計(jì)數(shù)器數(shù)值大于96時,說明總線被嚴(yán)重干擾。
如果系統(tǒng)啟動期間僅有1個節(jié)點(diǎn)掛在總線上,此節(jié)點(diǎn)發(fā)出報(bào)文后,將得不到應(yīng)答,檢查出錯誤并重復(fù)該報(bào)文,此時該節(jié)點(diǎn)可以變?yōu)殄e誤認(rèn)可節(jié)點(diǎn),但不會因此關(guān)閉總線。
CAN最初出現(xiàn)在80年代末的汽車工業(yè)中,由德國Bosch公司最先提出。當(dāng)時,由于消費(fèi)者對于汽車功能的要求越來越多,而這些功能的實(shí)現(xiàn)大多是基于電子操作的,這就使得電子裝置之間的通訊越來越復(fù)雜,同時意味著需要更多的連接信號線。提出CAN總線的最初動機(jī)就是為了解決現(xiàn)代汽車中龐大的電子控制裝置之間的通訊,減少不斷增加的信號線。于是,他們設(shè)計(jì)了一個單一的網(wǎng)絡(luò)總線,所有的外圍器件可以被掛接在該總線上。1993年,CAN 已成為國際標(biāo)準(zhǔn)ISO11898(高速應(yīng)用)和ISO11519(低速應(yīng)用)。
CAN是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。當(dāng)信號傳輸距離達(dá)到10Km時,CAN 仍可提供高達(dá)50Kbit/s的數(shù)據(jù)傳輸速率。
由于CAN總線具有很高的實(shí)時性能,因此,CAN已經(jīng)在汽車工業(yè)、航空工業(yè)、工業(yè)控制、安全防護(hù)等領(lǐng)域中得到了廣泛應(yīng)用。