新聞中心

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

        基于CPLD的電池管理雙CAN控制器的設計與實現(xiàn)

        作者: 時間:2018-08-27 來源:網(wǎng)絡 收藏

        CAN報文發(fā)送函數(shù)負責系統(tǒng)向整車控制器發(fā)送報文,發(fā)送時需將待發(fā)送的數(shù)據(jù)按CAN協(xié)議格式組合成一幀報文,送入SJA1000發(fā)送緩沖區(qū)中,然后啟動發(fā)送命令。CAN發(fā)送程序如下:

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

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

        {

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

        {

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

        //CPU可以向發(fā)送緩沖器寫報文

        {

        …… //配置發(fā)送報文

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

        }

        }

        }

        接收CAN報文

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

        if(TempData != 0)

        {

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

        {

        …… //總線關閉處理

        }

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

        {

        …… //數(shù)據(jù)溢出處理

        }

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

        {

        …… //讀取緩沖區(qū)報文

        結語

        本文設計的基于已運用于實際應用中,系統(tǒng)運行可靠,CAN報文收發(fā)平穩(wěn),完全適合混合動力汽車的使用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 都匀市| 宜川县| 曲沃县| 西贡区| 和田市| 无锡市| 成都市| 土默特左旗| 奈曼旗| 太湖县| 绍兴市| 永春县| 长葛市| 正安县| 信阳市| 老河口市| 星座| 梁河县| 呈贡县| 罗江县| 南城县| 长海县| 高阳县| 太白县| 仁布县| 高邮市| 剑河县| 衢州市| 台江县| 天长市| 铜梁县| 育儿| 丽水市| 武定县| 新和县| 宿州市| 确山县| 中山市| 荣昌县| 松潘县| 南部县|