新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于CPLD的電池管理雙CAN控制器的設計與實現

        基于CPLD的電池管理雙CAN控制器的設計與實現

        作者: 時間:2018-08-27 來源:網絡 收藏

        CAN報文發送函數負責系統向整車控制器發送報文,發送時需將待發送的數據按CAN協議格式組合成一幀報文,送入SJA1000發送緩沖區中,然后啟動發送命令。CAN發送程序如下:

        本文引用地址:http://www.104case.com/article/201808/387801.htm

        if((TempData 0x10) != 0x10) //CAN控制器空閑

        {

        if((TempData 0x08) != 0x0) //最近一次發送已成功

        {

        if((TempData 0x04) == 0x04)

        //CPU可以向發送緩沖器寫報文

        {

        …… //配置發送報文

        SJA1000_WRITE(REG_ COMMAND,0x01);//發送報文指令

        }

        }

        }

        接收CAN報文

        CAN報文接收函數主要負責接收整車控制器發送的控制指令,來完成對充放電繼電器、風扇以及電池等器件的控制。CAN接收程序如下:

        if(TempData != 0)

        {

        if((TempData 0x80) == 0x80) //總線關閉

        {

        …… //總線關閉處理

        }

        if((TempData 0x02) == 0x02) //數據溢出

        {

        …… //數據溢出處理

        }

        if((TempData 0x01) == 0x01) //RXFIFO存在完整有效的報文

        {

        …… //讀取緩沖區報文

        結語

        本文設計的基于已運用于實際應用中,系統運行可靠,CAN報文收發平穩,完全適合混合動力汽車的使用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 波密县| 吕梁市| 兴宁市| 台湾省| 山丹县| 大新县| 扎鲁特旗| 遂平县| 社会| 乌拉特前旗| 景东| 二手房| 宜黄县| 汝阳县| 义马市| 渝北区| 阳东县| 彭州市| 固始县| 东乡县| 右玉县| 新闻| 化州市| 确山县| 二连浩特市| 扬州市| 舟曲县| 宁远县| 平顺县| 景泰县| 龙山县| 深泽县| 安宁市| 阜宁县| 象州县| 贡山| 兴安盟| 岑溪市| 南木林县| 唐海县| 徐汇区|