亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        韓成浩,高曉紅

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

        0 引言

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

        1 CAN總線的特點(diǎn)

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

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

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

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

        1.2 報(bào)文傳輸

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

        CAN總線的數(shù)據(jù)傳輸(報(bào)文傳輸)采用幀格式。按幀格式的不同,分為含有11位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀和含有29位標(biāo)識(shí)符的擴(kuò)展幀。CAN總線的幀類型分為數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和過(guò)載幀。

        1.3 仲裁(Arbitration)

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

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

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

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

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

        各功能模塊的作用如下:

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

        接收緩沖器(RXB、長(zhǎng)度為13個(gè)字節(jié))是驗(yàn)收濾波器和CPU之間的接口,用來(lái)存儲(chǔ)從CAN總線上接收并被確認(rèn)的信息。作為接收FIFO(RXFIFO,長(zhǎng)度為64字節(jié))的一個(gè)窗口,接收緩沖器可被CPU訪問(wèn)。CPU在接收FIFO的支持下,可以在處理一條報(bào)文的同時(shí)接收其他報(bào)文。

        驗(yàn)收濾波器(ACF)將一條接收到的報(bào)文標(biāo)識(shí)碼與驗(yàn)收濾波器中的預(yù)設(shè)值相比較,以決定是否接收這條報(bào)文[3]。在純粹的接收測(cè)試中,所有的報(bào)文都保存在接收FIFO中,但只有驗(yàn)收濾波通過(guò)且無(wú)差錯(cuò)的報(bào)文,才能被保存在接收緩沖器中。

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

        錯(cuò)誤管理邏輯(EML)負(fù)責(zé)限制傳輸層模塊的錯(cuò)誤。它接收來(lái)自位流處理器的出錯(cuò)報(bào)告,然后把有關(guān)錯(cuò)誤統(tǒng)計(jì)告訴位流處理器和接口管理邏輯(IML)。

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

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

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

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

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

        圖3 PCA82C250的功能框圖

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

        3 CAN總線技術(shù)應(yīng)用設(shè)計(jì)

        3.1 硬件電路設(shè)計(jì)

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

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

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

        3.2 CAN總線的軟件設(shè)計(jì)

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

        圖4 CAN總線硬件電路設(shè)計(jì)

        圖5 SJA1000初始化程序流程

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

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

        接收?qǐng)?bào)文子程序負(fù)責(zé)完成報(bào)文的接收以及其他情況處理。接收子程序比發(fā)送子程序要復(fù)雜一些,因?yàn)樵谔幚斫邮請(qǐng)?bào)文的過(guò)程中,同時(shí)要對(duì)總線關(guān)閉、錯(cuò)誤報(bào)警、接收溢出等情況進(jìn)行處理。圖7為以查詢方式接收?qǐng)?bào)文的程序流程圖。

        4 結(jié)論

        圖7 接收?qǐng)?bào)文程序流程圖

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

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

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

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

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

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

        亚洲女同恋av中文一区二区| 亚洲ⅤA中文字幕无码| 国产三级在线看完整版| 一级老熟女免费黄色片| 国产亚洲成av人片在线观黄桃| 亚洲中文字幕无码一区| 亚洲熟妇大图综合色区| 偷窥偷拍一区二区三区| 欧洲美熟女乱又伦av影片| 蜜桃视频一区二区三区在线观看 | 亚洲一区二区三区精彩视频| 国精产品一区一区三区有限在线| v一区无码内射国产| 亚州AV无码乱码精品国产| 中文字幕一区二区网址| 久久99精品久久久久久清纯| 免费观看黄网站在线播放| 日韩女人毛片在线播放| 男人一插就想射的原因| 亚洲中文字幕无码爆乳app| a级国产乱理论片在线观看| 久久99精品这里精品动漫6| 日韩美女av一区二区三区四区| 国产精品毛片一区二区三区| 精品久久久久久久久久久aⅴ| 精品中文字幕日本久久久| 久久国产精品亚洲va麻豆| 三年在线观看免费大全下载| 久久福利青草精品资源| 伊人狼人大香线蕉手机视频| 天天躁日日躁狠狠躁欧美老妇小说| 国产香蕉97碰碰视频va碰碰看| 特级毛片全部免费播放a一级| 日韩人妻久久中文字幕| 曰韩亚洲av人人夜夜澡人人爽| 成人爽a毛片一区二区免费| 精品av一区二区在线| 少妇真实被内射视频三四区| 久久无码av三级| 91久久精品一二三区蜜桃| 亚洲av毛片在线免费观看|