《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > CANopen協議之CAN總線簡介

CANopen協議之CAN總線簡介

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

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

?


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


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


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


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


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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]。
主站蜘蛛池模板: 视频在线观看一区 | 日韩不卡一区二区三区 | 国产女人伦码一区二区三区不卡 | 欧美乱大交xxxxx在线观看 | 男操女视频网站 | 97在线视频免费观看费观看 | 亚洲成人aa | 精品日韩一区二区三区视频 | 久久精品在线观看 | 日韩精品一区二区三区在线观看l | 国产一级真人毛爱做毛片 | 国产乱淫视频 | 精品国产高清a毛片 | 国产精品18久久久久久vr | 久久精品免费播放 | 美女一级毛片免费观看 | 在线免费一级片 | 人成午夜性刺激免费 | 国产在线精品一区二区不卡 | 久久99国产精品久久99 | 美国黑人特大一级毛片 | 亚洲午夜在线播放 | 日韩美女强理论片 | 亚洲一区二区三区四区在线 | 欧美一级特黄aaa大片 | 欧美成人香蕉网在线观看 | 成人国产在线视频在线观看 | 日韩欧美不卡一区二区三区 | 毛片中文字幕 | 黄色美女视频免费 | 久久99国产精品视频 | 97在线免费视频观看 | 亚洲欧美日本综合一区二区三区 | 孕妇孕交视频 | 日本老熟妇激情毛片 | 欧美成人在线免费 | 亚洲高清国产品国语在线观看 | 日韩国产免费 | 成人爱爱网站在线观看 | 日本不卡免费高清一级视频 | 777色狠狠一区二区三区 |