《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > CANopen協(xié)議之CAN總線簡介

CANopen協(xié)議之CAN總線簡介

2009-07-21
作者:致遠電子

1 引言
  隨著汽車工業(yè)的發(fā)展,,20世紀80年代中期,,率先由Bosch公司研發(fā)出新一代的汽車總線即控制器局域網CAN(Controller Area Network)總線,CAN總線具有布線簡單,、典型的總線型結構,、可最大限度地節(jié)約布線與維護成本,、穩(wěn)定可靠、實時,、抗干擾能力強,、傳輸距離遠等特點,這些都決定了CAN總線必定是一種成功的總線,。CAN總線一經推出,,不僅在汽車行業(yè)得到廣泛的推廣與應用,在諸如航天,、電力,、石化、冶金,、紡織,、造紙等領域也得到廣泛應用。在自動化儀表,、工業(yè)生產現(xiàn)場和數(shù)控機床等系統(tǒng)中也越來越多地使用了CAN總線,,CAN總線的未來發(fā)展依然充滿活力,有著巨大的發(fā)展空間,。
  由于CAN總線本身只定義ISO/OSI模型中的第一層(物理層)和第二層(數(shù)據鏈路層),,通常情況下CAN總線網絡都是獨立的網絡,所以沒有網絡層,。在實際使用中,,用戶還需要自己定義應用層的協(xié)議,因此在CAN總線的發(fā)展過程中出現(xiàn)了各種版本的CAN應用層協(xié)議,,現(xiàn)階段最流行的CAN應用層協(xié)議主要有CANopen,、DeviceNet和J1939等協(xié)議。
  本系列文章主要介紹CAN總線,、基于CAN總線的應用層協(xié)議——CANopen,,以及CANopen設備的應用及組網方式。本文主要介紹CAN總線相關的概念及網絡結構,。
2 CAN總線特點
  CAN總線采用差分信號傳輸,,通常情況下只需要兩根信號線(CAN-H和CAN-L)就可以進行正常的通信。在干擾比較強的場合,,還需要用到屏蔽地即CAN-G(主要功能是屏蔽干擾信號),,CAN協(xié)議推薦用戶使用屏蔽雙絞線作為CAN總線的傳輸線,。在隱性狀態(tài)下,CAN-H與CAN-L的輸入差分電壓為0 V(最大不超過0.5 V),,共模輸入電壓為2.5 V,。在顯性狀態(tài)下,CAN-H與CAN-L的輸入差分電壓為2 V(最小不小于0.9 V),,如圖 1所示,。

?


  其物理傳輸層詳細和高效的定義,使得CAN總線具有其他總線無法達到的優(yōu)勢,,注定其在工業(yè)現(xiàn)場總線中占有不可動搖的地位,,CAN總線通信主要具有如下優(yōu)勢和特點。
  (1)CAN總線上任意節(jié)點均可在任意時刻主動地向其他節(jié)點發(fā)起通信,,節(jié)點沒有主從之分,,但在同一時刻優(yōu)先級高的節(jié)點能獲得總線的使用權,在高優(yōu)先級的節(jié)點釋放總線后,,任意節(jié)點都可使用總線,。
  (2)CAN總線傳輸波特率為5 kb/s~1 Mb/s,在5 kb/s的通信波特率下最遠傳輸距離可以達到10 km,,即使在1 Mb/s的波特率下也能傳輸40 m的距離,。在1 Mb/s波特率下節(jié)點發(fā)送一幀數(shù)據最多需要134 μs。
  (3)CAN總線采用載波監(jiān)聽多路訪問,、逐位仲裁的非破壞性總線仲裁技術,。在節(jié)點需要發(fā)送信息時,節(jié)點先監(jiān)聽總線是否空閑,,只有節(jié)點監(jiān)聽到總線空閑時才能夠發(fā)送數(shù)據,,即載波監(jiān)聽多路訪問方式。在總線出現(xiàn)兩個以上的節(jié)點同時發(fā)送數(shù)據時,,CAN協(xié)議規(guī)定,,按位進行仲裁,按照顯性位優(yōu)先級大于隱性位優(yōu)先級的規(guī)則進行仲裁,,最后高優(yōu)先級的節(jié)點數(shù)據毫無破壞地被發(fā)送,,其他節(jié)點停止發(fā)送數(shù)據(即逐位仲裁無破壞的傳輸技術)。這樣能大大地提高總線的使用效率及實時性,。
  (4)CAN總線所掛接的節(jié)點數(shù)量主要取決于CAN總線收發(fā)器或驅動器,,目前的驅動器一般都可以使同一網絡容量達到110個節(jié)點。CAN報文分為兩個標準即CAN2.0A標準幀和CAN2.0B擴展幀,,兩個標準最大的區(qū)別在于CAN2.0A只有11位標識符,,CAN2.0B具有29位標識符。
  (5)CAN總線定義使用了硬件報文濾波,可實現(xiàn)點對點及點對多點的通信方式,,不需要軟件來控制。數(shù)據采用短幀發(fā)送方式,,每幀數(shù)據不超過8 B,,抗干擾能力強,每幀接收的數(shù)據都進行CRC校驗,,使得數(shù)據出錯機率極大限度地降低,。CAN節(jié)點在錯誤嚴重的情況下具有自動關閉功能,避免了對總線上其他節(jié)點的干擾,。
  (6)CAN總線通信介質可采用雙絞線,、同軸電纜或光纖,選擇極為靈活,,可大大節(jié)約組網成本,。
3 CAN控制器介紹
  隨著CAN總線的不斷發(fā)展壯大,符合CAN2.0A和CAN2.0B協(xié)議的獨立芯片越來越多,。如NXP公司推出的SJA1000及SJA1000F,,可以直接與普通單片機組合,使該單片機具有CAN通信的能力,。隨著CAN需求的日益增大,,芯片廠商也把CAN控制器直接集成到芯片內部,例如NXP公司的LPC2119,、LPC2294,、LPC2378等。以下主要以LPC2378的集成CAN控制器為例,,對CAN控制器作一個介紹,。
  LPC2378 CAN控制器結構如圖2所示。該控制器是一個帶有發(fā)送和接收緩沖器的串行接口,,但它并不含有驗收過濾器,。驗收過濾器是一個獨立的模塊,能夠對所有CAN通道進行CAN標識符過濾,。


  LPC2378 CAN控制器工作流程主要分為發(fā)送過程和接收過程,。
  (1)發(fā)送過程
  CAN控制器完全受處理器控制,CPU通過內部總線向CAN控制器的發(fā)送寄存器里填寫需要發(fā)的數(shù)據,,然后啟動CAN控制器的發(fā)送使能,,發(fā)送的數(shù)據分別經過位流管理器(變成在總線上發(fā)送的二進制碼)、錯誤管理邏輯(負責檢測總線狀態(tài)及發(fā)送是否出現(xiàn)錯誤)及位時序邏輯(管理數(shù)據在總線上的發(fā)送時序),、CAN收發(fā)器(負責把位流數(shù)據轉換成CAN總線能夠傳輸?shù)牟罘蛛娖?,,這樣就完成了一幀CAN數(shù)據的發(fā)送,如圖3所示。


  (2)接收過程
  CAN數(shù)據的接收與CAN數(shù)據的發(fā)送是一個相反的過程,,如圖4所示,。當CAN收發(fā)器檢測到CAN總線上有數(shù)據時,CAN收發(fā)器把CAN總線上的差分信號轉換成位流數(shù)據,,經過錯誤管理器及位時序邏輯單元對位數(shù)據流和時序進行檢查,,再經過位流管理器把位流數(shù)據轉換成字節(jié)數(shù)據并存放到接收緩沖器中,當一幀數(shù)據接收完了之后則由接收緩沖器產生數(shù)據接收中斷(通知CPU已經接收到一幀新數(shù)據),,并將產生的各種狀態(tài)通過改變狀態(tài)寄存器的值來表示,。


  以上主要介紹LPC2378 CAN工作流程,CAN2.0A/B標準協(xié)議在CAN控制器中都得以實現(xiàn),,用戶只需要操作相關的CAN寄存器就可以控制CAN控制器動作(控制器的具體操作請參考LPC2378數(shù)據手冊),,因此可以大大提高CAN節(jié)點的開發(fā)時間,提高工作效率,。
4 CAN總線網絡結構
  作為一個總線型網絡,,其結構如圖5所示,其組網與維護相當方便,。CAN總線具有在線增減設備,,即總線在不斷電的情況下也可以向網絡中增加或減少節(jié)點。一條總線最多可以容納110個節(jié)點,,通信波特率為5 kb/s~1 Mb/s,,在通信的過程中要求每個節(jié)點的波特率保持一致(誤差不能超過5%),否則會引起總線錯誤,,從而導致節(jié)點的關閉,,出現(xiàn)通信異常。


5 CAN總線應用層協(xié)議
  由于CAN總線只定義了ISO/OSI中的物理層和數(shù)據鏈路層,,因此對于不同的應用出現(xiàn)了不同的應用層協(xié)議,,為了使不同廠商的產品能夠相互兼容,世界范圍內需要通用的CAN應用層通信協(xié)議,,在過去的20年中涌現(xiàn)出許多的協(xié)議,,不過到現(xiàn)在為止能夠廣泛被承認的協(xié)議卻不多,現(xiàn)在CAN應用層協(xié)議主要有以下三種:
  (1)在歐洲等地占有大部分市場份額的CANopen協(xié)議,,主要應用在汽車,、工業(yè)控制和自動化儀表等領域,目前由CIA負責管理和維護,;
  (2)J1939是CAN總線在商用車領域占有絕大部分市場份額的應用層協(xié)議,,由美國機動車工程師學會發(fā)起,現(xiàn)已在全球范圍內得到廣泛的應用,;
  (3)DeviceNet協(xié)議在美國等地占有相當大的市場份額,,主要用于工業(yè)通信及控制和儀器儀表等領域。
  在以后的文章中將向讀者重點介紹CANopen協(xié)議的基本概念及CANopen相關設備的使用及組網方法。
  現(xiàn)階段我國在工業(yè)領域與歐洲和美國等其他的發(fā)達國家存在較大的差距,。CAN總線作為新型現(xiàn)場總線已經漫延到生活生產的各個領域,,能夠提高生產效率以及降低生產成本,成為工業(yè)現(xiàn)場總線的發(fā)展趨勢,。
  廣州致遠電子有限公司提供各種接口的CAN卡,、CAN總線分析儀、CAN網關及網橋,、CAN卡的OPC服務器以及CAN相關的測試工具。

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。