<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

基于MCP2502X/05X的CAN總線(xiàn)節點(diǎn)設計

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

本文引用地址:http://dyxdggzs.com/article/163422.htm

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


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

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


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

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


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>