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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于MCP2502X/05X的CAN總線節(jié)點(diǎn)設(shè)計(jì)

          基于MCP2502X/05X的CAN總線節(jié)點(diǎn)設(shè)計(jì)

          作者: 時(shí)間:2009-12-11 來(lái)源:網(wǎng)絡(luò) 收藏
          3.1.2 預(yù)編程相關(guān)寄存器
          預(yù)編程相關(guān)寄存器就是實(shí)現(xiàn)不同協(xié)議,并通過(guò)CAN報(bào)文配置和操作其他寄存器。系列器件在實(shí)現(xiàn)對(duì)器件本身控制的前提下,用戶通過(guò)配置CAN模塊相關(guān)寄存器,并根據(jù)實(shí)際情況協(xié)議的具體內(nèi)容。擴(kuò)展的CAN協(xié)議必須與主的CAN協(xié)議相匹配。該采用協(xié)議標(biāo)準(zhǔn)配置CAN模塊寄存器,由于CAN擴(kuò)展與主節(jié)點(diǎn)之間要求點(diǎn)對(duì)點(diǎn)通信,所以采用PDU1格式,其29位標(biāo)識(shí)符各位的含義如圖3所示。

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

          圖3中,源地址的高5位可編程,低3位與擴(kuò)展器硬件相關(guān)聯(lián),用于實(shí)現(xiàn)特定的CAN命令,比如將報(bào)文源地址低3位寫“000”,讀取A/D轉(zhuǎn)換器的寄存器。PS(PDU格式)要小于240,其他各位由應(yīng)用層確定。按照協(xié)議標(biāo)識(shí)符格式寫配置寄存器。/5X器件包含3個(gè)獨(dú)立的發(fā)送報(bào)文ID:TX-ID0、TXID1和TXID2。
          配置相應(yīng)的寄存器預(yù)定義各種輸出報(bào)文中每一個(gè)報(bào)文的數(shù)據(jù)長(zhǎng)度碼以及直接從器件外設(shè)寄存器輸入待發(fā)送數(shù)據(jù)。器件按照預(yù)定義格式發(fā)送報(bào)文。配置接收屏蔽寄存器來(lái)定義CAN ID與可編程過(guò)濾器相比較的位。在29位標(biāo)識(shí)符格式中,RXMEID0寄存器的EID2:EID0位設(shè)置為無(wú)關(guān)位。/5X定義2個(gè)獨(dú)立的接收過(guò)濾器:RXF0和RXF1。其中,RXF0用于信息請(qǐng)求報(bào)文,而RXF1用于輸入報(bào)文。按照預(yù)定標(biāo)識(shí)符格式對(duì)過(guò)濾器進(jìn)行預(yù)編程配置,過(guò)濾器的每一位與CAN ID的位相對(duì)應(yīng)。為了接收?qǐng)?bào)文,CAN ID中的每一位(相應(yīng)屏蔽位設(shè)置為1時(shí))必須和對(duì)應(yīng)的過(guò)濾器位相匹配。忽略未滿足屏蔽/過(guò)濾條件的報(bào)文。同時(shí)配置為自動(dòng)發(fā)送模式,即當(dāng)采集輸入信號(hào)變化或經(jīng)一定時(shí)間間隔將自動(dòng)發(fā)送信息。
          3.2 用CAN報(bào)文配置擴(kuò)展器
          由于配置寄存器通過(guò)CAN訪問(wèn),因此除了采用預(yù)編程配置擴(kuò)展器外,通信建立后,主節(jié)點(diǎn)通過(guò)命令報(bào)文配置器件,也可在線修改已配置的寄存器。命令報(bào)文種類由源地址的低3位確定。


          4 硬件結(jié)構(gòu)及系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
          圖4為的硬件結(jié)構(gòu),MCP2502X/器件通過(guò)CAN驅(qū)動(dòng)器與CAN相連。圖5為系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)。

          CAN本身是一種多主總線,理論上每個(gè)節(jié)點(diǎn)都可作為主節(jié)點(diǎn),但MCP25132X/5X器件的CAN網(wǎng)絡(luò)中必須有一個(gè)具有CAN接口的CPU作為主節(jié)點(diǎn),來(lái)執(zhí)行控制算法,并做出相應(yīng)控制決策。而擴(kuò)展節(jié)點(diǎn)只能作為從節(jié)點(diǎn)。其他節(jié)點(diǎn)則通過(guò)主節(jié)點(diǎn)與對(duì)應(yīng)的從節(jié)點(diǎn)通信。


          5 主節(jié)點(diǎn)軟件
          在主節(jié)點(diǎn)軟件設(shè)計(jì)過(guò)程中,將主節(jié)點(diǎn)和其對(duì)應(yīng)的擴(kuò)展節(jié)點(diǎn)看成同一個(gè)ECU(電控單元)的不同CA(控制器應(yīng)用程序),并且地址可仲裁,主節(jié)點(diǎn)與擴(kuò)展節(jié)點(diǎn)之間點(diǎn)對(duì)點(diǎn)通信,總線上所有ECU都遵循協(xié)議進(jìn)行通信,其他ECU通過(guò)主節(jié)點(diǎn)訪問(wèn)擴(kuò)展節(jié)點(diǎn)。
          主節(jié)點(diǎn)軟件由主處理、接收處理和發(fā)送處理3部分構(gòu)成。其中,接收處理負(fù)責(zé)接收與本ECU地址相匹配的消息,并處理地址聲明消息和地址請(qǐng)求消息,將應(yīng)用消息填充到接收緩沖區(qū);發(fā)送消息負(fù)責(zé)將發(fā)送緩沖區(qū)的數(shù)據(jù)發(fā)送到。圖6為主處理軟件流程。

          6 結(jié)論
          MCP2502X/器件設(shè)計(jì)CAN擴(kuò)展節(jié)點(diǎn)無(wú)需大量編程,只需配置相關(guān)寄存器,連接簡(jiǎn)單電路就能實(shí)現(xiàn)與主節(jié)點(diǎn)的通信。在無(wú)需微控制器下擴(kuò)展一個(gè)CAN節(jié)點(diǎn),用戶自行設(shè)置協(xié)議內(nèi)容,非常靈活,其豐富的外設(shè)滿足一般測(cè)控需要。將MCP2502X/05X器件與協(xié)議相結(jié)合,可方便設(shè)計(jì)汽車的前端測(cè)控模塊,并與整個(gè)車載CAN網(wǎng)絡(luò)相連。這種設(shè)計(jì)方案系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、成本降低、提高信號(hào)傳輸?shù)目煽啃裕谲囕dCAN網(wǎng)絡(luò),尤其是前端測(cè)控模塊中具有廣泛的應(yīng)用前景。


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

          評(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); })();