当前位置:首页 > 消费电子 > 消费电子
[导读]摘要:根据嵌入式系统内置电源维护方式简化、降低制造和使用成本的具体要求,详细介绍了基于串连式可充电电池组的电源监测技术。在完成监测系统原理分析及电路设计的基础上

摘要:根据嵌入式系统内置电源维护方式简化、降低制造和使用成本的具体要求,详细介绍了基于串连式可充电电池组的电源监测技术。在完成监测系统原理分析及电路设计的基础上,进行了具体的电路搭制、调试和Linux环境下驱动程序编写,并结合相应的显示需求而进一步实现了Qt/Embedded应用程序编写和植入Qtopia的方法。实现了手持式嵌人式系统中的电源的精确可视化监测。

0 引 言

随着数字信息技术和网络技术的高速发展,各种嵌人式系统已成为了市场的新焦点。鉴于嵌入式系统是对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统,因此降低其系统功耗、提高内置电源持续工作的能力就成为一项重要的研究内容。

与笔记本电脑类似,嵌入式系统通常配备一个由多只电池串联组成的整体式电池包 .当经过反复充电使用而其主要参数不再满足整个系统要求时,必须更换整个电池包。一般说来,由于电池包内部各个电池之间的电气参数略有差异,很难使得每个单体都得到平衡、充分的放电,进而导致在电池组充电的过程中,电压过高的电池芯可能提早触发电池组过充电保护,而在放电过程中电压过低的电池芯又可能首先导致电池组的过放电保护,从而使电池组的整体容量明显下降,使得整个电池组的实际容量常为电池组中性能最差的电池所限。

针对上述问题,目前常用两种解决方法:

①研究或选用新型电池,尽量减小个体差异并从整体上提高电池的额定容量,例如由最初的镍镉、镍氢电池发展到现在主流的锂电池;②提高电池芯的利用率,即利用监测技术探察每个电池芯的工作状况。若有部分电池芯过早地放电结束或者出现问题时,能够自动检测并予以提示,此时只需进行个别更换即可同样保证系统正常工作。

对于普通用户而言,难以直接涉足前者所属的相关领域,而后者所述方式能够较为方便、容易地得到实现。由此一来,可望较好地解决前述问题,同时避免了电池组整体更换时其中的正常电池也连带报废的现象,进而提高电池利用率。此外,尚可解决专用电池成本较高、购买不易的问题,以便有效降低系统的维护成本。

1 监测系统工作原理与电路设计

结合一个具体的手持/嵌入式超级终端系统,文中对其内置电源的监测模式进行了较为详尽的研究。

因其使用通用的五号可充电电池,所以可按第二方法考虑解决电池的使用和更换问题,进而基于LinuX操作系统较好地实现了相应的"电池管理与更换提示"功能。

1.1 监测系统工作原理

本系统采用12节额定电压为1.2V的镍氢电池串联供电,并通过专门设定的12个监测点逐一监测。

监测点上的模拟电压值通过多路开关和辅助电路输入ARM芯片S3C2410x自带的AD转换器,再经Linux(驱动程序和GPIO端读取相应监测点的电压值,传递给数据处理和图形显示等应用程序,从而实现了电源的监测。具体方法如图1所示。

图1 电源监测系统电路图

图1 电源监测系统电路图

1.2 AD转换与辅助电路

监测系统利用S3C2410x自带的AD转换器将模拟电压输入转换为应用程序所需要的数据。芯片自带AD转换器为8路模拟输入、10bit数字输出,最大转换率为500ksps,转换时钟为2.5MHz,模拟输入范围为0-3.3V.本系统所需要监测的电压范围为0~14。

4V,针对这种情况,本系统设汁了分压电路,在应用程序中只需要利用比例公式就能计算出各个监测点的实际电压值。并且,考虑到监测精确度和电路功耗的因素,把分压电路的总电阻定为4.5kQ.这样一来,对应的模拟输人电压值范围为0.26-3.2V,以便充分利用的AD转换器的输入带宽。此时电路的耗损功率仅为0.04608W。

1.3 控制电路

利用S3C2410x的GPIO端口控制选通多路门开关电路,监测系统可以随机地提取不同监测点的电压值。选通逻辑通过译码实现,如表1所示。

表1 选通逻辑

表1 选通逻辑

2 电源监测系统驱动程序设计

鉴于文中所述的超级终端系在Linux环境下运行,各个检测环节的驱动程序和相关的实施策略、编写方法亦多有特点,现详细描述如下。

2.1 Linux驱动程序工作原理

在Linux内核中,设备驱动程序是作为文件系统的一个模块存在的,它对下负责与硬件设备的交互,对上通过一个通用的接口挂接到文件系统上,从而和系统的内核等联系起来。它是软件概念和硬件设备间的一个抽象层。系统调用是内核和应用程序之间的接口,而设备驱动程序则是内核和外设之间的接口。

设备驱动程序为应用程序屏蔽了外设硬件的细节,从应用程序角度来看,对于外设的操作方法与普通文件一样。设备驱动程序与系统外设关系如图2所示。

图2 Linux驱动程序与系统外设关系图

图2 Linux驱动程序与系统外设关系图

2.2 字符设备

字符设备是Linux系统中最简单的设备,可以像文件一样访问。当字符设备初始化的时候,其驱动程序向Linux核心登记,在chrdevs向量表中增加一个device_struct数据结构条目。这个设备的主设备标识符用作这个向量表的索引。一个设备的主设备标识符是固定的。chrdevs向量表中的device_struct数据结构包括一个登记设备驱动程序名称的指针和一个指向一组文件操作的指针。这组文件操作本身位于这个设备的字符设备驱动程序中,并处理一些特定任务。本电池监测系统在Linux下的驱动程序就把外设视为字符设备,在驱动程序里实现了打开、读、写和关闭等操作。

2.3 电池监测驱动实现策略

系统内部,I/O设备的存取使通过一组固定的入口点来进行的。这组入口点由特定设备的设备驱动程序提供,在数据结构file_operations()中定义。该程序定义了一个数据结构为file_operations()的变量adc_fops。

2.3.1 adc_open函数

此函数打开并初始化设备以待I/O操作。adc_open()子程序必须对其做好必要的准备,如果设备是独占的,adc_open()子程序必须设置一些标志以表示设备处于忙状态。

2.3.2 adc_read函数

对AD转换器设备文件进行读操作时调用adc_read()子程序。电池监测系统要求实时读取外设监测点的电压值。因此,在adc_read()函数中实时触发AD转换器开始工作,并且利用程序轮询方式读取转换后的数据。adc_read()函数内容如下:

2.3.3 adc_iocd函数

控制外围的辅助电路时调用adc_iocd()函数。对照监测点逻辑控制表,从S3C2410x的GPIO端口发出选择指令,接着就可以进行读操作以读取相应的数值。在不需要监测时,控制监测系统进入省电模式。

2.3.4 adc_close()函数

adc_close()函数用来关闭外设。当监测结束时,应用程序会调用此函数关闭设备文件。同adc_open()函数一样,也可以为NULL.

3 设计Qt/Embedded应用程序和植入Qtopia的方法

QT/Embedded为嵌入式Linux提供了一种友好交互接口,是完整的自包含C++GUI和基于LinuX的嵌人式平台开发工具 ,专为高端嵌入式图形领域应用而设并得以普及。鉴于文中所使用的系统需要按照手动点击检查和欠压自动报警的方式工作,所以,必须遵循相应的规则和方法,进行高效、美观的图形界面设计。

3.1 编写Qt/Embedded应用程序

在宿主机上编译Qt for Xll时生成的Qt Designer软件是一个非常流行的快速应用程序开发工具,用来设计界面和编制代码。在Qt Designer中,可以通过拖拉或点击的方式,在一张空白表单的适当位置上添加一些输入框和按钮等窗口组件。这时Designer工具会自动编写和维护代码。

使用Qt Designer进行C++程序编制的基本步骤是:首先建立窗体,并根据应用的需要在窗体中添加控件。Qt会将建立的窗体保存为。ui文件,使用Qt提供的uic工具将文件转换为。h和。cpp文件,对于控制动作是需要手动添加不同的操作函数。之后使用progen工具为该应用程序建立。pro工程文件,并通过tmake工具为该工程建立Makefile文件。最后,只需要运行make即可生成可执行文件。

在编写操作函数时,本系统通过计算相邻监测点的观测值确定每个电池芯的电压值。通过查询选用电池芯的放电结束电压查找表,得出每个电池芯的剩余电量。当电池组电量降至一定阈值或某个电池芯的储电量低于3%时,利用应用程序报警,通知用户予以充电或按照指示的电池编号及时进行个别更换。这样,既可保证电源的正常工作指标,又能够提高所有电池的利用率。

3.2 将应用程序植入Qtopia

在Qtopia平台上发布自己的应用程序,需要三个文件:一个执行文件、一个启动器文件、一个图标文件。

执行文件就是前面讲到编写并编译生成的可执行文件,需要将该可执行文件保存在qtopia/bin目录下。图标文件就是为应用程序制作48*48大小的PNG格式的小图像,它一般存放在qtopia/pics目录下。同时还需要建立应用启动器(。desktop)文件,把它保存在qtopia/apps/Applications目录下。将上述文件分别复制好以后,重新运行Qtopia,就可以看到添加的应用图标,点击此图标便可运行该应用程序了。

4 结束语

降低系统能耗需要嵌入式系统硬件环节提供可靠支持,同时也离不开嵌入式操作系统和应用程序对硬件资源的合理管理。现有的Linux提供了电源管理的部分功能,但由于具体进行嵌入式系统设计时的灵活性,一般需要根据特定需要而定制应用程序对电源电量进行精确的监测与提示。通过对手持式终端设备中电源监测技术的研究和实现,将有助于其它类型嵌入式系统的电源监测、管理工作的完成,亦有望对类似系统的建立具有一定的参考和借鉴价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭