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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 智能傳感器的CAN總線接口設(shè)計(jì)

          智能傳感器的CAN總線接口設(shè)計(jì)

          作者: 時(shí)間:2011-08-19 來源:網(wǎng)絡(luò) 收藏


          4 應(yīng)用層協(xié)議
          利用SoC內(nèi)嵌的協(xié)議控制器外加驅(qū)動(dòng)器,實(shí)現(xiàn)CAN報(bào)文的收發(fā),系統(tǒng)構(gòu)成如圖3所示。內(nèi)嵌的Silicon Labs CAN協(xié)議控制器,符合Bosch規(guī)范2.0A(基本CAN)和2.0B(全功能CAN)。該CAN控制器包含一個(gè)CAN控制器核、消息RAM(獨(dú)立于CIP-51的RAM)、消息處理器和控制寄存器;由于該協(xié)議控制器不提供物理層的驅(qū)動(dòng),為此,外接了一個(gè)CAN收發(fā)器CTM8251T,將CAN控制器的邏輯電平轉(zhuǎn)換為CAN的差分電平。

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

          h.jpg


          為實(shí)現(xiàn)的即插即用,需對(duì)收發(fā)的CAN報(bào)文內(nèi)容與格式進(jìn)行一定的約定,即在CAN應(yīng)用層上制定相應(yīng)的協(xié)議,以保證測(cè)控系統(tǒng)的即插即用。
          4.1 發(fā)送報(bào)文的協(xié)議
          由圖3可見,該SoC內(nèi)嵌的消息RAM可保存32個(gè)消息對(duì)象。協(xié)議將其中的3個(gè)消息對(duì)象配置為下面介紹的發(fā)送消息對(duì)象。
          4.1.1 發(fā)送電子數(shù)據(jù)表單
          初次接人系統(tǒng)時(shí),須首先向主機(jī)申請(qǐng)加入——申請(qǐng)從機(jī)ID標(biāo)識(shí)。申請(qǐng)辦法是:一接入系統(tǒng),立即發(fā)送其第1條消息對(duì)象,發(fā)送的報(bào)文為一數(shù)據(jù)幀,其仲裁域的ID是系統(tǒng)特別約定的“申請(qǐng)ID”。約定:系統(tǒng)中僅主機(jī)對(duì)申請(qǐng)ID作出反應(yīng),即通過讀取該數(shù)據(jù)幀的8字節(jié)數(shù)據(jù)(該傳感器的電子數(shù)據(jù)表單——TEDs),了解該傳感器的類型、特性、編號(hào)、物理量綱及數(shù)據(jù)特征。主機(jī)比較/記錄該數(shù)據(jù)項(xiàng),并根據(jù)其TEDs中類型、特性項(xiàng),結(jié)合系統(tǒng)要求,確定其諸如采樣方式、采樣周期、是否數(shù)字濾波、濾波方式、數(shù)據(jù)區(qū)長(zhǎng)度等,并分配給其相應(yīng)的從機(jī)“標(biāo)識(shí)ID”和啟動(dòng)A/D轉(zhuǎn)換的“啟動(dòng)ID”。傳感器TEDs中的編號(hào)項(xiàng),用于區(qū)分系統(tǒng)中類型、特性相同的傳感器;物理量綱項(xiàng),用于告知主機(jī)該傳感器所傳數(shù)據(jù)的實(shí)際物理單位,也表征了該被測(cè)物理量數(shù)值的實(shí)際大?。粩?shù)據(jù)特征項(xiàng),用于表征所傳16位數(shù)據(jù)的特征(BCD碼、二進(jìn)制整數(shù)、二進(jìn)制小數(shù)、小數(shù)點(diǎn)位置等)。
          申請(qǐng)ID,一般可約定采用CAN系統(tǒng)優(yōu)先級(jí)較低的ID,確定后,系統(tǒng)主機(jī)將不再將此ID分配給任何CAN節(jié)點(diǎn)。
          4.1.2 發(fā)送配置/管理申請(qǐng)
          傳感器可獲得主機(jī)分配的2個(gè)從機(jī)標(biāo)識(shí)ID,分別為“標(biāo)識(shí)1ID”和“標(biāo)識(shí)0ID”。用標(biāo)識(shí)1ID配置第2條發(fā)送消息對(duì)象,該消息對(duì)象將成為與主機(jī)交互的發(fā)送,用于向主機(jī)申請(qǐng)各種各樣的配置/管理要求。但當(dāng)傳感器由于某些原因需要重新接入系統(tǒng)時(shí),仍需用第1條發(fā)送消息對(duì)象向主機(jī)申請(qǐng)加入。
          4.1.3 發(fā)送數(shù)據(jù)
          由于物理方面的原因,目前CAN網(wǎng)絡(luò)的規(guī)模大約在110個(gè)節(jié)點(diǎn)左右,即使BasicCAN也有11位的ID標(biāo)識(shí),所能標(biāo)識(shí)的節(jié)點(diǎn)數(shù)遠(yuǎn)超當(dāng)前所能使用的節(jié)點(diǎn)數(shù),只是11位ID的最低3位不參與報(bào)文濾波。為此,規(guī)定:主機(jī)分配給節(jié)點(diǎn)的兩個(gè)從機(jī)標(biāo)識(shí)ID,其前10位相同,最低位為1即標(biāo)識(shí)1 ID,用于配置第2條發(fā)送消息對(duì)象,該消息對(duì)象為與主機(jī)進(jìn)行常規(guī)交互的發(fā)送接口,如上所述;最低位為0即從機(jī)標(biāo)識(shí)0ID,用于配置第3條發(fā)送消息對(duì)象,該消息對(duì)象用于上傳節(jié)點(diǎn)數(shù)據(jù)。
          4.2 接收?qǐng)?bào)文的協(xié)議
          協(xié)議要求配置3個(gè)接收消息對(duì)象,作用分別為:
          ①濾波接收用本節(jié)點(diǎn)“申請(qǐng)ID”發(fā)來的數(shù)據(jù)幀。傳感器接入系統(tǒng)后,首先用申請(qǐng)ID發(fā)送傳感器電子數(shù)據(jù)表單,主機(jī)用同樣的ID回復(fù)一數(shù)據(jù)幀,該數(shù)據(jù)幀包含有分配給傳感器的標(biāo)識(shí)ID、啟動(dòng)ADC的啟動(dòng)ID及對(duì)該節(jié)點(diǎn)的基本配置要求。CAN控制器配置的第1條接收消息對(duì)象,即用來濾波接收該數(shù)據(jù)幀。
          ②濾波接收用本節(jié)點(diǎn)“標(biāo)識(shí)ID”發(fā)來的數(shù)據(jù)幀。當(dāng)需要對(duì)傳感器進(jìn)一步進(jìn)行配置管理時(shí),用第2條發(fā)送消息對(duì)象,向主機(jī)發(fā)送配置/管理申請(qǐng),主機(jī)將使用相同的ID(該從機(jī)的標(biāo)識(shí)ID),回復(fù)對(duì)其的配置/管理指令(位于該報(bào)文數(shù)據(jù)域)。為此,需配置第2條接收消息對(duì)象,濾波接收用本從機(jī)標(biāo)識(shí)ID發(fā)送的數(shù)據(jù)幀。
          ③濾波接收用本節(jié)點(diǎn)“啟動(dòng)ID”發(fā)來的數(shù)據(jù)幀。用啟動(dòng)ID配置第3條接收消息對(duì)象,即該消息對(duì)象能實(shí)現(xiàn)對(duì)該“啟動(dòng)ID”的濾波。

          結(jié)語
          基于SOC技術(shù)的C8051F041的使用,極大地簡(jiǎn)化了系統(tǒng)構(gòu)成,最大限度地減小了接口板的尺寸,使其更易于嵌入傳感器中。由MCU控制的信號(hào)調(diào)理、零點(diǎn)校準(zhǔn)及信息的定標(biāo)轉(zhuǎn)換,使傳感器成為CAN上的一個(gè)節(jié)點(diǎn),從而可充分利用CAN的各種技術(shù)優(yōu)勢(shì)。再通過一套比較完備的應(yīng)用層協(xié)議,最終實(shí)現(xiàn)了傳感器的即插即用。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();