手持式终端设备中电源监测技术研究与实现
测系统在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提供了电源管理的部分功能,但由于具体进行嵌入式系统设计时的灵活性,一般需要根据特定需要而定制应用程序对电源电量进行精确的监测与提示。通过对手持式终端设备中电源监测技术的研究和实现,将有助于其它类型嵌入式系统的电源监测、管理工作的完成,亦有望对类似系统的建立具有一定的参考和借鉴价值。
- 应用于新能源发电的双向DC/DC变流器研究及仿真验证(01-26)
- 应用于生活和生产的二相混合步进电机驱动研究(12-15)
- 多故障容错功能的新型逆变器拓扑研究 可靠性模型分析(12-04)
- 宽频化与小型化微带天线的研究与设计(04-24)
- 一种新型风电电压跌落检测方法的研究(01-23)
- 不同种类电容的ESR曲线研究(12-30)