佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > 交通运输/海工装备展区 > 汽车电子展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
汽车电子
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
基于CPLD的电池管理系统双CAN控制器的设计
作者:王凤国 吴红杰 郑敏信 齐铂金
欢迎访问e展厅
展厅
2
汽车电子展厅
车灯, 遥控发射器, 汽车娱乐系统, TPMS胎压监测, 汽车防盗器, ...
摘 要:本文针对整车对电池管理系统提出双CAN通信的要求,设计了由CPLD、TMS320LF2407与SJA1000构成的双CAN控制器。文中介绍了其硬件电路和软件流程。
关键词:混合动力电动汽车;电池管理系统;双CAN控制器

电池管理系统是混合动力汽车中重要的电子控制单元,具有保障电池正常、可靠和高效工作的作用,是电池与用电设备之间的桥梁。在研制以及批量生产过程中都需要对其内部控制参数进行离线或在线匹配标定,而电池管理系统需要采集和处理大量的数据,本文选用TMS320LF2407作为标定用CAN控制器。作为电动汽车上的一个CAN节点,需要接收整车发来的CAN消息来执行对外部继电器、风扇以及电池等器件的控制命令,本文选用SJA1000。

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

双CAN硬件电路设计

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

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

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

newmaker.com
图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的数据和地址读写信号。其CPLD的输入/输出信号逻辑关系如表1所示。

双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所示。

newmaker.com
图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);
TempData= SJA1000_READ(REG_MODE);
}while ((TempData & 0x01)!=0x00); //等待SJA1000进入正常工作模式

发送CAN报文

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

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存在完整有效的报文
{
…… //读取缓冲区报文



结语

本文设计的基于CPLD的双CAN控制器已运用于实际应用中,电池管理系统运行可靠,CAN报文收发平稳,完全适合混合动力汽车的使用。

参考文献
1.刘永吉吉. 混合动力电动汽车镍氢电池管理系统的研制[D]. 北京:北京航空航天大学,2007.03
2.刘和平,王维俊,江渝,邓力. TMS320LF240x DSP C语言开发应用[M]. 北京:北京航空航天大学出版社,2006.03
3.吴红杰. 混合动力电动轿车镍氢动力电池管理技术[D]. 北京:北京航空航天大学, 2005,10(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (8/15/2008)
查看更多汽车电子相关文章: more
·挽救生命的传感器:半导体如何改变汽车安全 安森美半导体 Joseph Notaro (10/15/2020)
·助力汽车自我思考 - 诠释GPU和神经网络加速器芯片如何为汽车应用提供智能优势 Bryce Johnstone (1/2/2020)
·利用高度集成的8位MCU简化CAN汽车应用 Edwin Romero (12/19/2019)
·基于SPAD / SiPM技术的激光雷达方案 安森美半导体 (11/19/2019)
·放手的信心 – 图像传感器是ADAS和自动驾驶的关键 Giri Venkat (12/19/2018)
·Speedcore eFPGA在汽车智能化中的应用 Achronix半导体公司 (10/30/2018)
·图像传感器平台将加速汽车安全特性的部署 安森美半导体 Bahman Hadji (10/30/2018)
·精密的先进驾驶辅助系统(ADAS)聚焦于图像传感的功能性安全 安森美半导体 Giri Venkat (10/17/2018)
·在汽车应用中转向USB Type-C™供电 安森美半导体高级产品线经理 Pete Chadbourne (10/17/2018)
·自动驾驶汽车的处理能力 Imagination Technologies汽车应用总监 Bryce Johnstone (9/3/2018)
查看相关文章目录:
·交通运输/海工装备展区 > 汽车电子展厅 > 汽车电子文章
文章点评 查看全部点评 投稿 进入贴吧


对 汽车电子 有何见解?请到 汽车电子论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技