找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7648|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[推薦]PIC單片機的CAN總線擴展技術(shù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:3395 發(fā)表于 2010-1-8 16:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
0 引 言
   
CAN總線是一種串行多主站局域網(wǎng)總線,被廣泛應(yīng)用于汽車控制系統(tǒng)、自動控制、樓宇自動化、醫(yī)學(xué)設(shè)備等各個領(lǐng)域。其傳輸距離遠,最遠可達10 km,傳輸速率高,最高可達1 Mb/s,容錯性能好,可靠性能高。但是由于CAN驅(qū)動器的驅(qū)動能力有限,CAN總線能夠驅(qū)動的節(jié)點數(shù)有限,一般在100個左右,同時會隨著傳輸距離的增加,最高傳輸速率會下降,如果距離過長會引起信號丟失、反射等故障。在實驗室條件下測得在5 Kb/s的通信速率下最遠通信距離能達到10 km;在18 Kb/s的通信速率下最遠通信距離只能達到2 km;而在42 b/s的通信速率下,最遠通信距離只能達到1 km。測試條件:線纜采用線徑為0.75 mm2的屏蔽雙絞線,線纜為盤裝,室內(nèi)測試。在實驗中,發(fā)現(xiàn)隨著隨著通信距離的增加,通信速率迅速下降,而CAN總線的驅(qū)動節(jié)點數(shù)量也次第下降。而在通信距離遠,通信節(jié)點多的大空間場所,比如礦井、電力監(jiān)控等系統(tǒng)需要CAN總線來傳輸數(shù)據(jù)和監(jiān)控信息的場所,CAN總線不能滿足要求。
   
如果要實現(xiàn)通信距離遠、通信速率高、總線節(jié)點數(shù)量多CAN總線系統(tǒng),實現(xiàn)CAN總線的擴展,就需要一個CAN網(wǎng)關(guān)進行橋接,把CAN總線劃分為幾個子網(wǎng),增加CAN總線通信節(jié)點,延長CAN總線的傳輸距離,提高CAN總線的傳輸速率。在研究基于PIC單片機的CAN網(wǎng)關(guān)設(shè)計和擴展的CAN總線網(wǎng)絡(luò)拓撲結(jié)構(gòu)。


1 CAN網(wǎng)關(guān)總體設(shè)計及總線拓撲結(jié)構(gòu)


1.1 CAN網(wǎng)關(guān)總體設(shè)計
   
CAN網(wǎng)關(guān)作為一種轉(zhuǎn)發(fā)設(shè)備,連接在兩個不同的CAN網(wǎng)絡(luò)中,能夠?qū)崟r接收來自兩個子網(wǎng)中的信息,根據(jù)需要篩選或者無條件地把接收到的信息轉(zhuǎn)發(fā)到另外一個網(wǎng)絡(luò)中。CAN總線層次結(jié)構(gòu)分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層,工作于ISO/OSI參考模式下。CAN網(wǎng)關(guān)在物理層和數(shù)據(jù)鏈路層完成兩個CAN網(wǎng)的連接。CAN網(wǎng)關(guān)結(jié)構(gòu)圖如圖1所示。





                圖1


CAN網(wǎng)關(guān)可以作為透明網(wǎng)關(guān)和源路由網(wǎng)關(guān)。透明網(wǎng)關(guān)完全按照接收到的幀格式轉(zhuǎn)發(fā),不改變幀結(jié)構(gòu),對于用戶,網(wǎng)關(guān)相當于透明的。而源路由網(wǎng)關(guān)由用戶提供路由信息,網(wǎng)關(guān)按照路由信息對消息進行過濾和有選擇性的轉(zhuǎn)發(fā)。


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





                 圖2


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


2 網(wǎng)關(guān)的硬件設(shè)計
   
硬件電路開發(fā)采用集成電路,開發(fā)周期短,成本低。CPU采用Microchip公司的16位單片機dsPIC30F6011作為核心部件,其內(nèi)部集成了兩個CAN控制器,支持CAN 2.0A/B協(xié)議,CPU的速度可以達到30 MIPS,程序存儲器空間有132 KB,內(nèi)部RAM有6 144 B,數(shù)據(jù)程序存儲器有2 048 B,集成的功能強大,體積小,性價比比較高。物理層采用兩個CAN驅(qū)動器PCA82C250。其中一組的PCA82C250的RXD,TXD引腳不是和CPUdsPIC30F6011直接連接,而在中間用光速光藕6N137隔離。
   
單片機dsPIC30F6011有兩個通用的UART口,可以作為和PC機或其他上位機通信的接口來用。另外,dsPIC30F6011采用TQPF封裝64引腳,利用通用I/O驅(qū)動LED燈作為指示燈,預(yù)留并行液晶顯示器和 4×4行列式鍵盤的接口。
   
CAN控制器和驅(qū)動器部分采用了光電隔離器,因此電源設(shè)計部分要求有兩個隔離的5 V電源?紤]到可以會用到液晶顯示器,因此一路電源設(shè)計采用輸出容量1 A的開關(guān)電源LM9076,而另外一路采用隔離DC/DC模塊電源。這樣CAN子網(wǎng)之間實現(xiàn)了電氣隔離,如果一個網(wǎng)絡(luò)出了問題并不影響另外一個網(wǎng)絡(luò)的正常工作,提高了CAN網(wǎng)絡(luò)的抗干擾性能。硬件電路設(shè)計外圍電路少、設(shè)計簡單、成本低。設(shè)計的CAN網(wǎng)關(guān)硬件設(shè)計系統(tǒng)框圖如圖3所示。





              圖3


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

 

PIC單片機的CAN總線擴展技術(shù)

http://bbs.huazhoucn.com/Temp/Temp6067_1.html

 

PIC單片機的應(yīng)用設(shè)計技巧

http://bbs.huazhoucn.com/Temp/Temp6066_1.html

 

PICFxx單片機控制的正弦波逆變電源

http://bbs.huazhoucn.com/Temp/Temp6001_1.html

 

PIC單片機的便攜式測試記錄儀設(shè)計

http://bbs.huazhoucn.com/Temp/Temp5618_1.html

 

PIC16F74的電動按摩椅的研制

http://bbs.huazhoucn.com/Temp/Temp2354_1.html

 

PIC16C711單片機片內(nèi)AD分辨率的方法

http://bbs.huazhoucn.com/Temp/Temp2465_1.html

[此貼子已經(jīng)被admin于2010-1-8 18:21:39編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表