工作原理
CAN通信的工作原理依賴于CAN接口的核心組件,包括CAN控制器、CAN收發(fā)器和CAN總線。CAN收發(fā)器的作用是將普通信號轉(zhuǎn)化為差分信號,以提高抗干擾能力和輸出可靠性。CAN 總線的工作電壓通常為5V或3.3V,但通信的關(guān)鍵在于CAN_High和CAN_Low兩根總線間的電壓差。
CAN協(xié)議經(jīng)過ISO標準化后有兩個標準:ISO11898標準和ISO11519-2標準;其中標準ISO11519-2-1994已經(jīng)被ISO11898-3-2006 代替,即符合標準ISO11898-3的產(chǎn)品也是符合ISO11519-2標準的產(chǎn)品;ISO11898-2-2016更新并替代了ISO11898-2:2003,ISO11898-5:2007和ISO11898-6:2013。ISO11898標準和ISO11519-2標準對于數(shù)據(jù)鏈路層的定義相同,但物理層不同,兩個標準間的差異如下:
當CAN收到一個高電平信號,CAN_High和CAN_Low輸出均為2.5V,電壓差是0V,此時表示邏輯1,也稱隱性電平。
為滿足不同通信需求,CAN協(xié)議定義了多種幀類型,包括數(shù)據(jù)幀、遠程幀、錯誤幀、過載幀、幀間隔等。數(shù)據(jù)幀用于傳輸數(shù)據(jù),包含實際的有效數(shù)據(jù)內(nèi)容;遠程幀用于請求數(shù)據(jù),沒有數(shù)據(jù)部分,只發(fā)送標識符和長度信息;錯誤幀用于指示總線上的錯誤,幫助進行錯誤處理;過載幀用于指示總線過載,幫助管理數(shù)據(jù)流;幀間隔是兩幀之間的時間間隔,用于確保幀的正確傳輸,避免幀沖突。其中最常見的幀類型是數(shù)據(jù)幀,分為標準數(shù)據(jù)幀和擴展數(shù)據(jù)幀。
標準數(shù)據(jù)幀格式及字段組成如下:
報文的優(yōu)先級,是通過對 ID(識別碼) 的仲裁來確定的。CAN總線上有兩種電平狀態(tài),如果總線上同時出現(xiàn)顯性電平和隱性電平,總線的狀態(tài)會被置為顯性電平,CAN正是利用這個特性進行仲裁。
類型分類
以上介紹的都是關(guān)于標準CAN的內(nèi)容,此外還有一種CAN FD,它的全稱是Flexible Data Rate,譯為可變速率的CAN。CAN和CAN FD是兩種不同的總線標準,它們都是基于CAN技術(shù)實現(xiàn)的,但它們之間有明顯的區(qū)別。CAN是一種多點總線,它可以用于連接許多設(shè)備,而CAN FD是一種更高級的多點總線,它可以提供更高的傳輸速率和更高的傳輸容量。
CAN和CAN FD之間最大的區(qū)別在于傳輸容量。CAN的最大傳輸容量為8字節(jié),而CAN FD的最大傳輸容量可以達到64字節(jié)。這意味著CAN FD可以提供更多的數(shù)據(jù),因此可以傳輸更大的數(shù)據(jù)包,從而更好地滿足應用需求。
另一個不同點是傳輸速率。CAN的最大傳輸速率為1 Mbps,而CAN FD的最大傳輸速率可以達到8 Mbps。
以上就是關(guān)于CAN接口的核心內(nèi)容解析。希望本文分享能夠為嵌入式開發(fā)技術(shù)愛好者及相關(guān)專業(yè)的高校學生提供切實可行的項目實踐參考。若您在應用場景中遇到CAN接口開發(fā)或調(diào)試問題,歡迎隨時私信與我們技術(shù)團隊深入交流,我們將結(jié)合多年嵌入式開發(fā)經(jīng)驗,為您提供針對性解決方案建議。