<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > can總線相關(guān)小知識(shí)

          can總線相關(guān)小知識(shí)

          作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò) 收藏
          CAN[Control(Controller) Area Network]是控制(器)局域網(wǎng)的簡(jiǎn)稱(chēng)。CAN是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),最初由德國(guó)Bosch公司80年代用于汽車(chē)內(nèi)部測(cè)試和控制儀器之間的數(shù)據(jù)通信。目前CAN 總線規(guī)范已被國(guó)際標(biāo)準(zhǔn)化組織ISO制訂為國(guó)際標(biāo)準(zhǔn)ISO11898,并得到了Motorola,Intel ,Philips等大半導(dǎo)體器件生產(chǎn)廠家的支持,迅速推出各種集成有CAN協(xié)議的產(chǎn)品。目前CAN總線主要用于汽車(chē)自動(dòng)化領(lǐng)域,如發(fā)動(dòng)機(jī)自動(dòng)點(diǎn)火、注油、復(fù)雜的加速剎車(chē)控制(ASC)、抗鎖定剎車(chē)系統(tǒng)(ABS)和抗滑系統(tǒng)等。BENZ、BMW等著名汽車(chē)上已經(jīng)采用CAN來(lái)滿足上述功能。在工業(yè)過(guò)程控制領(lǐng)域,CAN也得到了廣泛的應(yīng)用。

          1.1.1 CAN協(xié)議 CAN總線采用分層結(jié)構(gòu),規(guī)范規(guī)定了任意兩個(gè)節(jié)點(diǎn)之間的兼容性。包括電氣特件利數(shù)據(jù)解釋協(xié)議。
          CAN協(xié)議可分為:目標(biāo)層、傳送層、物理層。其中目標(biāo)層和傳送層包括了ISO/OSI定義的數(shù)據(jù)鏈路的所有功能。目標(biāo)層的功能包括:確認(rèn)要發(fā)送的信息;位應(yīng)用層提供接口。傳送層功能包括:數(shù)據(jù)幀組織:總線仲裁:檢錯(cuò)、錯(cuò)誤報(bào)告、錯(cuò)誤處理。
          CAN總線以報(bào)文為單位進(jìn)行信息交換,報(bào)文中含有標(biāo)示符(ID),它既描述了數(shù)據(jù)的含義又表明了報(bào)文的優(yōu)先權(quán)。CAN總線上的各個(gè)協(xié)點(diǎn)都可主動(dòng)發(fā)送數(shù)據(jù)。當(dāng)同時(shí)有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)發(fā)送報(bào)文時(shí),CAN控制器采用ID進(jìn)行仲裁。ID控制節(jié)點(diǎn)對(duì)總線的訪問(wèn)。發(fā)送具有最高優(yōu)先權(quán)報(bào)文的節(jié)點(diǎn)獲得總線的使用權(quán),其他節(jié)點(diǎn)自動(dòng)停止發(fā)送,總線空閑后,這些節(jié)點(diǎn)將自動(dòng)重發(fā)報(bào)文。
          CAN支持四類(lèi)信息幀類(lèi)型。
          (1)數(shù)據(jù)幀 CAN協(xié)議有兩種數(shù)據(jù)幀類(lèi)型標(biāo)準(zhǔn)2.0A和標(biāo)準(zhǔn)2.0B。兩者本質(zhì)的不同在于ID的長(zhǎng)度不同。在2.0A類(lèi)型中,ID的長(zhǎng)度為l l位;在2.0B類(lèi)型中ID為29位。一個(gè)信息震中包括7個(gè)主要的域: 幀起始域——標(biāo)志數(shù)據(jù)幀的開(kāi)始,由一個(gè)顯性位組成。仲裁域——內(nèi)容由標(biāo)示符和遠(yuǎn)程傳輸請(qǐng)求位(RTR)組成,RTR用以表明此信息幀是數(shù)據(jù)幀還是不包含任何數(shù)據(jù)的遠(yuǎn)地請(qǐng)求幀。當(dāng)2.0A的數(shù)據(jù)幀和2.0B的數(shù)據(jù)幀必須在同一條總線上傳輸時(shí),首先判斷其優(yōu)先權(quán),如果ID相同,則非擴(kuò)展數(shù)據(jù)幀的優(yōu)先權(quán)高于擴(kuò)展數(shù)據(jù)幀??刂朴?mdash;—r0、r1是保留位,作為擴(kuò)展位,DLC表示一幀中數(shù)據(jù)字節(jié)的數(shù)目。 數(shù)據(jù)域——包含0~8字節(jié)的數(shù)據(jù)。校驗(yàn)域——檢驗(yàn)位錯(cuò)用的循環(huán)冗余校驗(yàn)域,共15位。應(yīng)答域——包括應(yīng)答位和應(yīng)答分隔符。正確接收到有效報(bào)文的接收站在應(yīng)答期間將總線值為顯性電平。 幀結(jié)束——由七位隱性電平組成。

          本文引用地址:http://www.ex-cimer.com/article/201612/330448.htm

          (2)遠(yuǎn)程幀接受數(shù)據(jù)的節(jié)點(diǎn)可通過(guò)發(fā)遠(yuǎn)程幀請(qǐng)求源節(jié)點(diǎn)發(fā)送數(shù)據(jù)。它由6個(gè)域組成:幀起始、仲裁域、控制域、校驗(yàn)域、應(yīng)答域、幀結(jié)束。

          (3)錯(cuò)誤指示幀由錯(cuò)誤標(biāo)志和錯(cuò)誤分界兩個(gè)域組成。接收節(jié)點(diǎn)發(fā)現(xiàn)總線上的報(bào)文有誤時(shí),將自動(dòng)發(fā)出“活動(dòng)錯(cuò)誤標(biāo)志”其他節(jié)點(diǎn)檢測(cè)到活動(dòng)錯(cuò)誤標(biāo)志后發(fā)送“錯(cuò)誤認(rèn)可標(biāo)志”。

          (4)超載幀由超載標(biāo)志和超載分隔符組成。超載幀只能在一個(gè)幀結(jié)束后開(kāi)始。當(dāng)接收方接收下一幀之前,需要過(guò)多的時(shí)間處理當(dāng)前的數(shù)據(jù),或在幀問(wèn)空隙域檢測(cè)到顯性電平時(shí),則導(dǎo)致發(fā)送超載幀。

          (5)幀間空隙位于數(shù)據(jù)幀和遠(yuǎn)地幀與前面的信息幀之間,由幀間空隙和總線空閑狀態(tài)組成。幀間空隙是必要的,在此期間, CAN不進(jìn)行新的幀發(fā)送,為的是CAN控制器在下次信息傳遞前有時(shí)間進(jìn)行內(nèi)部處理操作。當(dāng)總線空閑時(shí)CAN控制器方可發(fā)送數(shù)據(jù)。


          1.1.2電氣參數(shù)及信號(hào)表示
          總線上的數(shù)據(jù)采用不歸零編碼方式(NRZ),可具有兩種互補(bǔ)的邏輯值之一:顯性及隱性。CAN總線中各節(jié)點(diǎn)使用相同的位速率。它的每位時(shí)間由同步段、傳播段、相位緩沖段1及相位緩沖段2組成。發(fā)送器在同步段前改變輸出的位數(shù)值,接受器在兩個(gè)相位緩沖段間采樣輸入位值,而兩個(gè)相位緩沖段長(zhǎng)度可自由調(diào)節(jié),以保證采樣的可靠性。另外,CAN總線采用時(shí)鐘同步技術(shù)來(lái)保證通訊的同步。


          1.2 CAN的主要技術(shù)特點(diǎn)
          CAN網(wǎng)絡(luò)上的節(jié)點(diǎn)不分主從,任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,通信方式靈活,利用這一特點(diǎn)可方便地構(gòu)成多機(jī)備份系統(tǒng),CAN只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù),無(wú)需專(zhuān)門(mén)的"調(diào)度" CAN的直接通信距離最遠(yuǎn)可達(dá)10km(速率5kbps以下);通信速率最高可達(dá)1Mbps(此時(shí)通信距離最長(zhǎng)為40m)。 CAN上的節(jié)點(diǎn)數(shù)主要決定于總線驅(qū)動(dòng)電路,目前可達(dá)110個(gè);報(bào)文標(biāo)識(shí)符可達(dá)2032種(CAN2.0A),而擴(kuò)展標(biāo)準(zhǔn)(CAN2.0B)的報(bào)文標(biāo)識(shí)符幾乎不受限制。


          1.3 CAN總線通信系統(tǒng)拓?fù)浣Y(jié)構(gòu)
          CAN在物理結(jié)構(gòu)上屬于總線式通信網(wǎng)絡(luò)。系統(tǒng)的組成如下圖:

          圖1 CAN總線系統(tǒng)結(jié)構(gòu)圖

          該系統(tǒng)由上位監(jiān)控PC機(jī)、智能節(jié)點(diǎn)和現(xiàn)場(chǎng)設(shè)備三部分組成。上位監(jiān)控PC機(jī)主要負(fù)責(zé)對(duì)系統(tǒng)數(shù)據(jù)的接受與管理、控制命令的發(fā)送以及各控制單元?jiǎng)討B(tài)參數(shù)和設(shè)備狀態(tài)的實(shí)時(shí)顯示;智能節(jié)點(diǎn)可以使現(xiàn)場(chǎng)設(shè)備方便地連接到CAN總線上,主要負(fù)責(zé)對(duì)現(xiàn)場(chǎng)的環(huán)境參數(shù)和設(shè)備狀態(tài)進(jìn)行監(jiān)測(cè),對(duì)采集來(lái)的數(shù)據(jù)進(jìn)行打包處理并將處理后的數(shù)字信號(hào)通過(guò)CAN通信控制器SJA1000發(fā)送到CAN總線。智能節(jié)點(diǎn)的設(shè)計(jì)和選擇,對(duì)通信信號(hào)的傳輸發(fā)送有很的影響,系統(tǒng)中的數(shù)據(jù)傳送和接收,都是通過(guò)CAN總線接口實(shí)現(xiàn)。CAN總線接口電路的設(shè)計(jì),對(duì)CAN總線很是重要。本文正是基于此,對(duì)CAN總線接口電路進(jìn)行設(shè)計(jì)分析,給出一種設(shè)計(jì)方案。

          2 CAN總線接口電路設(shè)計(jì)


          2.1 總體方案設(shè)計(jì)
          CAN 總線接口電路主要包括:?jiǎn)纹瑱C(jī)、控制器接口、總線收發(fā)器和看門(mén)狗電路等。采用Philips公司生產(chǎn)的SJA1000控制器和與其配套的82C250CAN收發(fā)器。按照CAN總線物理層協(xié)議選擇總線介質(zhì),設(shè)計(jì)布線方案,連接成CAN網(wǎng)絡(luò)。雙絞屏蔽線可設(shè)兩套,在兩套介質(zhì)上同時(shí)進(jìn)行信息傳輸,接收方只用一個(gè)介質(zhì)。在冗余和非冗余段的連接臨界點(diǎn)處進(jìn)行總線切換。
          硬件電路的設(shè)計(jì)主要是CAN 通信控制器與微處理器之間和CAN總線收發(fā)器與物理總線之間的接口電路的設(shè)計(jì)。CAN通信控制器是CAN總線接口電路的核心,主要完成CAN的通信協(xié)議,而CAN總線收發(fā)器的主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾(RFI),實(shí)現(xiàn)熱防護(hù)等??撮T(mén)狗電路主要是實(shí)現(xiàn)對(duì)電路的監(jiān)控和復(fù)位作用。

          目前廣泛流行的CAN總線器件有兩大類(lèi):一類(lèi)是獨(dú)立的CAN控制器,如82C200、SJA1000及Intel82526/82527等,另一類(lèi)是帶有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。本課題選取PHILIPS公司的SJA1000 CAN控制器以及82C250總線收發(fā)器,主要是考慮到SJA1000支持CAN 2.0A/B規(guī)約。而82C250可以支持110個(gè)CAN節(jié)點(diǎn),并且國(guó)內(nèi)市場(chǎng)上PHILIPS的產(chǎn)品型號(hào)比較多,購(gòu)買(mǎi)比較方便。在本次設(shè)計(jì)中,接口電路簡(jiǎn)單表示如下圖:


          圖2-1 接口電路總體框圖


          2.2 各模塊電路的設(shè)計(jì)


          2.2.1單片機(jī)最小系統(tǒng)
          本設(shè)計(jì)中,應(yīng)用到單片機(jī)為ATMEL公司51系列的89C51,該型號(hào)的單片機(jī)應(yīng)用廣泛,技術(shù)成熟,市場(chǎng)上價(jià)格便宜,而且在學(xué)習(xí)中所學(xué)到的多為該型號(hào),在本次設(shè)計(jì)中是首選的芯片。89C51單片機(jī)作為系統(tǒng)的核心控制部分,但在本設(shè)計(jì)中不是重點(diǎn)講解內(nèi)容,其相關(guān)技術(shù)應(yīng)用和引腳特點(diǎn)功能等,可參照其他相關(guān)資料。設(shè)計(jì)的電路原理方框大致如下圖2-2所示。
          設(shè)計(jì)中為避免出現(xiàn)時(shí)鐘信號(hào)的沖突,對(duì)單片機(jī)的外接晶振引腳XTAL1、XTAL2不接上外圍電路,而是通過(guò)控制器SJA1000的時(shí)鐘信號(hào)腳反饋給單片機(jī)。同時(shí),對(duì)單片機(jī)的復(fù)位信號(hào)處理,RST引腳接上X5045P的RST腳,復(fù)位信號(hào)可由X5045P輸出,在X5045P芯片看門(mén)狗外圍電路的作用下,減少了以往由電阻、電容組成的簡(jiǎn)易復(fù)位電路造成的不精確、延時(shí)高等不良作用,使單片機(jī)回復(fù)到初始狀態(tài),完成復(fù)位操作。由于在該電路中要用到單片機(jī)的存儲(chǔ)作用,存儲(chǔ)由SJA1000傳輸過(guò)來(lái)的處理數(shù)據(jù)。因此,腳/EA接上高電平,選用片內(nèi)ROM。對(duì)ALE腳,也即地址鎖存有效信號(hào)除數(shù)端是和控制器SJA1000的ALE腳接通。

          圖2-2 單片機(jī)最小系統(tǒng)


          2.2.2 CAN總線接口控制電路設(shè)計(jì)
          SJA1000 在電路中是一個(gè)總線接口芯片,通過(guò)它實(shí)現(xiàn)上位機(jī)與現(xiàn)場(chǎng)微處理器之間的數(shù)據(jù)通信。該電路的主要功能是通過(guò)CAN總線接收來(lái)自上位機(jī)的數(shù)據(jù)進(jìn)行分析組態(tài)然后下傳給下位機(jī)的控制電路實(shí)現(xiàn)控制功能,當(dāng)CAN總線接口接收到下位機(jī)的上傳數(shù)據(jù),SJA1000就產(chǎn)生一個(gè)中斷,引發(fā)微處理器產(chǎn)生中斷,通過(guò)中斷處理程序接收每一幀信息并通過(guò)CAN總線上傳給上位機(jī)進(jìn)行分析。AT89C51是CAN總線接口電路的核心,其承擔(dān)CAN控制器的初始化、CAN的收發(fā)控制等任務(wù)。


          上一頁(yè) 1 2 3 4 下一頁(yè)

          關(guān)鍵詞: can總線小知

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();