电池办理体系是混合动力轿车中重要的电子操控单元,具有保证电池正常、牢靠和高效作业的效果,是电池与用电设备之间的桥梁。在研发以及批量生产过程中都需求对其内部操控参数进行离线或在线匹配标定,而电池办理体系需求收集和处理很多的数据,本文选用TMS320LF2407作为标定用CAN操控器。作为电动轿车上的一个CAN节点,需求接纳整车发来的CAN音讯来履行对外部继电器、电扇以及电池等器材的操控指令,本文选用SJA1000。
双CAN硬件电路和 CPLD逻辑规划
双GAN硬件电路规划
TMS320LF2407根据增强的哈佛结构,是地址线和数据线别离的微处理器,对晶振倍频后,频率高达40MHz。而SJA1000的地址线和数据线复用,增加了D S P与SJA1000之间读写数据的难度,这也是本体系规划的难点。惯例的规划方法是在DSP与SJA1000之间加一个电平转化双向缓冲驱动,其结构框图如图1所示。按这种方法规划的电路,当对SJA1000进行读写操作时,先装备DSP的I/O端口,将ALE拉高,锁存地址,然后经过DSP的I/O端口将CS和RD(WR)拉低,进行读(写)数据,最终拉高RD(WR)和CS。按此方法每次读写SJA1000寄存器中的值,均需经过程序对ALE、CS和RD(WR)信号进行设置,增加了程序源代码。假如操控器的闪存空间比较严重,采纳这种硬件衔接方法显然是不可取的。并且,为使状况寄存器的状况位读写正确,CAN报文读写时需在程序中加必定延时,这将影响电池办理体系的实时性。
为了尽量削减程序源代码,节约名贵的存储资源并进步电池办理体系的实时性,本文选用CPLD衔接双CAN操控器的接口电路,完结CAN报文收发。其硬件结构如图2所示。
CPLD的逻辑规划
CPLD具有速度快、体积小、驱动能力强、可在线编程等长处。根据CPLD的逻辑操控电路合适完结译码使命,本文选用EPM7064芯片,经过译码电路的软件规划,完结SJA1000输入信号的逻辑选通操控。
CPLD的输入信号是DSP发送的信号,由高位地址A[15…13]、I/O空间选通引脚IS以及写/读WR信号组成。其间,地址线A13作为SJA1000的地址和数据的挑选线,地址线A14和A15经译码后作为片选信号。地址线A13和I/O空间选通信号发生SJA1000的地址锁存信号SJA_ALE,地址线A13和读写信号WR发生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所示。
SJA1000初始化
经过向CAN操控器SJA1000形式寄存器写0x01,让其进入复位形式,然后分别对SJA1000的时钟分频寄存器、过错报警限额寄存器、中止使能寄存器、接纳代码和接纳屏蔽寄存器、总线时序寄存器和输出操控寄存器设置,最终向形式寄存器写0x08,进入正常作业形式。
初始化程序如下:
正常作业形式
发送CAN报文
CAN报文发送函数担任电池办理体系向整车操控器发送报文,发送时需将待发送的数据按CAN协议格局组合成一帧报文,送入SJA1000发送缓冲区中,然后发动发送指令。CAN发送程序如下:
CAN报文接纳函数首要担任接 收整车操控器发送的操控指令,来完结对充放电继电器、电扇以及电池等器材的操控。CAN接纳程序如下:
结语
本文规划的根据CPLD的双CAN操控器已运用于实践运用中,电池办理体系运转牢靠,CAN报文收发平稳,彻底合适混合动力轿车的运用。