智能电池(IBS)系统与PC机的通讯接口
智能电池系统通常都需要一个灵活、高效地监测和管理系统,以在系统内各种设备之间建立一种可靠、灵活的通讯接口机制。
文中介绍了智能电池与PC机的通讯接口,提出了基于ISA总线和基于SMBUS接口的两种解决方案,详细说明了两种方案的芯片选择以及实现方法。
1 引言
在智能电池(IBS)系统中,通常都需要构造一个灵活、高效的监测管理系统,以最大限度的发挥智能电池的作用,体现智能电池的优越性。为了达到这个目的,则必须为系统内的各种设备建立一种可靠、灵活的通讯机制。
目前,IBS-IF(智能电池实现者论坛)已经为智能电池制定了专门的总线标准-SM-BUS2.0以统一连接智能电池系统内的各种设备(包括电池,电源设备和系统传感器)。然而,对于整个电池系统而言,特别是对于庞大的电池组群,人们还希望能用PC机作为服务器来对系统进行统一管理,而目前的PC机所带的接口还不能直接接到SM-BUS总线上,必须用接口卡或接口板来将SMBUS2.0协议转换为PC机可接受的总线方式(如RS232、ISA或USB接口),从而为PC机和智能电池系统内的设备建立一个通讯链接。鉴于上述情况,提出了基于ISA和USB接口卡的两种解决方案,下面介绍这两种方案的实现方法。
2 智能电池系统管理总线SMBUS2.0
实际上,接口卡就相当于一个协议转换器,利用它可将SMBUS2.0协议转换成ISA或USB的协议。 SMBUS2.0是在2000年8月3日由SBS-IF(智能电池实现者论坛)发布的最新一版智能电池的总线标准,它的前身是SBS-IF在95年发布的1.0版和在98年发布的1.1版。SMBUS的版本向下兼容,因此所有用在1.0和1.1版本的设备均可以用在2.0中。
SMBUS最初是用于智能电池和充电器之间的通讯链接,随着应用的不断深入,它同样可用来连接更多的设备,其中包括与电源相关的设备、系统传感器以及EEPROM等,因此,通过SMBUS即可构造一个功能强大的智能电池系统。
SMBUS以2根线为介质,将众多的设备连接到SMBUS的节点上,其核心是I2C总线。由于SMBUS定义了一套完备的地址解析协议,这使得总线可以灵活寻址并支持设备的即插即用。图1所示是其总线的拓朴形式。
在这种拓朴结构下,系统可以通过总线在不同设备间传送信息,从而代替单个一对一的控制线方式。该结构可使系统的引线数量大大减少,同时可为系统扩展提供极大的便利。通过SMBUS,系统中的设备能够为设计者提供制造商的信息,告诉系统它当前所属的模式和状态,报告不同类型的错误以及接受主机的控制参数等。
3 基于ISA总线的接口卡解决方案
ISA总线又称AT总线,是在PC/AT微机上所配备的扩展系统总线。
PC/AT的扩展总线系统设计的最大速率为8MHz,这比PC/XT总线几乎快了一倍,而最佳的数据传输率达20MB/s。ISA总线是在原XT总线的基础上增加了一个36脚的扩展槽,从而将数据总线扩展为16位,将地址总线扩展到24位,同时将中断的数目从8个扩充到15个,并可提供中断共享功能,而其DMA通道包则由4个扩充到了8个。从此,这种16位的扩展总线一直是各制造厂商严格遵守的标准,至今仍广泛地使用。
基于ISA总线的接口板的智能电池通讯系统总体框图如图2所示。
由图2可以看出,电池组将信息通过IBS模块传送到SMBUS总线上,再经过ISA接口卡转换为ISA协议传到PC机以进行信息的分析处理。由于SMBUS目前尚无专门的接口芯片,同时它的核心又是I2C,因此,可用普通的I/O口通过软件的方式进行模拟。ISA接口卡的硬件主要由ISA接口芯片和单片机构成。设计时可以选用Altera公司的ISA接口芯片CPLD7128和Winbond公司的51单片机。其接口板的硬件框图如图3所示。
单片机中的软件主要分为与ISA总线通讯的部分和与SMBUS通讯两部分。其中与SMBUS总线通信主要是通过软件用I/O口来模拟其时序,然后在此基础上收发数据,SMBUS总线上的数据传输时序图如图4所示。
图4中,S为传送起始信号,P为传送停止信号,通过这个时序图,可以很方便的用软件来模拟总线上的各种信号,其中起始信号S可由下面的程序模拟:
同理,也可以用软件来模拟总线上的其它信号,值得注意的是:SMBUS总线对各个信号的时间长度都有规定,如在SMBCLK线上的负脉冲宽度Tlow必须大于4.7μs,所以在这部分程序的编制过程中,一定要严格遵循SMBUS信号的时序要求。
而对于ISA通讯部分,因为有专门的接口芯片,因此在编程过程中,只需用控制线CPLD7128在ISA总线上收发数据即可。
4 基于USB接口的解决方案
采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且由于计算机插槽数量和地址、中断资源的限制而不可能挂接很多设备。通用串行总线(UniversalSerial Bus,简称USB)的出现很好地解决了以上这些冲突,从而使其很容易就能实现低成本、高可靠性、即插即用的数据传输。因此,笔者也提供了基于USB接口的解决方案,在介绍该方案之前,有必要来了解一下USB接口的各项特性。下面简单介绍一下USB接口。
4.1 USB简介
USB是为解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信标准,自在Comdex上亮相以来,至今已广泛地为各PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsoft的Windows98、NT以及MacOS、Linux、FreeBSD等流行的操作系统都增加了对USB的支持。USB的主要特点如下:
●速度快。
USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备(如鼠标等),USB还可提供速率为1.5Mb/s的低速方式。
●设备安装和配置容易。
安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备均支持热拔插,并可由系统对其进行自动配置,从而彻底抛弃了过去的跳线和拨码开关等设置。
●易于扩展。
通过使用Hub扩展可拨接多达127个外设。标准的USB电缆长度为3m(5m低速)。并可通过Hub或中继器使外设距离达到30m。
●能用总线供电。
USB总线可提供高达5V的电压(500mA的电流)。
●使用灵活。
USB共有4种传输模式(控制传输control、同步传输Synchronization、中断传输interrupt、批量传输bulk),可适应不同设备的需要。
4.2 基于USB的智能电池通讯系统
图5所示是基于USB接口的智能电池通讯系统框图。
由图5可以看到,电池的各种数据首先通过IBS采集后传送到SMBUS总线上,然后再通过USB接口板传送到PC机的USB接口。由于USB接口最多可挂接127个设备,因此,通过USB接口可以连接多个电池组,并可进一步构建更大型的系统。
4.3 USB接口板的硬件组成
由于SMBUS总线是用软件模拟的,所以在接口板的硬件选择上,应主要考虑单片机和PC机间的USB接口。目前,在单片机和USB接口的选择方面有两种方式:一种是采用具备USB通信功能的单片机。随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,构成的系统电路简单,调试方便,电磁兼容性好。
不过,由于具备了USB接口,这些芯片与过去的开发系统通常是不兼容的,因此,需要购买新的开发系统。另一种方案是采用普通单片机加上专用的USB通信芯片。现在的专用芯片中较流行的有National公司的USBN9603/4、PHILIPS公司的PDIUSBD12等。采用这种方法可以不用重新购买开发系统,而且成本较低,因而是一种较好的解决方案。本文所介绍的接口板采用的是Atmel公司的AT89C51单片机和National公司的接口芯片USBN9604。图6是该接口板的硬件框图。
实际上,图中的USBN9604是一个完整的USB节点控制器。它支持USB1.0和1.1两个版本,同时内置一个3.3V的基准电压源、一个串行数据端口(SIE)、USB端点FIFO、一个8位的并行端口、一个时钟发生器以及一个MICROWIRE/PLUS接口。
US-BN9604可支持七个端点,其中一个为控制端点,其余六个可用来进行中断、批量以及同步传输控制。每个端点都有一个双向的FIFO,其中控制端点为8Byte,其它端点为64Byte。利用可编程的中断源可以根据需要发出不同的中断信号。图7所示是US-BN9604芯片的内部结构框图。
4.4 USB接口板的软件构成
该USB接口板的软件功能分为两部分,一部分是和USB通讯,另一部分是和SMBUS通信,由于与SMBUS的通信和与ISA卡的方案一致(都是用软件来模拟),因此,下面着重介绍一下与USB通讯部分的程序编制。
与USB通讯的程序编制主要是编写控制US-BN9604的程序,在USBN9604中一共有57个寄存器,可用来完成USB通讯中的控制和数据的传输,其中包括控制寄存器、事件报告寄存器、数据存贮寄存器等等。由于程序中将涉及大量的语句来访问USBN9604的各种寄存器,因此在AT89C51和US-BN9604进行连接时,应尽可能地使访问USBN9604简单化。基于这一点考虑,在连接方式上,笔者选用了并口MULTIPLEXED模式,图8所示是AT89C51和USBN9604的连接方式图。
在这种连接方式下,只需用很少的语句就可以访问USBN9604,如需访问其主控制寄存器(MCNTRL),那么其所使用的语句仅为:
MOV DPTR,#MCNTRL
MOVX@DPTR,A
由此可见,只需要两条语句就可以将A的内容发送到MCNTRL里面,十分方便。因此,在程序的编制上,只需要控制USBN9604以使其按照USB的规范进行即可,图9是该软件的总体流程框图。
参考文献
1.袁永斌.基于IBS的智能电池系统设计
2.李广军,王厚军.实用接口技术.成都:电子科技大学出版社
3.刘丁,毛德柱,王云飞.USB在数据采集系统中的 应用.
本文来源:电子技术应用 作者:成都世能科技有限责任公司 向明君
关于 智能电池 的相关解决方案
- 2007-11-30基于PIC单片机的数字式智能铅酸电池充电器设计
- 2007-09-21智能电池(IBS)系统与PC机的通讯接口
- 2007-08-28基于MSP430F149的电力操作电源智能电池巡检系统的设计
- 2007-05-10智能电池系统(SBS)简化独立电池系统设计
- 2007-03-03基于PS501的智能电池系统
智能电池 相关产品动态
- 2007-01-02TI宣布推出多款全新电池管理芯片

