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

时间:2022-03-17作者:佚名

电池管理系统是混合动力汽车中重要的电子控制单元,具有保障电池正常、可靠和高效工作的作用,是电池与用电设备之间的桥梁。在研制以及批量生产过程中都需要对其内部控制参数进行离线或在线匹配标定,而电池管理系统需要采集和处理大量的数据。

双CAN硬件电路和CPLD逻辑设计

双CAN硬件电路设计

TMS320LF2407基于增强的哈佛结构,是地址线和数据线分离的微处理器,对晶振倍频后,频率高达40MHz。而SJA1000的地址线和数据线复用,增加了DSP与SJA1000之间读写数据的难度,这也是本系统设计的难点。常规的设计方式是在DSP与SJA1000之间加一个电平转换双向缓冲驱动,其结构框图如图1所示。按这种方式设计的电路,当对SJA1000进行读写操作时,先配置DSP的I/O端口,将ALE拉高,锁存地址,然后通过DSP的I/O端口将和()拉低,进行读(写)数据,最后拉高()和。按此方式每次读写SJA1000寄存器中的值,均需通过程序对ALE、和() 信号进行设置, 增加了程序源代码。如果控制器的闪存空间比较紧张,采取这种硬件连接方式显然是不可取的。而且,为使状态寄存器的状态位读写正确,CAN报文读写时需在程序中加一定延时,这将影响电池管理系统的实时性。

图1 一般双CAN控制器的硬件结构图

为了尽量减少程序源代码,节省宝贵的存储资源并提高电池管理系统的实时性,本文采用CPLD连接双CAN控制器的接口电路,实现CAN报文收发。其硬件结构如图2所示。

图2 基于CPLD的双CAN控制器硬件结构图

CPLD的逻辑设计

CPLD具有速度快、体积小、驱动能力强、可在线编程等优点。基于CPLD的逻辑控制电路适合完成译码任务,本文选用EPM7064芯片,通过译码电路的软件设计,完成SJA1000输入信号的逻辑选通控制。

CPLD的输入信号是DSP发送的信号,由高位地址A[15…13]、I/O空间选通引脚以及写/读信号组成。其中,地址线A13作为 SJA1000的地址和数据的选择线,地址线A14和A15经译码后作为片选信号。地址线A13和I/O空间选通信号产生SJA1000的地址锁存信号 SJA_ALE,地址线A13和读写信号产生SJA1000的数据和地址读写信号。

双CAN软件程序设计

该CAN控制器的收发程序包括两部分:DSP的CAN收发程序和SJA1000的CAN收发程序。每个CAN收发程序主要由三个函数组成: CAN初始化程序、CAN报文接收程序和CAN报文发送程序。由于DSP的CAN收发程序比较容易设计,只需设置CAN控制器寄存器中的相应位,就可实现 CAN报文的收发。所以,本文主要介绍SJA1000的CAN报文收发程序设计。

从表1中可以看到,SJA1000的寄存器映射到DSP的I/O空间。本文选择0x8000作为SJA1000地址输入端口,0xA000作为 SJA1000数据输入/输出端口。其程序主要由SJA1000初始化、SJA1000接收报文和SJA1000发送报文三个子函数组成。其收发函数的流程如图3所示。

图3 SJA1000发送报文程序流程图

SJA1000初始化

通过向CAN控制器SJA1000模式寄存器写0x01,让其进入复位模式,然后分别对SJA1000的时钟分频寄存器、错误报警限额寄存器、中断使能寄存器、接收代码和接收屏蔽寄存器、总线时序寄存器和输出控制寄存器设置,最后向模式寄存器写0x08,进入正常工作模式。初始化程序如下:

#define SJA1000_Data_Port portA000

ioport unsigned int portA000; //定义数据输入/输出端口

#define SJA1000_Address_Port port8000

ioport unsigned int port8000; //定义地址输入端口

……

SJA1000_WRITE(REG_MODE, 0x01);

TempData= SJA1000_READ(REG_MODE);

//向模式寄存器写0x01,进入复位模式

while((TempData * 0x01) != 0x01); //等待SJA1000复位

……

do

{

SJA1000_WRITE(REG_MODE, 0x08);

相关阅读

热销商品

拷边机 包缝机内六角上针匙 开刀 上针内6角螺丝刀扳手 1.5 1.6

拷边机(包缝机)专用内六角上针匙及开刀工具,适用于精确调整机针位置与维护设备。配备1.5mm与1.6mm两种规格的内六角螺丝刀扳手,专为紧固或拆卸上针螺丝设计,确保机针安...
1.65

暗装开关插座面板单开双控一开五孔二三极USB快充肤感超薄家用4开

暗装开关插座面板,简约设计,完美融入家居环境。单开双控,轻松实现远程控制,方便实用。一开五孔,满足多种电器插孔需求;二三极USB快充,快速充电,高效便捷。超薄设计,节省空...
1.2

鸿雁开关插座面板旗舰店家用暗装墙壁86型一开带五孔多孔X86-1

鸿雁开关插座面板旗舰店推出的家用暗装墙壁86型一开带五孔多孔X86-1,是一款设计精良、功能齐全的家居电气产品。该产品采用86型标准面板尺寸,安装方便,适用于各种暗...
4.71

不锈钢加厚镊子维修工具夹子圆头弯头防滑带齿止血烧烤夹茶杯水草

不锈钢加厚镊子维修工具夹子圆头弯头防滑带齿止血烧烤夹茶杯水草 这款不锈钢加厚镊子维修工具夹子是设计用于各种专业场合的多功能工具。它拥有一个厚实的手柄,确...
0.8

三色变光led筒灯2.5寸3W5瓦开孔6 7.5 8公分家用客厅嵌入式天花灯

三色变光LED筒灯,2.5寸精巧设计,功率可选3W/5W,适用于开孔直径6.7–8公分的家用嵌入式安装。采用高亮LED光源,支持暖光、自然光、白光三色切换,满足不同场景氛围需求。...
7.2

网站栏目