新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 基于CPLD的电池管理双CAN控制器的设计与实现

基于CPLD的电池管理双CAN控制器的设计与实现

作者:时间:2018-08-27来源:网络收藏

CAN报文发送函数负责系统向整车控制器发送报文,发送时需将待发送的数据按CAN协议格式组合成一帧报文,送入SJA1000发送缓冲区中,然后启动发送命令。CAN发送程序如下:

本文引用地址:http://www.eepw.com.cn/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 下一页

评论


相关推荐

技术专区

关闭