AnyCAN模块在蓄电池参数监测系统中的应用
2009-04-24
作者:臧传江
摘 要: 介绍了一种基于CAN-bus的分布式数据采集系统,并将其应用于蓄电池参数自动监测系统中。该系统以AnyCAN嵌入式模块为核心,采用CAN-bus通讯方式,以嵌入式μCOSII实时操作系统为软件平台。
关键词: AnyCAN模块;嵌入式系统;驱动程序
蓄电池参数自动监测在蓄电池使用中起着非常重要的作用,多种多样的监测仪器设备代替了大量的人工监测手段,为监测蓄电池组的参数提供了有力的技术保障。本文将对应用于蓄电池参数自动监测系统中的分布式数据采集器和CAN总线通讯的设计方案进行深入的探讨。
1 硬件系统设计
1.1 现场采集器
本系统硬件部分采用了AnyCAN一体化嵌入式CAN模块作为核心器件。该模块包含了CAN-bus数据采集节点的全部器件,模块用金属外壳整体灌封,有很好的抗干扰性能指标,模块资源包含有A/D转换器、IO端口等,现场采集器功能框图如图1所示,采集器需要采集蓄电池的电压、温度和液位信息,直接安装在单节蓄电池上,使用蓄电池自身供电。
1.2 实际网络构建和设备选型
蓄电池参数采集系统中CAN-bus网络连接节点数量为480个左右,由于受到CAN-bus物理层驱动能力(小于110节点)以及应用协议规定的网络容量(256节点)限制,在组网时需要把网络划分成若干个子网络以满足系统要求。网络管理采用多通道CAN接口卡设备,每个通道管理一定数量的采集器,最终将数据汇总到统一的数据库中。
在实际网络中,选用2台CANHub-AS4智能集线器把物理网络分成8个独立的物理子网,可以把网络划分成多个互相隔离的管理区域,同时增强网络负载能力,比使用一个独立网络有更好的安全性和隔离性。采用PCI9820I双通道 CAN接口卡管理整个网络,如图2所示。
数据采集网络的整个工作过程是现场数据采集器通过A/D转换器和数字端口采集各种传感器的参数,进行数据的转换后,以iCAN响应报文通信方式上传到监控服务器。增加节点只需要将新的设备配置好参数并接入网络即可。同时,数字化的网络方案可方便实现与任何网络互联互通,例如加装CAN-Ethnet转换设备就可实现CAN-bus接入以太网,加装CAN-GPRS转换设备就能实现超远程无线监控功能。
1.3 采集器外围硬件电路
1.3.1 电源升压电路
电池的供电电压在1.8~2.5V之间,而元器件通常需要5V供电电压,需要使用升压器件把电压升至5V。本设计中使用二级升压设计,第一级升压电路可从最低0.9V升压至3.3V,使用SP6648设计第一级升压电路,该芯片为同步升压开关电源芯片,效率可达94%,输出电流400mA,输出纹波小。
第二级电路从3.3V升至5V,使用电荷泵升压器件CAT3200。由于采用电荷泵升压方式,输出具有更小的纹波。电荷泵升压电路输出电流较小,实际设计中,使用了两组相同电荷泵的升压电路分别为核心模块和外围电路供电,以保证提供足够的电源裕量并且数字电路和模拟电路之间有较好的信号隔离,如图3所示。
1.3.2 ADC基准源
为了给ADC转换器提供稳定的基准源,使用ADI公司的ADR525作为基准源,该器件具有良好的温度漂移特性,极低噪音。设计上配合运放电路设计成输出2路基准电压,其中一路2.5V为ADC基准值,另一路提供给温度传感器调理电路作为起始偏移电压。
1.3.3 温度传感器信号调理
温度传感器使用LM35高精度线性温度传感器,在本项目中,需要测量温度在10℃~50℃之间,精度可以达到0.25℃以上。LM35以10mV/℃输出电压,调理电路设计为4倍加法放大器兼滤波,得到40mV/℃的传感器放大电压输出。起始偏电压为运放的偏置静态电压,当传感器输出为零时,偏置电压使运放起始输出电压为一个很小的起始电压值,以减小运放接近零电压的非线性放大失真,电路如图4所示。
2 软件设计
2.1 iCAN协议报文处理流程
图5描述了iCAN节点对于数据请求报文的一般处理过程。一旦请求被处理完后,会产生一个iCAN响应报文。在报文处理时,主站设备根据对从站设备所需要的操作确定从站MAC ID、报文的功能码、所要操作的资源节点及数据参数。
2.2 模块软件的工作流程
AnyCAN模块程序基于?滋COSII嵌入式实时操作系统编写,在?滋COSII系统的管理下,当CAN驱动任务收到主机的报文请求时,将报文接收后向iCAN协议解析任务发送信号量,解析任务将报文按照iCAN协议格式解析后判断请求类型,例如判断是读取ADC数据,那么就向ADC任务发送采集ADC信号量,ADC采集任务收到信号后启动运行将ADC值取出并回传给iCAN协议解析任务,iCAN解析任务获取ADC数据后将数据打包后交给CAN驱动任务响应主机的请求报文。
蓄电池参数自动检测系统体积小巧,电池直流供电,功耗小。安装在蓄电池检查口处,适用于数量多的电池组。由于采用了AnyCAN嵌入式数据采集模块,采集数据精度高,工作稳定,系统的工作模式和采集的数据的精度达到了设计要求,工作情况完全满足了蓄电池参数的自动检测需求。
参考文献
[1] LABROSSE J J.嵌入式实时操作系统ΜC/OS-II(第2版)[M].邵贝贝译.北京:北京航天航空大学出版社,2003.
[2] 周立功.iCAN现场总线原理与应用[M].北京:北京航天航空大学出版社,2007.
[3] 周立功.ARM嵌入式系统系列教程[M].北京:北京航天航空大学出版社,2005.
[4] 广州致远电子有限公司.AnyCAN-5000系列嵌入式模块产品数据手册[EB/OL].http://www.embedcontrol.com/products/AnyCAN/AnyCan5000_ds.pdf.