CAN總線是一種用于實(shí)時(shí)應(yīng)用的串行通訊協(xié)議總線,屬于現(xiàn)場總線的范疇,是一種有效支持分布式控制系統(tǒng)的串行通信網(wǎng)絡(luò),是一種多主站(multi-master)總線,允許多個設(shè)備在無需中央控制的情況下進(jìn)行通信。CAN總線由于其高可靠性、靈活性和實(shí)時(shí)性,CAN設(shè)備被廣泛應(yīng)用于汽車電子、工業(yè)自動化、機(jī)器人等領(lǐng)域。比如在汽車中,CAN總線用于控制引擎管理、防抱死制動系統(tǒng)(ABS)、安全氣囊系統(tǒng)等關(guān)鍵部件。
1、多主站通信:所有節(jié)點(diǎn)都是平等的,任何一個節(jié)點(diǎn)都可以主動發(fā)起通信,不存在主從關(guān)系。
2、仲裁機(jī)制:當(dāng)多個節(jié)點(diǎn)同時(shí)嘗試發(fā)送數(shù)據(jù)時(shí),通過沖突檢測和優(yōu)先級仲裁機(jī)制解決沖突。
3、高可靠性:CAN總線設(shè)計(jì)有錯誤檢測和錯誤處理機(jī)制,能夠自動重發(fā)錯誤幀,確保數(shù)據(jù)傳輸?shù)目煽啃浴?/span>
4、靈活的數(shù)據(jù)長度:CAN支持不同長度的數(shù)據(jù)幀,從8字節(jié)到8K字節(jié)不等。
三、CAN通信的幀類型:
1. 數(shù)據(jù)幀:用于發(fā)送單元向接收單元傳送數(shù)據(jù)的幀。
2. 遙控幀(遠(yuǎn)程幀):用于接收單元向具有相同ID的發(fā)送單元請求數(shù)據(jù)的幀。遙控幀沒有數(shù)據(jù)段。
3. 錯誤幀:用于在接收和發(fā)送消息時(shí)檢測出錯誤時(shí),向其他單元通知錯誤的幀。錯誤幀由錯誤標(biāo)志和錯誤界定符構(gòu)成。
4. 過載幀:用于接收單元通知其尚未完成接收準(zhǔn)備的幀。過載幀由過載標(biāo)志和過載界定符構(gòu)成。
5. 幀間隔:用于將數(shù)據(jù)幀及遙控幀與前面的幀分離開來的幀。數(shù)據(jù)幀和遙控幀可通過插入幀間隔將本幀與前面的任何幀(數(shù)據(jù)幀、遙控幀、錯誤幀、過載幀)分開。但過載幀和錯誤幀前不能插入幀間隔。
CAN的錯誤種類有五種:位錯誤、填充錯誤、CRC錯誤、格式錯誤、ACK錯誤。
①、位錯誤:根據(jù)CAN協(xié)議,節(jié)點(diǎn)在發(fā)送信號的時(shí)候,會將自己發(fā)送到總線上的電平同時(shí)與從總線回讀到的電平進(jìn)行比較,如果內(nèi)容不一致,就會產(chǎn)生位錯誤。
②、填充錯誤:如果在需要正常位填充的幀位置里檢測到連續(xù)六個同性位(即數(shù)據(jù)幀連續(xù)6位都是相同的電平時(shí)),就會檢測到一個填充錯誤。
③、CRC錯誤:每個CAN報(bào)文都包含一個循環(huán)冗余校驗(yàn)(CRC校驗(yàn))。如果接收器的CRC計(jì)算與發(fā)送器的CRC不匹配,接收器就會將其檢測為CRC錯誤。
④、格式錯誤:在一幀報(bào)文里,如果在必須發(fā)送特定值的區(qū)域內(nèi)檢測到了非法值,就會檢測到一個格式錯誤。
⑤、ACK錯誤:ACK錯誤即應(yīng)答錯誤,通常情況下發(fā)送節(jié)點(diǎn)在總線發(fā)送一幀報(bào)文數(shù)據(jù),接收端接收該報(bào)文數(shù)據(jù)后,會發(fā)送一個顯性位來回應(yīng)發(fā)送節(jié)點(diǎn),如果發(fā)送節(jié)點(diǎn)沒有在ACK段時(shí)間段中讀取到該顯性位就會檢測到一個ACK錯誤。
CAN的錯誤狀態(tài)分為以下三種:主動錯誤(Error Active)、被動錯誤(Error Passive)、總線關(guān)閉(Bus Off)
①、主動錯誤(Error Active):主動錯誤狀態(tài)下節(jié)點(diǎn)仍然能夠參與總線通信,并檢測到錯誤時(shí)會主動發(fā)送錯誤幀。
②、被動錯誤(Error Passive):當(dāng)節(jié)點(diǎn)的發(fā)送錯誤計(jì)數(shù)器(TEC)大于或等于128,或接收錯誤計(jì)數(shù)器(REC)大于或等于128時(shí),節(jié)點(diǎn)會進(jìn)入被動錯誤狀態(tài)。在這種狀態(tài)下,節(jié)點(diǎn)仍能參與通信,但節(jié)點(diǎn)在發(fā)送數(shù)據(jù)后需要等待一段時(shí)間(稱為“掛起發(fā)送”或“延遲傳送”)才能再次發(fā)送,并在此期間插入特定的延遲傳送位,
③、總線關(guān)閉(Bus Off):當(dāng)節(jié)點(diǎn)的發(fā)送錯誤計(jì)數(shù)器(TEC)大于或等于256時(shí),節(jié)點(diǎn)會進(jìn)入總線關(guān)閉狀態(tài)。此狀態(tài)下,節(jié)點(diǎn)無法參與總線上的任何通信活動,包括數(shù)據(jù)的接收和發(fā)送。要從總線關(guān)閉狀態(tài)恢復(fù),節(jié)點(diǎn)通常需要重置其錯誤計(jì)數(shù)器,并等待一段時(shí)間后再嘗試重新加入總線,有時(shí)可能還需要進(jìn)行硬件或軟件的修復(fù)工作。
五、億佰特CAN系列設(shè)備簡介:
億佰特有著豐富的CAN總線模組設(shè)備,如實(shí)現(xiàn)CAN與RS485/RS232/RS422串口不同協(xié)議數(shù)據(jù)之間的雙向轉(zhuǎn)換的ECAN-401(隔離版本)/ECAN-401S(非隔離版本)(圖一);實(shí)現(xiàn)CAN與TTL不同協(xié)議數(shù)據(jù)之間的雙向轉(zhuǎn)換的小型智能協(xié)議轉(zhuǎn)換模塊ECAN-S01(圖二);實(shí)現(xiàn)CAN與RS485不同協(xié)議數(shù)據(jù)之間的雙向轉(zhuǎn)換的小體積設(shè)備ECAN-101(圖三);集成2路CAN接口的高性能型CAN-BUS總線通訊分析儀ECAN-U01(隔離版本)/ECAN-U01S(非隔離版本)(圖四),此外還有CAN與光纖、工業(yè)級以太網(wǎng)等進(jìn)行協(xié)議轉(zhuǎn)換的設(shè)備。更多CAN總線網(wǎng)關(guān)模組可點(diǎn)擊下文CAN網(wǎng)關(guān)模組產(chǎn)品頁面了解相關(guān)功能參數(shù)。
圖一
圖二
圖三
圖四
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多CAN總線模塊和CAN總線網(wǎng)關(guān)產(chǎn)品的更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
2、ECAN-101總線轉(zhuǎn)換設(shè)備實(shí)現(xiàn)高效、穩(wěn)定的通信橋梁
3、CAN總線常見問題說明及匯總
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3