博客專欄

        EEPW首頁(yè) > 博客 > 如何處理不支持網(wǎng)絡(luò)過(guò)濾的CAN收發(fā)器失能問(wèn)題

        如何處理不支持網(wǎng)絡(luò)過(guò)濾的CAN收發(fā)器失能問(wèn)題

        發(fā)布人:美男子玩編程 時(shí)間:2024-09-27 來(lái)源:工程師 發(fā)布文章

        在最近的CAN網(wǎng)絡(luò)管理開(kāi)發(fā)過(guò)程中,我們遇到了一些具有挑戰(zhàn)性的問(wèn)題。


        客戶要求我們的系統(tǒng)支持CAN網(wǎng)絡(luò)管理功能,特別是需要使用ID范圍在0X400至0X4FF之間的任意CAN報(bào)文來(lái)喚醒硬件。為了降低成本,我們選擇了恩智浦的TJA1043T作為CAN收發(fā)器。然而,這款收發(fā)器并不支持網(wǎng)絡(luò)過(guò)濾功能,這給我們帶來(lái)了不少麻煩。


        我們選用的TJA1043T CAN收發(fā)器,通過(guò)控制其STB(狀態(tài))引腳和EN(使能)引腳,可以切換收發(fā)器的工作模式,進(jìn)而控制INH(抑制)引腳。




        我們的目標(biāo)是通過(guò)控制INH引腳來(lái)管理8V電源,從而實(shí)現(xiàn)對(duì)整個(gè)硬件電源的控制。



        由于TJA1043T不支持網(wǎng)絡(luò)過(guò)濾,當(dāng)CAN收發(fā)器接收到任意CAN報(bào)文后,都會(huì)被喚醒并拉高INH引腳開(kāi)啟8V電源。MCU在上電后會(huì)判斷接收到的報(bào)文是否為網(wǎng)絡(luò)管理報(bào)文(ID在0X400至0X4FF之間)。如果不是,MCU會(huì)控制收發(fā)器的STB和EN引腳再次進(jìn)入休眠狀態(tài)。


        然而,在測(cè)試過(guò)程中我們發(fā)現(xiàn),當(dāng)?shù)皖l率發(fā)送非網(wǎng)絡(luò)管理報(bào)文時(shí),CAN收發(fā)器可以正常進(jìn)入休眠狀態(tài)。但當(dāng)高頻率發(fā)送非網(wǎng)絡(luò)管理報(bào)時(shí),CAN收發(fā)器很快就會(huì)出現(xiàn)失控現(xiàn)象。


        具體表現(xiàn)為:盡管STB和EN引腳的電壓已經(jīng)被設(shè)置為休眠狀態(tài),但I(xiàn)NH引腳卻一直保持高電平,無(wú)法進(jìn)入休眠狀態(tài)。測(cè)量波形如下:



        經(jīng)過(guò)深入分析,我們發(fā)現(xiàn)導(dǎo)致這個(gè)問(wèn)題的主要原因是:收發(fā)器最后保持在Go-to-Sleep模式無(wú)法進(jìn)入休眠模式。



        為了緩解這個(gè)問(wèn)題,我們嘗試通過(guò)修改CAN收發(fā)器INH引腳的阻容電路來(lái)加速I(mǎi)NH引腳的拉低過(guò)程,從而更快地進(jìn)入休眠模式。


        經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,這種改進(jìn)措施可以在一定程度上優(yōu)化INH失控的情況,特別是在100ms周期以上發(fā)送非網(wǎng)絡(luò)管理報(bào)文時(shí)表現(xiàn)更為明顯。


        這種改進(jìn)措施雖然能夠改善INH失控的現(xiàn)象,但并未從根本上解決問(wèn)題。收發(fā)器在Go-to-Sleep模式下仍然存在無(wú)法進(jìn)入休眠模式的風(fēng)險(xiǎn)。



        為了解決這個(gè)問(wèn)題,我們?cè)谲浖用嬉肓艘恍┊惓L幚頇C(jī)制。


        當(dāng)檢測(cè)到收發(fā)器INH引腳失控(即電源一直處于開(kāi)啟狀態(tài))時(shí),MCU會(huì)再次控制收發(fā)器的STB和EN引腳由休眠狀態(tài)切換到正常工作狀態(tài),然后再重新設(shè)置進(jìn)入休眠狀態(tài)。


        通過(guò)這種方式,我們成功地解決了INH引腳失控的問(wèn)題。測(cè)量波形如下:




        雖然TJA1043T CAN收發(fā)器在網(wǎng)絡(luò)過(guò)濾方面存在一些限制,但通過(guò)合理的軟件設(shè)計(jì)和異常處理機(jī)制,我們?nèi)匀豢梢詫?shí)現(xiàn)客戶的網(wǎng)絡(luò)管理需求。 


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: CAN

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

        關(guān)閉
        主站蜘蛛池模板: 赞皇县| 灌云县| 潍坊市| 麻城市| 玛沁县| 云梦县| 新竹县| 楚雄市| 鹤峰县| 萨嘎县| 应用必备| 富源县| 徐汇区| 垫江县| 宁武县| 武邑县| 阿拉善右旗| 高要市| 南丰县| 彰化市| 白朗县| 通山县| 宁安市| 建昌县| 平遥县| 星座| 华容县| 固始县| 多伦县| 庆城县| 永定县| 襄垣县| 永州市| 宣化县| 雷山县| 呼伦贝尔市| 沙湾县| 东城区| 天镇县| 许昌县| 同心县|