便携机智能电池与主机的通信方案.doc

上传人:啊飒飒 文档编号:10165530 上传时间:2021-04-25 格式:DOC 页数:11 大小:34KB
返回 下载 相关 举报
便携机智能电池与主机的通信方案.doc_第1页
第1页 / 共11页
便携机智能电池与主机的通信方案.doc_第2页
第2页 / 共11页
便携机智能电池与主机的通信方案.doc_第3页
第3页 / 共11页
便携机智能电池与主机的通信方案.doc_第4页
第4页 / 共11页
便携机智能电池与主机的通信方案.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《便携机智能电池与主机的通信方案.doc》由会员分享,可在线阅读,更多相关《便携机智能电池与主机的通信方案.doc(11页珍藏版)》请在三一文库上搜索。

1、便携机智能电池与主机的通信方案第34卷增刊VeL34SupplementaryIssue计算机工程ComputerEngineering2008年9月September2008?电酒i技术?文章Jlq.100o3428(2008)增千鼍0163-_02文献标识码:A中圈分类号lTN915.04便携机智能电池与主机的通信方案叶柳-(华东计算技术研究所,上海200233)摘要:随着便携式设备的发展,智能电池也得到越来越广泛的应用.而智能电池通常需要与系统主机之间进行通信,以发挥其最大作用,满足用户需要.为此,该文针对现有大多数便携机的特点提出了一种利用C8051F3XX单片机实现智能电池与主机的通

2、信的方案.介绍了该方案涉及到的SMBUS协议与USB协议,描述了该方案硬件组成与软件实现步骤,具有较强的实用性.关量词:智能电池;SMBUS协议;USB协议CommunicationSolutionBetweenPortableSmartBatteryandHostYELiu(EastChinaInstituteofComputerTechnology,Shanghai200233)Abstractwit|lthedevelopmentofportableequipments.smartbatteryisbeingmoreandmorewidelyused.Thesmartbatteryalw

3、aysneedstocommunicatewithsystemhosttomeetuserSneed.ThispaperproposesasolutionforthecommunicationbetweenbatteryandhostbyusingC805lF3XXMCU.IthasaquickintroductionontheSMBUSinterfaceandtheUSBinteffacewhichaleimportanttothesolution,andthendescribesthehardwareandthesoftwarerealizatiOilforthesolution.Keyw

4、ordsismartbattery;sMBusprotocol;USBprotocoll概述随着便携式设备的迅速发展,传统电池已经不能满足人fl的需要,智能电池以其自身具有保护,管理功能得到了广泛的应用.为了最大限度地发挥智能电池的作用,体现智能电池的优越性,智能电池需要和充电器,系统主机建立起一种可靠,灵活的通信机制,更好地完成充电,放电,保护和状态管理等功能.目前智能电池实现者论坛已经为智能电池制定了专门的总线标准SMBUS2.0以连接智能电池系统内的电池和充电器设备.而智能电池和系统主机之间的通信,目前大致有2种途径,一是直接连接,即智能电池直接连接到便携机主板引出的SMBUS接口,二是

5、间接连接,把单片机作为中转,利用单片机的SMBUS接I:1和智能电池进行通信,利用单片机的USB接13和系统主机进行通信.从而为PC机和智能电池系统内的设备建立一个通信链接.第1种方案看似比较简单,但它是建立在BIOS和操作系统中对ACP1支持的基础上,ACPI需要操作系统,硬件的支持,实现这种电源管理方案通常要在系统中集成一个嵌入式控制器负责操作系统,BIOS,SMBUS设备之间的沟通,而实际应用领域中还有许多场合没有上述条件.而第2种方案则相对简单,广泛地应用于便携机的智能电源管理系统中.本文将详细介绍第2种方案的实现方法,其系统结构如图1所示.圈1智能电挂系统结构2单片机和智能电池之问的

6、通信单片机和智能电池的通信主要依赖于智能电池的数据规范协议SBData1.1和系统管理总线协议Smbus2.0J.数据规范协议SBData1.1定义了34个操作命令,单片机按照数据规范协议发送相应命令,就可以获得诸如最大充电电压,电流,剩余电量,电池温度等相对应的数据.智能电池系统总线协议SMBUS是在I2C的基础上发展起来的系统管理总线.它具有时钟线(SCL),数据线(SDL)和第三信号线SMBALERT#.从控设备若想和主控设备进行通信,可通过拉低第三信号线SMBALERT#来实现.在有多个设备请求作为总线的主控制器时,SMBus提供了一个仲裁机制避免总线冲突.图2给出了一个典型的SMBu

7、s总线配置,2根线(SCL,SDA)都通过一个上拉电路接到正电源,众多SMBUS设备通过这2根线连接到SMBUS的节点上.+5VSCLSDA圈2SMBUS总线在这种总线结构下,系统可以通过总线在不同设备之间传送信息,从而代替单个一对一的控制方式.通过SMBUS协议,系统中的设备能够接受数据规范协议中定义的操作命令参数.2.1硬件组成智能锂电池采用了TI公司的BQ系列作为核心控制器作者倚介:叶柳(1986一),男,助理工程师,主研方向:开关电源收藕日期:20080828Email:】63件,结合二级保护芯片及周边器件组成一个四串的智能电池方案.BQ系列芯片是目前国际上最先进的电池管理芯片之一,遵

8、循SMBus协议,片内集成2个l6位转换器,其采用动态阻抗跟踪(impedancetrack)电池电量的算法进行测量,测量精度可达1%.它支持循环冗余码校验(cro功能,并采用SHA一1加密构架,从而提高了通信的可靠性和数据的安全性.其还具有灵活的工作模式,能在电池组库存期间使芯片进入睡眠模式以降低功耗.单片机采用了slicon公司的C805lF3XX系列的单片机,此类单片机具有标准的SMBUS接13和USB接口,能与智能电池包进行连接通信,完成相关数据的读取和命令的发送功能.2.2软件实现连接在smbus上的每个设备都有其独一无二的设备地址,智能电池的设备地址为()x16,单片机的设备地址为

9、0x10.设备通过地址可以发起和接收与自己相关的通信,典型的读写操作命令格式如图3所示.7ll81f7ll1.fDameu.enI!DamByL.wJIJRcadWordProtocoIl7I18I8下,rT下r_=一_1_I!lIWriteWordProtool图3数据命令格式以单片机读取智能电池剩余百分比为例(事实上,单片机会定时去读取智能电池的信息包),这种情况下单片机作为主机按照SMBUS协议对智能电池进行读操作,其详细步骤为:(1)根据数据规范协议SBData1.1,查找出剩余容量百分比对应的操作命令码为0x0D.(2)查看SMBUS是否空闲,如果空闲,单片机发出START信号,通信

10、开始.(3)单片机发送包含从地址的数据包,从地址最后一位表示写操作.(4)等待接收ACK,如果智能电池接收到此地址,它应该发送ACK给单片机,建立通信握手.(5)发送操作命令码,发送成功后将收到ACK信号.(6)发送包含从地址的读数据包,从地址最后一位表示读操作.如果发送成功,单片机同样会接收到智能电池发出的ACK信号.(7)智能电池把单片机操作命令对应的数据传给单片机,每次一个字节,多个字节分多次传送,单片机每收到一个字节就应答一个ACK,最后一个字节传送完成智能电池发出STOP信号,退出通信接收.这样,智能电池成功地将电池剩余百分比发送到单片机上,对于其他数据也类似.最后单片机可以把这些数

11、据保存在一个数组里,然后通过USB接口发送到Pc机上去.3单片机和PC机之间的通信由于USB的普及,绝大多数现在的PC机都有若干个USB口,因此选择USB作为单片机和PC机的通信接口是可行的,在介绍基于USB的解决方案前简单介绍一下USBI64一接13.3.1USB简介随着计算机和外围设备的发展,并行端口和RS一232串行接口已逐渐成为通信的瓶颈,并且越来越严重.USB能够突破旧接口的限制,不仅具备快速通信的能力,而且非常灵活,自在Comdex上亮相以来,至今已广泛地为各PC生产厂商所支持.现在生产的PC几乎都配备了USB接171,Microsoft的Windows98,NT以及MacOS,L

12、inux,FreeBSD等流行的操作系统都增加了对USB的支持】.USB的主要特点如下:(1)容易使用.USB外围设备属于外接设备,不必打开计算机机箱来安插扩充卡.可以在PC和USB外围设备开机的状态下,插入或是拔掉USB连接头,而不会造成PC或是USB外围设备的损害.当用户将USB设备连接到计算机上时,Windows操作系统会自动检测该设备,并且加载适合的驱动程序.安装会自动完成,不需要重新开机就可以直接使用该USB外围设备.(2)传输速度快.USB支持3种总线速度:低速(1owspeed)的1.5Mb/s,中速(fullspeed)的12Mb/s,以及高速(highspeed)的480Mb

13、/s.(3)能用总线供电.USB总线可以提供高达5V的电压(500mA的电流).(4)使用灵活.USB以其4种传输类型(控制,中断,批量和等时)以及3种传输速度(低速,中速和高速),使之成为针对多种外围设备的可行方案,可以适应不同设备的需要.3.2USB的HID类传输单片机和主机USB连接后,如果没有传输协议或者驱动程序,主机是不知道如何与单片机通信的.Windows提供了API函数来启动应用程序与设备驱动程序之间的通信.可以使用任何能访问API函数的编程语言,如VB,C/C+,Delphi等编写的应用程序,在设备驱动程序的支持下,调用ReadFile,WriteFile,DevicelOCo

14、ntrol等API函数来读,写USB设备.而编写底层总线的驱动程序是一项非常复杂的工程.为了消除编写设备驱动程序的问题,通常把一些具有相似功能的设备组成一类.本文利用了HID类设备提供的通用驱动程序,通过编写设备固件程序,让Windows系统自动识别设备,实现在应用程序中对HID类设备进行访问.根据HID规范L5J,所有HID类设备与主机间的通信均采用控制传输和中断传输这2种方式.HID设备的流数据存放在报表中,一个HID类设备可以支持一个或多个报表,报表的结构非常有弹性,可以处理任何类型的数据.2种特殊的HID类请求:SetReport和GetReport为主机和设备之间的任何类型数据块传输

15、提供了一种方法.当主机发出GetReport请求时,设备通过控制管道向主机发送相应的流数据;当主机发出SetReport请求时,主机通过控制管道向设备发送相应的流数据.3.3Vc+应用程序的实现Windows为应用程序访问HID设备提供了强大的支持,有一整套对HID设备进行访问的API.在应用程序可以开始与HID设备交换数据前,应用程序必须先识别该设备并且读取它的报表信息.这个过程包含如下几个步骤:(1)通过HidDGetHidGuid0调用来获得设备的WindowsGUID.(2)通过setupDiGetclassDevs()调用来获得包含全部附加(下转第168页)之间),这是一种非常方便的

16、驱动方法,但是在低压,大电流或高电压输出的拓扑中它并不合适.另一种方法就是采用变压器辅助绕组来驱动2个同步整流管.这种方法由于引入了辅助绕组,在变压器的设计上会带来一些麻烦,但是由于驱动电压可以自行设计,因此可以有效地应用于各种场合.但是由于这种方法,要么只利用了输入电压,要么只是利用复位电压,且加在MOS管门极的电压是一个交流信号,因此电压利用率低,门极电容损耗比较大.因此具体采用哪种方式应在具体应用中根据具体情况进行选择.3.3.2平面变压器技术在一个离线式开关电源拓扑中,其主要损耗来源于开关管及变压器,而变压器的损耗主要分为铜损和铁损,有源钳位技术由于实现了主开关管的零电压开通,因此大大

17、降低了开关损耗.而采用平面变压器技术则可以有效地降低变压器的铜损和铁损.因此可以使整个开关电源的效率大于90%.传统高频变压器采用的是漆包线绕制的方法,会引起很多问题.如寄生电感,电容,趋肤效应,涡流效应,邻近效应等.随着输出电流的增大,变压器的损耗显着增大.而平面变压器采用铜箔或是多层的印制电路板来代替圆铜导线,印制电路板代替了传统变压器中的骨架的作用,磁芯采用特制的平面铁氧体磁芯,使得平面变压器具有很小的体积,更大的功率密度和更高的转换效率.另外平面变压器是一种集成磁性器件,它可以做成独立构架的元件,也可以直接集成于电源的多层板构架中.由于采用了印制板替代传统变压器中的骨架,因此匝间的耦合

18、更加紧密,从而大大降低了变压器的漏感.平面变压器的原副边绕组通常采用三明治的绕法(即一层原边绕组一层副边绕组),因此邻近效应很小.此外由于采用硬制板铜箔(上接第164页)HID信息的结构数组.该步骤使用先前获得的HIDGUID来指定列表应当仅包含HID设备.(3)使用Windows函数SetupDiEnumDevicelnterfaces()来获取该表中的设备信息.应当遍历设备信息索引,直至找到带有正确VID和PID的设备信息.如果该函数返回false,则证明已经到达列表的末尾,没有找到所需要的设备.(4)SetupDiGetDevicelnterfaceDetail()函数将返回上一步遍历索

19、引时所固定的设备的详细数据.在下一步中需要使用其中的设备路径来打开设备.(5)使用从上一步骤获得的路径调用CreateFileO来打开设备.如果CreateFile0的WindowsAPI的调用返回一个有效句柄,接下来就可以检查VID和PID来确定这是否是想要的设备.(6)比较已打开设备的VID和PID,来确定是否是想要的设备.如果是,则应当返回设备句柄和true条件.(7)如果VID和PID不正确,则需要关闭该设备的旬柄,并返回到步骤f3)来检查索引表中的下一个设备.打开所需设备完成后,应用程序就可以执行读取输入报表和写输出报表的操作.执行这些任务时,应用程序只需相应地调用ReadFile0

20、和WriteFile0函数,运用缓冲区进行数据i68一绕制的平面变压器的涡流损耗明显的比采用圆形截面积的圆铜导线要少,且由于印制板铜箔是扁平的,因此更少受到集肤效应的影响.综上所述,平面变压器可以实现更高的频率输出,更大的电流密度和更小的元件体积.平面变压器将成为未来开关电源变压器的发展方向.4结束语有源钳位正激变换器的优点是:(1)主开关和钳位开关均可实现零电压开通;(2)主开关电压被钳位,一个周期内电压小于或等于Ui+Uc,减小了主开关的电压应力;(3)变压器磁芯可以自动复位,无须另加磁复位措施;(4)变压器激磁电流可沿正负方向流动,磁芯工作在磁滞回线的第一和第三象限,提高了磁芯的利用率;

21、(5)占空比可以大于0.5.随着电力电子技术的飞速发展,有源钳位技术逐渐被用于其他各种不同的拓扑结构中,如有源钳位双端正激变换器,有源钳位反激变换器,有源钳位反激一正激变换器等,有源钳位技术不仅可以将主功率开关管电压钳位在一定的水平,还可以实现主功率开关管和辅助开关管的零电压开通,从而大大降低了开关电源的损耗,使得开关电源高功率密度,高效率以及小体积成为了可能.但是,由于受国内器件以及平面变压器工艺等瓶颈的影响,有源钳位技术目前还很难真正应用于高压到低压的变换中,而国外一些先进的大公司已经成功地将软开关技术应用于此,这也将成为未来研究的方向.参考文献I1王增福,李昶,魏永明.软开关电源原理与应

22、用M】.北京:电子工业出版社,200604.2】耿笑炎.高功率密度平面变压器DI.成都:电子科技大学,2005.通信,从而实现了单片机与系统主机之间的数据传输.4结束语,本文描述了智能电池与系统主机通信的一种实现方案,它利用C8051F3XX系列单片机同时具有SMBUS和USB接口,实现了智能电池与主机之问的协议转换,实现了系统主机对锂离子电池的状态查看和智能管理,可以广泛应用到便携式/移动式电子设备上.随着各种便携式电子产品的广泛应用,本文介绍的电池与主机通信方案具有较强的实用性和广泛的应用前途.参考文献1黄正佳.智能电池研究.电源技术,2002,(4).21SMIFInc.SmartBat

23、teryDataSpecificationRevI.1【Z】.(1998-11-11).http:/sbsforum.org/specs/sbdatl10.pdf.31SMIFInc.SystemManagementBusSpecificationRev2OZ】.(20000803).http:/smbus.org/specs/smbus20.pdf.【4USBImplementersForum,Inc.UniversalSerialBusSpecification.Rev1.1Z】.(1998-09-23).http:/esd.CS.ucr.edu/webres/usb1I.pdfi5】USBImplementersForum,Inc.DeviceClassDefinitionforHumanInterfaceDevices(HID)FirmwareSpecificationRevI.11ZJ.(20010627).http:/www.usb.org/developers/devclassdocs/H1D111.pdf.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1