999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CAN總線技術(shù)及其應用

2010-07-09 11:29:30韓成浩高曉紅
制造業(yè)自動化 2010年2期

韓成浩,高曉紅

(1. 吉林建筑工程學院 電氣與電子信息工程學院,長春 130021;2. 吉林大學 機械科學與工程學院,長春 130022)

0 引言

1986年德國最大的工業(yè)企業(yè)之一Rober Bosch公司首次提出了應用于汽車內(nèi)各種傳感器和執(zhí)行器之間相互通信的CAN總線(Controller Area Network)技術(shù)以來,以其可靠性、實時性和靈活性強的特點,得到了諸多汽車開發(fā)商的青睞。本文介紹了CAN總線的通信協(xié)議,分析了CAN總線控制器SJA1000和驅(qū)動器PCA82C250的內(nèi)部結(jié)構(gòu)和工作原理,主要闡述了CAN總線技術(shù)在智能小區(qū)門禁控制系統(tǒng)中的應用。

1 CAN總線的特點

1.1 CAN總線的位數(shù)值表示與通信距離

CAN總線協(xié)議是建立在國際標準組織的開放系統(tǒng)OSI 7層互連參考模型基礎之上的。其模型結(jié)構(gòu)只有3層,即只取OSI底層的物理層、數(shù)據(jù)鏈層和應用層,保證了節(jié)點間無差錯的數(shù)據(jù)傳輸。

CAN總線上用“顯性”(Dominant)和“隱性”(Recessive)兩個互補的邏輯值表示“0”和“1”。如圖1所示,VCNA-H和VCAN-L為CAN總線收發(fā)器與總線之間的兩接口引腳,信號是以兩線之間的“差分”電壓形式出現(xiàn)。在隱性狀態(tài),VCNA-H和VCANL被固定在平均電壓電平附近,Vdiff近似于0。顯性位以大于最小閥值的差分電壓表示[1]。CAN總線的通信距離最遠可達10Km(位速率為5 kbps) ,通信速率最快可達1Mbps(此時最長通信距離為40m)。

圖1 CAN總線的位數(shù)值傳輸方式

1.2 報文傳輸

CAN技術(shù)的報文傳輸為多主方式工作,網(wǎng)絡上任意節(jié)點均可在任意時刻主動地向網(wǎng)絡上其它節(jié)點發(fā)送信息,而不分主從。CAN節(jié)點只需通過對報文的標示符濾波即可實現(xiàn)點對點、一點對多點及全局廣播等幾種方式發(fā)送、接收數(shù)據(jù)。

CAN總線的數(shù)據(jù)傳輸(報文傳輸)采用幀格式。按幀格式的不同,分為含有11位標識符的標準幀和含有29位標識符的擴展幀。CAN總線的幀類型分為數(shù)據(jù)幀、遠程幀、錯誤幀和過載幀。

1.3 仲裁(Arbitration)

只要總線空閑,任何單元都可以開始發(fā)送報文。如果兩個或兩個以上節(jié)點同時開始傳送報文,那么就會有總線訪問沖突。通過使用標識符的逐位仲裁可以解決這個沖突。仲裁的機制確保了報文和時間均不損失。當具有相同標識符的數(shù)據(jù)幀和遠程幀同時發(fā)送時,數(shù)據(jù)幀優(yōu)先于遠程幀[2]。在仲裁期間,每一個發(fā)送器都對總線進行監(jiān)測,如果發(fā)送和接收電平相同,則該節(jié)點可以繼續(xù)發(fā)送報文。比如發(fā)送的是一“隱性”電平,而監(jiān)視到的是一“顯性”電平,那么這個節(jié)點就失去了仲裁,必須退出發(fā)送狀態(tài)。

2 CAN總線控制器和驅(qū)動器

2.1 CAN總線控制器SJA1000的內(nèi)部結(jié)構(gòu)

CAN總線控制器主要保證數(shù)據(jù)鏈路層和物理層的通信質(zhì)量。SJA1000是一種獨立的CAN總線控制器。SJA1000的內(nèi)部結(jié)構(gòu)如圖2所示。

圖2 SJA1000內(nèi)部結(jié)構(gòu)圖

各功能模塊的作用如下:

接口管理邏輯(IML)負責解釋來自CPU的命令,控制CAN寄存器的尋址,向主控制器(CPU)提供中斷信息和狀態(tài)信息。發(fā)送緩沖器(TXB)是CPU和位流處理器(BSP)之間的接口,負責存儲發(fā)送到CAN總線上的一條完整的報文。發(fā)送緩沖器的長度為13個字節(jié),由CPU寫入、位流處理器讀出。

接收緩沖器(RXB、長度為13個字節(jié))是驗收濾波器和CPU之間的接口,用來存儲從CAN總線上接收并被確認的信息。作為接收FIFO(RXFIFO,長度為64字節(jié))的一個窗口,接收緩沖器可被CPU訪問。CPU在接收FIFO的支持下,可以在處理一條報文的同時接收其他報文。

驗收濾波器(ACF)將一條接收到的報文標識碼與驗收濾波器中的預設值相比較,以決定是否接收這條報文[3]。在純粹的接收測試中,所有的報文都保存在接收FIFO中,但只有驗收濾波通過且無差錯的報文,才能被保存在接收緩沖器中。

位流處理器(BSP)是一個控制發(fā)送緩沖器、接收FIFO和CAN總線之間數(shù)據(jù)流的程序裝置。它還執(zhí)行總線上的錯誤檢測、仲載、總線填充和錯誤處理。位時序邏輯(BTL)監(jiān)視串行的CAN總線和位時序。它在信息開頭“弱勢支配”的總線傳輸時,同步CAN總線位流(硬同步),接收報文時再次同步下一次傳送(軟同步)。

錯誤管理邏輯(EML)負責限制傳輸層模塊的錯誤。它接收來自位流處理器的出錯報告,然后把有關(guān)錯誤統(tǒng)計告訴位流處理器和接口管理邏輯(IML)。

2.2 SJA1000的內(nèi)部寄存器

SJA1000有兩種工作模式,即BasicCAN模式和PeliCAN模式。在這兩種模式中,SJA1000寄存器從數(shù)量、地址分配到功能等方面都有所區(qū)別。SJA1000在復位狀態(tài)下的默認模式為BasicCAN模式。CAN控制器在兩種模式中又都有兩種狀態(tài)模式,分別稱為操作模式和復位模式。處在這兩種不同狀態(tài)的模式中,對寄存器的訪問操作功能是不同的。

SJA1000的控制寄存器、命令寄存器、狀態(tài)寄存器、發(fā)送緩沖器(均為8位)等各種寄存器分配在0~31地址單元中。設置各寄存器中的參數(shù)可實現(xiàn)不同的操作功能[4]。

2.3 CAN總線驅(qū)動器PCA82C250

總線驅(qū)動器PCA82C250是CAN控制器與物理總線之間的接口。該器件對總線提供了差動發(fā)送能力,同時對CAN控制器提供了差動接收能力。它可以用高達1Mbps的位速率在兩條有差動電壓的總線上傳輸數(shù)據(jù),總線可連接110個節(jié)點。總線驅(qū)動器PCA82C250的功能參如圖3所示。

圖3 PCA82C250的功能框圖

圖3中,引腳8(Rs)用于選定PCA82C250的工作模式。PCA82C250的工作模式有3種,即高速模式、斜率控制模式和待機模式。對于高速工作模式,發(fā)送器的輸出級晶體管盡可能快速啟動和關(guān)閉。在這種模式下,不采取任何措施限制上升和下降的斜率。采用斜率控制模式(Slope Control),可降低射頻干擾。

3 CAN總線技術(shù)應用設計

3.1 硬件電路設計

利用CAN總線技術(shù)實現(xiàn)了智能小區(qū)單元門禁控制器和小區(qū)保安部門之間數(shù)據(jù)的快速、準確傳遞,提高了小區(qū)智能化管理水平。圖4為小區(qū)單元門禁控制器的CAN總線通信部分電路。值得注意的是控制器AT89S52為高電平復位,而SJA1000為低電平復位。

為了增強CAN總線各節(jié)點的抗干擾能力,SJA1000的TX0、RX0和PCA82C250之間設置光電耦合器TLP521-2(即圖4中的U3),實現(xiàn)了CAN 總線上各用戶之間的電氣隔離。同時,兩根總線與地之間分別接了一個防雷擊管P6KE6.8,當兩輸入端與地之間出現(xiàn)瞬變干擾時,通過防雷擊管的放電可起到一定的保護作用[5]。

另外,PCA82C250的CANH和CANL之間接120?阻抗匹配電阻是非常必要,否則會影響總線的數(shù)據(jù)傳輸距離和傳輸質(zhì)量。

3.2 CAN總線的軟件設計

CAN總線技術(shù)的軟件設計主要包括:CAN總線控制器的初始化、報文發(fā)送和報文接收。SJA1000總線控制器的初始化對CAN總線的正常工作非常重要。SJA1000的初始化只有在復位模式下才能進行,初始化的關(guān)鍵是設置SJA1000內(nèi)部寄存器的參數(shù)。其包括:設置工作方式、設置接收濾波方式,設置接收屏蔽寄存器(AMR)和接收代碼寄存器(ACR)、設置波特率參數(shù)和中斷允許寄存器(IER)等。在完成SJA1000的初始化設置以后,返回工作狀態(tài),進行報文的發(fā)送和接收通信。圖5為SJA1000的初始化程序流程圖。

圖4 CAN總線硬件電路設計

圖5 SJA1000初始化程序流程

圖6 發(fā)送報文程序流程圖

發(fā)送報文子程序負責完成報文的發(fā)送。發(fā)送時用戶只需將待發(fā)送的報文按特定格式組合成一幀報文,送入SJA1000發(fā)送緩存區(qū)中,然后啟動SJA1000的發(fā)送位,即可發(fā)送報文。以查詢方式發(fā)送報文的程序流程如圖6所示。

接收報文子程序負責完成報文的接收以及其他情況處理。接收子程序比發(fā)送子程序要復雜一些,因為在處理接收報文的過程中,同時要對總線關(guān)閉、錯誤報警、接收溢出等情況進行處理。圖7為以查詢方式接收報文的程序流程圖。

4 結(jié)論

圖7 接收報文程序流程圖

CAN 總線技術(shù)是較實用的現(xiàn)場總線技術(shù),該總線以CAN總線控制器和驅(qū)動器為硬件基礎,采用了開放式仲裁機制和“隱性”、“顯性”位信號差分通信方式,保證了報文傳輸?shù)目煽啃浴蚀_性、快速性和實時性。正因為如此,國外很多公司生產(chǎn)的控制芯片內(nèi)置CAN總線控制器(如:Philips公司生產(chǎn)的P8xC591、Atmel公司生產(chǎn)的AT90CAN128 等器件),方便了用戶的使用,縮短了開發(fā)周期。

[1] 甘永梅,李慶豐等.現(xiàn)場總線技術(shù)及其應用[M].北京:機械工業(yè)出版社,2005.

[2] 饒運濤,鄒繼軍等.現(xiàn)場總線CAN原理與應用技術(shù)[M].北京:北京航空航天大學出版社,2004.

[3] 姜幼卿,左國華等.基于CAN總線的溫室自動控制系統(tǒng)的通信設計[J].儀表技術(shù)與傳感器.2005(4):60-62.

[4] 鄔寬明.現(xiàn)場總線技術(shù)應用選編(1)[M].北京:北京航空航天大學出版社,2003.

[5] 張毅剛.單片機原理及應用[M].北京:高等教育出版社,2007.

主站蜘蛛池模板: 日韩亚洲综合在线| 日韩黄色在线| 午夜激情福利视频| 亚洲swag精品自拍一区| 国产精品自拍合集| 欧美日韩国产系列在线观看| 久久一日本道色综合久久| 国产精品视频免费网站| 亚洲日韩精品无码专区| 美女毛片在线| 国产精品伦视频观看免费| 亚洲va精品中文字幕| 制服丝袜无码每日更新| 大香网伊人久久综合网2020| 99热免费在线| 青青草原国产免费av观看| 99视频在线免费| 免费亚洲成人| 欧美在线精品一区二区三区| 久久综合伊人77777| 1级黄色毛片| 国产特级毛片| 亚洲欧洲日产国码无码av喷潮| 亚洲综合一区国产精品| 国产日韩丝袜一二三区| 在线另类稀缺国产呦| 一本综合久久| 高清免费毛片| 伊人蕉久影院| 国产第三区| 亚洲欧洲美色一区二区三区| 久久精品波多野结衣| 福利视频一区| 国产自视频| 亚洲天堂色色人体| 亚洲国产一区在线观看| 天堂网国产| 国产内射一区亚洲| 亚洲国语自产一区第二页| jizz国产视频| 亚洲人精品亚洲人成在线| 女人18毛片水真多国产| 亚洲国产高清精品线久久| 韩日午夜在线资源一区二区| 国产精品视频免费网站| 亚洲精品视频免费看| 日韩午夜片| 99手机在线视频| 亚洲无线一二三四区男男| 91九色国产在线| 国产精品亚洲欧美日韩久久| 永久成人无码激情视频免费| 一本色道久久88| 国产成人喷潮在线观看| 精品少妇人妻无码久久| 国产一区二区三区精品久久呦| 99热国产这里只有精品9九 | 国模视频一区二区| 欧美丝袜高跟鞋一区二区| 婷婷开心中文字幕| 国产成人精品日本亚洲| 手机成人午夜在线视频| 黑色丝袜高跟国产在线91| 久久久久久国产精品mv| 国产男女免费视频| 亚洲综合狠狠| 毛片免费视频| 国产丰满大乳无码免费播放| 国产精品福利一区二区久久| 欧美啪啪网| 久久精品亚洲热综合一区二区| 亚洲 欧美 偷自乱 图片| 国产成人精品日本亚洲77美色| 国产精品久久精品| 午夜精品福利影院| 在线观看免费国产| 99re视频在线| 久久久久亚洲精品成人网| 国产人成网线在线播放va| 中文无码日韩精品| 在线日韩日本国产亚洲| 久久精品只有这里有|