新聞中心

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

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

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

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

本文引用地址:http://2s4d.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ù)責(zé)接收整車控制器發(fā)送的控制指令,來完成對充放電繼電器、風(fēng)扇以及電池等器件的控制。CAN接收程序如下:

if(TempData != 0)

{

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

{

…… //總線關(guān)閉處理

}

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

{

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

}

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

{

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

結(jié)語

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


上一頁 1 2 下一頁

關(guān)鍵詞: CPLD 電池管理 雙CAN控制器

評論


相關(guān)推薦

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

關(guān)閉