首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

新型电动汽车锂电池管理系统的研究与实现----系统的总体设计(二)2

新型电动汽车锂电池管理系统的研究与实现----系统的总体设计(二)2



3.4.6系统中用到的温度测试方法
CPU的I/O口连接单总线器件,并通过一个上拉电阻连到+5V.需要注意的是单总线器件的布局应该是尽量简单,并保证匹配电阻出现在单总线拓扑结构的两端。系统连接图如图3.9:




3.5总电流、总电压测量



在以前系统中,总电流、总电压测量电路如图3.10,充电时电流传感器在采样电阻R1上的电压为“+”,经过运放后,AD0为“-”,AD1为“+”;放电时电流传感器在采样电阻R1上的电压为“-”,AD0为“+”,AD1为“-”。电压传感器在采样电阻R6上的压降AD2和AD0、AD1同时送往80C552的A/D口进行A/D转换,再经过标度变换即可测得总电路、总电压。程序中,通过AD0和AD1的值,就可判断出电池是处于充电状态还是放电状态。

80C552的A/D转换是10位的,这对于电池的功率强度估计略显不够,并且需要调整A1、A2运放的工作点。在BMS-Ⅲ系统中,总电流、总电压测量采用16位A/D转换芯片AD976,下面是AD976的主要特性:

  • 16位ADC;
  • 100kSPS速率;
  • 5V供电,±10V输入电压范围;
  • 低功耗:100mW;
  • 内部2.5V或外部参考电压选择;
  • 高速并行接口;
  • 片内时钟。

由于AD976的输入电压范围是±10V,总电流的测量不需要运放进行正负电压转换,从而免去了调整运放工作点问题,另外,AD976提供内部参考电压,这给系统调试也带来方便,下图3.11是AD976测量总电压、电流框图:





3.6显示系统
在系统中,显示采用精电蓬远公司生产的320×240点阵的液晶显示模块DMF-50174,液晶控制器是SED1335.DMF-50174分为两个区,第一区对应ASCII字符显示方式,即一个字符对应一个8×8的点阵,故整个第一区需要(320×240)/64=1200个字节,而第二区对应点阵显示方式,在第二区中,一个字节对应8点阵,故第二区需要(320×240)/8=9600个字节,液晶屏的点阵是和显示RAM一一对应的,DMF-50174一共需要10800个字节的显示RAM.
液晶控制器SED1335由振荡器、功能逻辑电路、显示管理电路、字符库及其管理电路以及产生驱动时序的时序发生器组成,振荡器工作频率可在1M~10MHz范围内选择。SED1335能在很高的工作频率下迅速地解译MPU发来地指令代码,将参数置入相应的寄存器内,并触发相应的逻辑功能电路运行。控制部可以管理64K显示RAM ,管理内藏的字符发生器及外扩的字符发生器。

SED1335将64K显示RAM可分为以下几种显示特区:
1.文本显示特性
具有此特性的显示RAM区专用于文本方式显示,在该显示RAM区中每个字节的数据都认为是字符代码。SED1335将使用该字符代码确定字符库中字符首地址,然后将相应的字模数据传送到液晶显示模块上。在液晶上出现该字符的8×8点阵块。也就是文本显示RAM的一个字节对应显示屏上的8×8点阵。

2.图形显示方式
具有此特性的显示RAM区专用于图形方式显示。在该显示RAM区中每个字节的数据直接被送到液晶显示模块上,每个位的电平状态决定显示屏上一个点显示状态,“1”为显示,“0”为不显示。所以图形显示RAM的一个字节对应显示屏上的8×1点阵。





SED1335中专有一组寄存器来管理这两种特性的显示区,SED1335可以单独显示一个显示区,也可把两个特性的显示区通过某种逻辑关系合成显示,这些显示方式及特性的设置都是通过软件指令设置实现的。

SED1335有13条指令,多数指令带有参数,一共分为下面四类指令:系统控制指令、显示操作指令、绘制操作指令及存储操作指令。图3.12是80C552和SED1335的接口电路:

在显示程序上,BMS-Ⅲ设计了以下几个子程序供其他程序调用,所有的显示画面都是通过调用它们完成的。


initlcdreg1()初始化液晶显示区1;
initlcdreg2()初始化液晶显示区2;
dispascii(BYTE x,BYTE y,BYTE c)在第一区的(x,y)处显示ASCII值为c的字符;
dispstr(BYTE x,BYTE y,BYTE len,BYTE *str)在第一区的(x,y)开始处显示长度为len的ASCII字符串;
disphz(WORD x,WORD y,WORD c)在第二区的(x,y)处显示16×16点阵的汉字;
disphzstr(WORD x,WORD y,BYTE len,BYTE *str)在第二区的(x,y)开始处显示长度为len的汉字串;
disphz8_16(WORD x,WORD y,WORD c)在第二区的(x,y)处显示8×16点阵的字符;
dispbitmap(BYTE x,BYTE y,BYTE lenth,BYTE height,BYTE *str)在第二区的(x,y)处显示长度为lenth、高度为height的位图。

以上16×16点阵汉字是在ucdos下通过一种汉字提取程序得到的字模代码,由于单片机的内存有限,我只是把需要显示的汉字提取出来,放到一个双下标数组中,需要显示某一汉字时,只需调用该汉字的下标序号即可。

8×16点阵字符及其它位图则是通过去掉*.bmp位图文件的文件头而得到的。
返回列表