电池充电状态智能检测系统的设计

来源:斯诺克直播新闻最新>    发布时间:2023-09-20 00:35:23 1次浏览

  随着数码相机、MP3播放器等数码产品的普及, 市场对可充电电池和智能快速充电器的需求慢慢地增 多。在智能快速充电器的研制过程中,为保证可充电 电池的常规使用的寿命.提高充电器的充电速度和充电效 率,需对充电过程中的电池状态(电池电压、温度)进 行实时高速采集,并把采集的海量数据传送到PC主 机,最后由PC对采集到的海量数据来进行分析。一般隋 况下,需对充电器中的四路可充电电池的电压和温度 数据来进行采集,然后通过USB接口向计算机发送采集 的八路数据,使计算机可以实时显示八路数据,同时 对数据加以分析处理并保存。为此,本文选择 MSP430F149和PDIUSBDl2设计了一种基于USB接 口的电池充电状态智能检测系统,系统的数据采样达 到12位AD转换精度.在批量模式和同步模式下,可 实现1MB/S的数据传输速率把采样得到的海量数据 通过USB接口传送到PC机并由PC机进行数据的分 析与处理。

  4.1固件设计 设备同件程序是设备正常运行的核心,其最大的作用是 完成设备的管理和数据的交互,设备的管理是指设备 与主机的驱动程序互相响应,完成设备的添加、配置 和删除等基本操作:数据的交互是指设备与主机之间 的数据包的传输。其基本功能是控制A/D模块的数据 采集:接收并处理驱动程序的请求,如请求描述符、请 求或设置设备状态、请求设备设置、请求或设置设备 接口等USBl.1标准请求,控制芯片PDIUSBDl2接收 应用程序的控制指令等。其程序主框图如图3所示。 单片机检测到PDIUSBDl2后进入主循环。此时PC机 先发令牌包给PDlUSBDl2,PDIUSBDl2接收到令牌包 后给单片机发中断.单片机根据中断类型设定标志位

  本设计采用的MSP430F149单片机有很高的 集成度。单片集成了PWM、片内USART、看门狗定时 器、片内数控振荡器(DCO)、大量的I]O端口;所具有 的60KB F1ash ROM和2KB RAM为实现USB模块提 供了硬件卜的支持:所具有的多通道12位200kps

  Vec DATA3 DATA4 P GND DATA5 D DATA6I DATA7 U

  的8通道A/D转换.内置采样与保持电路、参考 电压.而且参考电压有6种可编程组合以及4种模数 转换模式的特点,能轻松实现多通道的有序高精度数据 采集。

  PDIUSBDl2支持USBl.1协议.集成了串行接口 引擎(SIE)、320b FIFO存储器、收发器(Transceiver)和 电压调整器.还有可编程的时钟输出和状态LED输出 (GoodLinkTM).可控制的软件连接(SoftConnectTM)以 及内部上电复位和低电压复位电路。

  中文核心期刊《微计算机信息》(嵌入式与SOC)2005年第21卷第10—2期

  Design Of Intelligent Test System For Bakery Charge State

  4.2单片机的数据采集软件设计 MSP430F149的ADCl2模数转换模块通过设置

  与ADCl2相关的寄存器来实现AD转换, MSP430F149提供了四种转换模式,分别是单通道单 次转换模式、序列通道单次转换模式、单通道多次转 换模式和序列通道多次转换模式。在电池充电状态测 试系统中选择了序列通道多次转换模式,其代码如 下:

  检测系统的应用系统软件分为:单片机端的数据 采集和固件程序、主机端的USB驱动程序和用户应用 程序。USB设备端的单片机软件,主要完成USB协议 处理、数据交换和数据的采集;主机端的用户应用程 序通过USB驱动程序通讯.由系统完成USB协议的 处理、数据传输和数据的分析处理。

  {DeviceIoControl(hfile2,IOCTL—D12一RE—

  SET_PIPE,0,0,0,0,&TxdBytes,NUI—I J);

  unsigned long needed=O;char l'lD3.|ne f300] +hfileI=NULL;

  一 中文核心期刊《微计算机信息》(嵌入式与SOC)2005年第21卷第10—2期

  取得访问设备驱动程序的句柄;其次调用Win32函数 DeviceloControl0来提交I/O控制码,并且为CreateFile

  苏州市社会持续健康发展项目(SSZ0241) 中国自控网:h如:/&rxw autocontrol corn.cn 72万方36数0元据/年邮局订阅号:82—946

  MSP430F149、Philips公司的USB接口芯片PDIUS— BDl2和Pc主机组成.系统框图如图1所示。其中 MSP430F139构成的数据采集模块主要完成数据采 集、A/D转换、对数据来进行滤波处理、数据通讯、Flash 存储等;PDIUSBDl2用来实现PC机与MSP430F149 单片机进行通讯的高速接口,并把数据采集模块采集

  #defineADCMEM((int 4)Ox0140) void Init(void); unsigned int Resnh[2];

  void main(void) f Init0; ADCl2CTLOI=0x01;LPM0;一NOP0;1 void Init(void) {WDTCTL=WDTPW+WDTHOLD;

  {bool bResult-galse;unsigned long TxdBytes;Un一

  0函数返回的设备句柄设置I/0缓冲医;然后根据句柄 signed long length=ram_length;

  bResuh=ReadFile(hille2,rva]ue,length,&TxdBytes,

  Abstract:A design of intelligent test system for battery"charge state fbattery voltage and battery temperaturel which was COIl— trolled with MSP430F149 and PDIUSBDl2 war introduced.This paper detailed analvsis inade Oll the software and hardware structure of the intelligent test system for battery charge state.It has many advantages such as high precision.high reliability, flexible cotfflguration and so on Keywords:rechargeable battery;test;PDIUSBDl2;MSP一 430F149

  备使用完毕后使用CloseHandleoi菊数关闭设备。USB NULLl:

  void gethandle(LPGUID pGuid,char pipename) +设备传输点句柄读取函数+/

  MSP430F139数据采集和PDIUSBDl2模块的电 路图如图2所示。图中A0一A7为MSP430F139的8路 模拟信号输入通道,通过对MSP430F139的ADCl2模 块的设置,以AVcc和AVss为参考电压进行电池状态 数据的采集;MSP430F139的P5.0一P5.7作为双向并行 数据传送接口与PDIUSBDl2的并行数据端口DA~ TA0一DATA7相连.MSP430F149的P3.0一P3.4分别与 PDIUSBDl2的ALE、C£N、R1)-N、WR_N、RESET_N 连接.实现MSP430F149和PDlUSBDl2的地址锁存、 片选、读写、复位的使能控制,挂起端SUSPENT与 MSP430F149的P2.2相连,利用MSP430F149的P2口 的外部中断功能,使PDIUSBDl2的中断【_:T INT N与 MSP430F149的P2.1相连.以便当PDIUSBDl2接收到 数据时能触发MSP430F149单片机的外部中断,进入

  ADCl2IE=0X02;一EINT0;) interupt[ADC_VECTOR】void ADCl2(void) {unsigned int i;for(i=0;i<2;i++){Result[i]=AI)一 CMEM[i];I} 4.3 PC主机的软件设计 PC主机的程序包括驱动程序和应用程序。驱动程 序的主要任务是完成USB设备与主机应用程序的通 讯.主机应用程序的命令通过操作系统的IOCTL宏命 令告诉驱动程序,驱动程序将此命令传送到USB主控 制器,再通过USB接口与外设联络;外设采集的数据 也通过USB控制器传送到驱动程序,再由驱动程序提 供的通道传输给应用程序。因此,驱动程序就像数据 传输的主动脉,在总系统中起着很重要的作用。 Windows操作系统提供r多种USB设备的驱动。但还 没有针对数据采集系统的驱动程序.所以必须针对特 定的设备来编写其驱动程序。驱动程序是USB开发中 最困难的一件事情,一般会用WindowsDDK来编写, 也可利用第三方软件厂商提供的开发工具来实现。在 本设计巾利用DriverStudio套件中的DriverWorks工 具模块进行USB驱动程序的开发,DriverWorks中包 含一个非常完善的源代码生成工具(DriverWizard)以 及相应的类库,它提供r在c++下进行设备驱动程序 开发的支持。通过DriverWizard生成的代码只需要少 量的修改便能够正常的使用.它使得驱动程序开发将精力集 中在驱动功能的实现上。受篇幅所限,驱动程序的开 发可参考参考文献。 应用程序是运行在用户态下的,采用c十+Builder 6.0编写,分为USB通讯程序和数据分析程序两部分。 USB通讯程序的基本功能是通过USB总线发送命令 和接收数据。对USB的操作是通过I/O控制调用设备 驱动程序来实现。首先调用Win32函数CreateFile0来

回到顶部