久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

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

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

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

本文引用地址:http://cqxgywz.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 下一頁

評論


相關推薦

技術專區

關閉