《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于PIC單片機的CAN總線擴展技術
基于PIC單片機的CAN總線擴展技術
摘要: 如果要實現通信距離遠、通信速率高、總線節點數量多CAN總線系統,實現CAN總線的擴展,就需要一個CAN網關進行橋接,把CAN總線劃分為幾個子網,增加CAN總線通信節點,延長CAN總線的傳輸距離,提高CAN總線的傳輸速率。在此研究基于PIC單片機的CAN網關設計和擴展的CAN總線網絡拓撲結構。
關鍵詞: PIC CAN總線 PIC單片機
Abstract:
Key words :

 引 言

  CAN總線" title="CAN總線">CAN總線是一種串行多主站局域網總線,被廣泛應用于汽車控制系統、自動控制、樓宇自動化、醫學設備等各個領域。其傳輸距離遠,最遠可達10 km,傳輸速率高,最高可達1 Mb/s,容錯性能好,可靠性能高。但是由于CAN驅動器的驅動能力有限,CAN總線能夠驅動的節點數有限,一般在100個左右,同時會隨著傳輸距離的增加,最高傳輸速率會下降,如果距離過長會引起信號丟失、反射等故障。在實驗室條件下測得在5 Kb/s的通信速率下最遠通信距離能達到10 km;在18 Kb/s的通信速率下最遠通信距離只能達到2 km;而在42 b/s的通信速率下,最遠通信距離只能達到1 km。測試條件:線纜采用線徑為0.75 mm2的屏蔽雙絞線,線纜為盤裝,室內測試。在實驗中,發現隨著隨著通信距離的增加,通信速率迅速下降,而CAN總線的驅動節點數量也次第下降。而在通信距離遠,通信節點多的大空間場所,比如礦井、電力監控等系統需要CAN總線來傳輸數據和監控信息的場所,CAN總線不能滿足要求。

  如果要實現通信距離遠、通信速率高、總線節點數量多CAN總線系統,實現CAN總線的擴展,就需要一個CAN網關進行橋接,把CAN總線劃分為幾個子網,增加CAN總線通信節點,延長CAN總線的傳輸距離,提高CAN總線的傳輸速率。在研究基于PIC單片機" title="PIC單片機">PIC單片機的CAN網關設計和擴展的CAN總線網絡拓撲結構。

  1 CAN網關總體設計及總線拓撲結構

  1.1 CAN網關總體設計

  CAN網關作為一種轉發設備,連接在兩個不同的CAN網絡中,能夠實時接收來自兩個子網中的信息,根據需要篩選或者無條件地把接收到的信息轉發到另外一個網絡中。CAN總線層次結構分為物理層、數據鏈路層和應用層,工作于ISO/OSI參考模式下。CAN網關在物理層和數據鏈路層完成兩個CAN網的連接。CAN網關結構圖如圖1所示。

 

 

  CAN網關可以作為透明網關和源路由網關。透明網關完全按照接收到的幀格式轉發,不改變幀結構,對于用戶,網關相當于透明的。而源路由網關由用戶提供路由信息,網關按照路由信息對消息進行過濾和有選擇性的轉發。

1.2 CAN總線網絡拓撲結構

  帶有網關的CAN網絡拓撲結構如圖2所示。在這個網路中,PC機為主節點,而CAN節點作為從節點。在網絡的頂層,由PC機和網關構成一個主網,在這個主網中PC機和CAN網關作為CAN節點,總線驅動器驅動能力可以帶100個cAN節點左右。主網中的CAN網關再作為下一個子網中的主節點,而其他CAN網關或是CAN節點作為從節點,構成一個子網。這樣通過CAN網關可以逐環把網絡擴展下去,直到最底層的CAN節點。而在應用層上,用戶可以把網關配置成透明網關或是源路由網光。透明網關不影響網絡結構,CAN拓展網絡形成一個多節點,遠距離的網絡。源路由網關對消息具有過濾性,根據用戶的配置信息把CAN網絡在應用層上劃分為幾個小網。

這樣,解決了節點容量、通信距離、通信速率的問題。

    2 網關的硬件設計

  硬件電路開發采用集成電路,開發周期短,成本低。CPU采用Microchip公司的16位單片機DSPIC30F6011作為核心部件,其內部集成了兩個CAN控制器,支持CAN 2.0A/B協議,CPU的速度可以達到30 MIPS,程序存儲器空間有132 KB,內部RAM有6 144 B,數據程序存儲器有2 048 B,集成的功能強大,體積小,性價比比較高。物理層采用兩個CAN驅動器PCA82C250。其中一組的PCA82C250的RXD,TXD引腳不是和CPUdsPIC30F6011直接連接,而在中間用光速光藕6N137隔離。

  單片機dsPIC30F6011有兩個通用的UART口,可以作為和PC機或其他上位機通信的接口來用。另外,dsPIC30F6011采用TQPF封裝64引腳,利用通用I/O驅動LED燈作為指示燈,預留并行液晶顯示器和 4×4行列式鍵盤的接口。

  CAN控制器和驅動器部分采用了光電隔離器,因此電源設計部分要求有兩個隔離的5 V電源??紤]到可以會用到液晶顯示器,因此一路電源設計采用輸出容量1 A的開關電源LM9076,而另外一路采用隔離DC/DC模塊電源。這樣CAN子網之間實現了電氣隔離,如果一個網絡出了問題并不影響另外一個網絡的正常工作,提高了CAN網絡的抗干擾性能。硬件電路設計外圍電路少、設計簡單、成本低。設計的CAN網關硬件設計系統框圖如圖3所示。


3 網關的軟件設計

  CAN網關作為消息的轉發器,要準確、實時地接收兩個CAN發送的信息,并且要實時發出去。對于不斷發出信息的問題節點要及時屏蔽,避免錯誤信息蔓延到另一個CAN網絡。如果CAN網關被設置成透明網關則直接把一個CAN網絡的信息轉發到另外一個網絡中即可,如果CAN網關被設置成和某個區間ID相關,則要做一些信息過濾和屏蔽處理。當CAN網關檢測到總線有錯誤時,要通過備用的UART口將錯誤信息上發到上位機或其他信息處理主機。

 

 

  CAN網關的信息接收通過硬件中斷來完成。當總線上有消息時,引起硬件中斷,進入中斷程序后根據中斷標志位的區別把接收到的信息存放到相應的緩沖區中。緩沖區是一個FIFO的存儲區。而主程序則一直檢測兩個CAN控制器對應的兩個接收緩沖區,當檢測到緩沖區不為空時則把緩沖區內的信息順序發送到另一個網絡中。從而形成一個具有一定的錯誤檢測能力的雙向通道,完成了兩個CAN網絡的信息轉發。CAN網關的主程序框圖如圖4所示,中斷程序框圖如圖5所示。


       4 結 語

  詳細介紹了CAN總線擴展技術的網絡拓撲結構和系統構成,給出了CAN網關的硬件設計原理及軟件設計框圖。這樣的CAN總線擴展網絡,因為引入CAN網關而增加了消息的傳遞時間,但是這個增加的時間很小,是微秒級的,可以忽略不計。而帶來的優勢明顯,因為把CAN網絡在物理層上劃分為幾個網絡,彼此之間不相互影響,因而增加了CAN網絡的抗干擾性,同時,擴展靈活,只需要增加一個CAN網關來增加子網即可;通信速率可通過增加網關來提高,通信距離可以擴展到很遠。通過CAN網關增加了CAN總線的容量、提高了CAN總線的通信速率、擴展了CAN總線的傳輸距離。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 中文japanese在线播放| 亚洲人成免费电影| 美国式禁忌5太大了| 国产女主播一区| 三级网站在线免费观看| 夜夜嘿视频免费看| 一区二区三区美女视频| 新梅瓶1一5集在线观看| 久久精品国产91久久综合麻豆自制| 欧美成人国产精品高潮| 亚洲综合精品第一页| 一二三四在线观看免费中文动漫版| 日本久久久久久中文字幕| 亚洲av日韩精品久久久久久久| 欧美精品亚洲精品日韩1818| 人妻丰满熟妇AV无码区免| 精品免费人成视频APP| 国产欧美久久久精品影院| 67194老司机精品午夜| 在线观看精品国产福利片87| lover视频无删减免费观看| 少妇人妻精品一区二区| 中文字幕亚洲欧美日韩不卡| 日日躁夜夜躁狠狠躁超碰97| 久久人人爽人人爽人人片AV东京热| 日韩精品无码一区二区三区四区 | 综合网激情五月| 在免费jizzjizz在线播| 99精品视频在线| 天天干天天做天天操| www卡一卡二卡三| 妇女被猛烈进入在线播放| 上海大一18cm男生宿舍飞机| 成人免费视频国产| 中文字幕人妻三级中文无码视频| 日本a中文字幕| 久久久久久国产精品视频| 日本一道本在线| 久久久久99人妻一区二区三区| 日本三级在线观看免费| 久久人妻无码中文字幕|