在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    <address id="qec3z"><var id="qec3z"><center id="qec3z"></center></var></address>

      <span id="qec3z"><code id="qec3z"></code></span>
    • <dfn id="qec3z"></dfn>
      <ruby id="qec3z"><thead id="qec3z"><noscript id="qec3z"></noscript></thead></ruby>
      <label id="qec3z"></label><dfn id="qec3z"><var id="qec3z"></var></dfn>

        新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CANopen協(xié)議棧IO模塊設(shè)計(jì)

        CANopen協(xié)議棧IO模塊設(shè)計(jì)

        作者:魯猛 時(shí)間:2025-03-18 來(lái)源:EEPW 收藏

        1   整體思路

        本文引用地址:http://www.biyoush.com/article/202503/468259.htm

        一個(gè)工業(yè)級(jí)-IO 至少需要滿足?

        1.低成本:ARM-M0 32 bit 低成本

        2.性能高:主頻80M 集成CAN,同時(shí)兼容CAN-FD

        3.寬電壓:工作電壓1.62 ~ 3.6 V

        4.滿足工業(yè)要求:工作溫度-40 ~ 125 ℃,覆蓋工業(yè)級(jí)范圍

        一個(gè)工業(yè)級(jí)-IO 需要占用的內(nèi)存資源?

        1.內(nèi)部閃存FLASH:128 k Byte

        2.內(nèi)部SRAM:32 k Byte

        image.png

        2   項(xiàng)目設(shè)計(jì)過(guò)程

        2.1 硬件設(shè)計(jì)

        CAN接口硬件設(shè)計(jì):

        1742271833290855.png

        1.采用電源信號(hào)雙隔離

        2.保險(xiǎn)+ 電感防雷擊設(shè)計(jì)

        3.RJ45 輸出,方便級(jí)聯(lián)

        Serial接口硬件設(shè)計(jì):

        1742271880248793.png

        1.USB 轉(zhuǎn)串口芯片CH340G

        2.僅用于Debug 信息打印

        輸入、輸出測(cè)試IO硬件設(shè)計(jì):

        輸出光耦隔離,MOS電流增強(qiáng)

        1742271928692836.png

        輸入雙向光耦隔離,支持PNP、NPN模式

        1742271988693354.png

        2.2 軟件設(shè)計(jì)

        CAN接口軟件實(shí)現(xiàn)

        1742272079496417.png

        1.CAN初始化

        2.CAN的郵箱發(fā)送

        3.CAN中斷接收

        image.png

        IO操作軟件實(shí)現(xiàn):

        1742272165720662.png

        1742272181911219.png

        1.IO初始化

        2.IO的翻轉(zhuǎn)

        協(xié)議棧的的移植:

        image.png

        1.協(xié)議棧的移植(stack、ccm);

        2.對(duì)象字典的遷移(objdict);

        3.芯片底層的對(duì)接(driver);

        CANopen對(duì)象字典和CIA401實(shí)現(xiàn):

        輸入映射rpdo:

        1742272361706134.png

        1742272375420406.png

        1742272391585671.png

        1742272415764795.png

        輸入處理:

        1742272441207023.png

        1742272462248572.png

        3   系統(tǒng)流程圖

        image.png

        硬件流程圖概述:

        1.電源上電后,電源管理芯片控制5 V 電源端的輸出,后端無(wú)短路后直接輸出;

        2. 5 V 電源使能后,經(jīng)過(guò)LDO 穩(wěn)壓芯片到3.3 V 輸出到MCU 和各個(gè)接口芯片;

        3.MCU供電正常后,開始復(fù)位,取外部晶振倍頻后以80M 主頻運(yùn)行;

        4.MCU運(yùn)行后會(huì)初始化相關(guān)外設(shè),在主循環(huán)中進(jìn)行CAN報(bào)文的收發(fā)和IO端口的控制;

        5.MCU將內(nèi)部的CAN報(bào)文經(jīng)TTL信號(hào)隔離后發(fā)送到CAN收發(fā)器,交由收發(fā)器再發(fā)送到總線上;

        6. CAN收發(fā)器收CAN總線數(shù)據(jù),轉(zhuǎn)換為TTL信號(hào),隔離后再發(fā)送的MCU 內(nèi)部的CAN 控制器的FIFO 中;

        7. MCU還控制著硬件的輸入輸出IO狀態(tài);

        1742272605412209.png

        軟件流程圖概述:

        1.系統(tǒng)上電后, Mspm0g3507 會(huì)進(jìn)行系統(tǒng)初始化;

        2.系統(tǒng)初始化完畢后,會(huì)進(jìn)行外設(shè)的初始化(IO、CAN、Serial、Timer...);

        3.在CAN外設(shè)正常初始化后,對(duì)CANopen協(xié)議棧進(jìn)行初始化,此時(shí)會(huì)分配Node-Id,波特率、以及將對(duì)應(yīng)的CANopen節(jié)點(diǎn)切為預(yù)操作狀態(tài);

        4.MCU在主循環(huán)中會(huì)接收CANopen主節(jié)點(diǎn)的信息,會(huì)進(jìn)行以下處理:CANopen狀態(tài)機(jī)處理、PDO報(bào)文處理、SDO報(bào)文處理以及自身心跳報(bào)文的發(fā)送等;

        5.MCU在主循環(huán)中遵循CIA401協(xié)議,根據(jù)主節(jié)點(diǎn)發(fā)送的對(duì)象信息和狀態(tài)機(jī)進(jìn)行相關(guān)的CIA401的處理;

        6. MCU根據(jù)CIA401對(duì)輸入和輸出IO進(jìn)行狀態(tài)的更新和信號(hào)的輸出;

        4   系統(tǒng)實(shí)物圖

        image.png

        image.png

        輸出端子Y16十六通道,這里只有了8通道

        image.png

        image.png

        CAN收發(fā)電路,RJ45連接

        image.png

        和主控制器連接在一起。

        (本文來(lái)源于《EEPW》



        關(guān)鍵詞: 202503 CANopen IO模塊

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉