基于ARM Cotex-M0的高续航可充电定位鞋垫设计与实现
2018-03-08刘文超史智明周艳玲曾张帆
刘文超,史智明,周艳玲,曾张帆
(湖北大学 计算机与信息工程学院,武汉 430062)
0 引言
据中国之声《央广夜新闻》报道,中国每年的失踪儿童不完全统计有20万人左右,究其原因,一部分是人口贩卖分子的犯罪行为,然而更普遍的情况是由于监护人的疏忽大意造成的。同时,我国患有痴呆症的老人超过800万,走失的情况也时有发生。儿童、老人的走失给家庭带来严重的灾难,已成为一类亟需解决的社会问题以达到预期的效果。
基于此,本文研发出一款能够进行跟踪定位的智能鞋垫。该鞋垫能够实时的对鞋垫使用者所在的地理位置进行获取,并传输至云平台,最终在手机上或者网页上进行图形化显示,利于监护人对家中老人、儿童的远程跟踪,将大大降低他们失散的可能性。本系统通过在Windows、android平台上构建Lighttpd轻量级Web服务器和设计开发功能程序、底层驱动程序、自定义PCB和C语言来实现该系统的软硬件开发。
1 系统总体架构
高续航可充电定位系统总体架构如图1所示,主要包括二个部分:可穿戴设备终端; 系统软件平台。
图1 高续航可充电定位鞋垫系统架构图
系统硬件部分由主控核心Cotex-M0芯片、锂电池、无线+压力充电模块、2.4 G通信模块、PWM电子开关、ZVS模块、GPS定位模块组成。Cotex-M0负责采集锂电池电量信息,通过采集到的电量信息数据,控制无线+压力充电模块给锂电池安全、及时的充电;同时控制GPS模块实时采集位置信息。
系统软件部分由云端服务器、Web客户端、手机APP三部分组成。GPS将采集到的数据通过TCP/IP协议上传到云端服务器,通过Web客户端和手机APP端实时显示位置信息。
2 系统硬件部分
本系统硬件部分主要包括3个子模块:逻辑控制部分;充/供电部分;子控制模块部分。
2.1 逻辑控制部分
逻辑控制子模块由ARMCotex-M0芯片和2.4 G发送模块组成。Cotex-M0芯片内集成了ARM逻辑,包括ARM Cortex-M0处理器、固定外设和存储系统。采用这类系统结构的运行效率很高(0.9DMIPS/MHz),能在较少的周期里完成一项任务。这意味着CortexM0可以在大部分的时间里处于休眠状态,消耗很少的能量,具有良好的能耗效率。同样较小的逻辑门数也降低了待机电流。而高效的中断控制器(NVIC)需要很小的中断开销[1]。
2.2 充/供电部分
无线+压力充电模块用于提高锂电池的续航能力。该模块由两个感应线圈、压电陶瓷、整流滤波电路组成,发送端线圈连接有线电源产生电磁信号,电磁信号通过LC谐振技术推动感应线圈发出电量,给无线充电接收模块,无线充电接收模块上的线圈感应发送端的电磁信号从而产生电流,将电流传输给锂电池,使锂电池开始充电,实现一次无线充电[2]。压力发电模块通过压力感应产生电量给锂电池充电,经过极化了的压电陶瓷片的两端会出现束缚电荷, 所以在电极表面上吸附了一层来自外界的自由电荷。当给陶瓷片施加外界压力时,陶瓷片的两端会出现放电现象。另外, 压电陶瓷具有自发极化的性质,因此当给具有压电性的电介质加上外电场时会发生变化, 压电陶瓷会有变形;因此在压力发电模块中,为保证压电陶瓷不被人体重量和压力破坏,采用自主研发的十七层结构,保证压电陶瓷的安全性。
如图2所示,无线充电接收端需要在无线感应区实现充电。交流信号通过整流、滤波等子模块最终转换为3.3 V电压,给锂电池充电。
图2 无线+压力充电工作图
在压力发电模块中,压电陶瓷作为发电源,采用十七层结构作为抗压层。压力充电模块要承受来自人体的重量和冲量,每层结构都能有效的减少冲击。压电陶瓷外面包裹自主设计的十七层结构作为抗压层,在受到外部压力的冲击时,产生足够的电流给电池充电。模块工作原理如下:
1) 整个系统开启时,AD模块首先检测锂电池电量,锂电池电量充足时,电子开关处于开启状态,反之处于关闭状态;电子开关处于关闭状态时,表明锂电池电量不足,无线充电发射模块开始工作。
2) 将无线充电接收模块放置于无线感应区,锂电池开始充电。
3) 压力充电模块在受到力量冲击时,就会产生电流给锂电池充电。
为了保证压力充电模块在受到人体脚部力量的冲击时,仍然能够正常工作,在压电陶瓷上使用了自主设计的十七层结构作为抗压层。十七层结构从上到下依次为:鞋垫层、聚苯乙烯层、压力发电薄膜层、聚苯乙烯层、304不锈钢板、聚苯乙烯层、B7000填充层、PCB主控板层、B7000填充层、聚苯乙烯层、青科纸层、B7000填充层、锂电池、B7000填充层、Fe304瓷片层、B7000填充层、无线充电线圈层,其中鞋垫层、聚苯乙烯层、B7000填充层作为PCB主控板缓冲保护层,青科纸层作为电池绝缘层,Fe304瓷片作为电池保护层,304不锈钢作为整个结构的抗压层,压力发电薄膜作为整个结构的压力发电层,无线充电线圈作为无线充电层。
无线+压力充电模块能够提高锂电池的续航能力,无线和压力充电模块产生的都是交流信号,需要经过整流滤波之后才能给锂电池充电[3]。
2.3 子控制模块部分
子控制模块的输入为2.4 G发送模块,发送模块将数据传输到2.4 G接收模块,2.4 G接收模块控制PWM电子开关开启/关闭无线充电模块。其输出为无线充电发送模块的电量。该模块使用ZVS模块将直流信号转换为交流信号,同时将转换的交流信号传输到无线充电模块上,通过LC谐振技术产生电流。GPS模块采用A-GPS(Assisted GPS)定位方式,支持LBS(location based service)定位,LBS定位它是基于位置的服务,通过电信、移动运营商的无线电通讯网络(如GSM网、CDMA网)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(geographic information system,地理信息系统)平台的支持下,为用户提供相应定位服务。因此此定位模块无论是在室内还是室外都能精确、快速、稳定的工作[4]。GPS模块的工作流程如图3所示。
图3 GPS模块工作流程图
在室外环境下,GPS定位模块会主动搜索GPS定位卫星,最多能够搜索到18颗卫星信号。模块接收来自定位卫星的数据,同时设备会将接收到的数据传送到云端服务器,云端服务器接收到数据之后,对数据进行解析,解析之后的数据传输至Web端和APP端,Web端和APP端显示模块地理位置。
在室内环境下,GPS定位模块会主动搜索附近 WIFI信号和基站信号,最多能够搜索到8个WIFI热点和5个基站。设备接收来自WIFI热点和基站的数据,同时将数据传送至云端服务器,云端服务器接收到数据之后,对数据进行解析,解析之后的数据传输至Web端和APP端,Web端和APP端显示模块地理位置。
GPD定位模块采用联发科公司生产的MT2503芯片,内置A-GPS定位,支持LBS定位,低功耗设计[5]。
3 系统软件部分
3.1 整体软件架构
系统在软件架构设计方面实现了软硬件可编程工作方式。该架构不仅充分实现了软件编程开发速度快与硬件实现响应迅速的优点,同时增加了硬、软件资源配置的灵活性[6]。此外,整体的软件架构模块化程度高,易于维护和后续的功能扩展。该系统的软件架构如图4所示。
图4 系统软件架构
软件架构由上至下依次包括Web操作层、APP操作层、系统调用层和设备驱动程序。Web操作层和APP操作层负责页面设计,定义用户交互界面;系统调用层负责具体的功能设计;设备驱动程序负责初始化AD、SPI、GPIO等外设。采用这种模块化的设计思想,符合新硬件推广的流程,硬件厂商在推出一款新硬件的同时也会推出设备驱动程序,用户不需要明白底层的详细设计,只需要明白具体的功能,就可实现软硬件的应用开发。
3.2 Web、APP操作层
Web、APP操作层的功能设计目标就是基于网络控制的定位系统,给整个硬件系统按照制定的协议进行网络通信,并且实现了跨平台的通信。在软件层次方面的主要工作分为三块:移植Lighhttpd网页服务器、手机APP开发、设计Web页面和制定数据交互协议。Lighttpd服务器是一套开源的网页服务器,相较其他类似的开源网页服务器,它仅需要少量的内存及CPU资源即可达到同样的性能,同时在支持静态对象时,例如图片文件,Lighttpd响应速度更快、更理想[7]。为后续实现更加复杂的Web端留有余地。移植步骤及配置过程在此就不详细描述,主要步骤包括下载源码、编译、修改配置文件等。数据交互主要通过Windows中的Html Script来捕捉输入参数值再传给应用程序,为了加强数据交互的可靠性及规范性,本作品自定义数据交互协议,增加奇偶校验、隔离码等常用手段。
3.3 系统调用层
系统调用层的功能设计需要完成两个功能,一是通过调用AD、SPI的功能函数库控制ARM核,实现AD采样和SPI实时通信,二是围绕特定功能添加或删减功能函数。保证AD和SPI模块能够符合系统功能,稳定、高效的工作。
3.4 设备驱动层
设备驱动程序设计需要完成3个功能,一是硬件初始化,GPIO的功能初始化、AD模块的配置初始化、2.4 G无线通信模块接口的SPI配置初始化以及一些基本电路的初始化工作;二是读取控制模块中正在输入输出的控制信号;三是硬件数据保存,以便设备使用时出现问题可以现场恢复。
4 实物效果、系统测试与分析
依据上述整体架构与软、硬件技术,本文设计的高续航可充电定位鞋垫如图5所示。
图5 系统实物图
可以看到,该系统左边上层放置的是高续航可充电定位鞋垫。中间上层的是无线感应区域,右边上层放置的是无线充电发射装置,中间下层放置的是鞋垫内部嵌入的设备。
该系统的测试包括底层硬件电路测试、ARM编码逻辑测试以及Web、APP页面功能控制模块测试等。
底层硬件电路测试包括对硬件电路模块稳定性测试、2.4 G无线通信模块的SPI通信时序测试、续航能力测试、压力发电测试、无线充电测试等。对隔离、解码、锁存和驱动等各个模块分别进行单元测试,其输入输出满足功能需求。在整体集成测试时,电源模块经常不能正常工作,最终导致整个系统不能工作。经过全面分析后,定位问题于滤波电容的选择不正确,原因是经过整流之后的信号依然保留着较高的频率,纸质电容器损耗大只适用于低频电路,导致整个电源模块处于振荡状态[8]。解决方案为将原先采用的塑料薄膜电容更换成云母电容,采用云母电容之后电源模块正常工作。最终硬件的整体集成测试达到目标需求。
ARM编码逻辑测试是通过SPI采集数据再用逻辑分析仪对输出时序进行测试,测试结果如图7所示。
图6 SPI典型工作时序
第三行SCK为数据传输心跳时钟;第一行MOSI为传输的数据;第四行SSI为从设备使能信号;图中MOSI管脚传输的数据为0111_1101;对主设备的预置数据和从设备输出的时序数据对比分析后,从设备数据时序与主设备的预置数据相对应,时序验证均正确。
鞋垫续航能力经过多次测试,得出在使用GPS定位的情况下,鞋垫能够稳定运行35个小时,使用LBS/WIFI定位的情况下,鞋垫稳定运行48小时,使用A-GPS定位的情况下,鞋垫稳定工作24个小时,在休眠状态下鞋垫能够待机96小时。
压力充电模块测试,压力充电模块受到外力冲击时候,产生电流。由于压力冲击压电陶瓷产生的电流是一个瞬时的过程,难以通过常用设备对模块的发电能力进行准确测量,因此在测量上我们引入了常规的LED灯进行了定性测试。当用力敲击压力充电模块时,LED开始发光,证明此时产生了能够使LED正常工作所需的3.3 V电压,30 mA电流。进而证明了本系统压力充电功能可行。
无线充电接收模块测试,将无线充电接收模块放入到感应区之后,给锂电池充电。由于无线充电的原理是LC谐振技术,难以通过常用设备对本系统的充电性能进行准确测量。在测量上我们引入了常规的LED灯进行了定性测试。可以看到,当测试终端放置在无线充电线圈上时,LED开始发光,证明此时产生了能够使LED正常工作所需的3.3 V电压,300 mA电流。进而证明了本系统无线充电功能可行。
Web页面的功能控制页面,Web页面显示支持多种比例放大、查看多个设备信息。此外,通过对该页面进行多设备切换显示实验,验证了该网页控制模块的功能性和稳定性。
5 结论
本文介绍了一种新型的基于ARM Cotex-M0的高续航可充电定位系统。该系统突破了传统可穿戴设备续航时间短、充电方式繁琐的问题;通过多次续航能力测试,鞋垫在满负荷工作的情况下,依然能够稳定工作24个小时;无线+压力充电模块能够给锂电池实时充电,总功率达到2 W;实时的对鞋垫使用者所在的地理位置进行获取,并传输至云平台,最终在手机上或者网页上进行图形化显示。本系统通过云端服务器将控制数据准确的传递到手机APP和网页服务器,通过APP和网页端实时查看设备位置、设备电量等信息。这不仅能够实时定位设备位置信息,而且还较好的体现当前社会普遍关心的话题-儿童、老人走失等问题的防范方法,促进社会和谐发展。
[1] Joseph. ARM Cotex-M0权威指南[M].北京:清华大学出版社,2013.
[2] 王红亮,张天文,等. 无线充电的关键技术和研究[J]. 火力与指挥控制, 2014(11):183-186.
[3] 黄起升,肖宇迪,等. 磁谐振无线电能传输带整流滤波负载的建模与分析[J]电器与能效管理技术,2017[2]:29-35.
[4] 周健民. 应用于移动电子设备的无线充电技术[J]. 集成电路应用, 2014(4):34-36..
[5] MTK_On_Line_FAQ_HW_Wearable_MT2503(R),2016.
[6] Rishiyur S.Nikhil.Types,Functional Programming and Atomic Transactions in Hardware Design[J].Springer Berlin Heidelberg,2013:418-431.
[7] 郑泽栋. WEB服务器性能分析研究及优化方案[J]. 信息通信, 2014(4):115.
[8] 施健健.基于AC-DC开关电源外接滤波电路设计[J].电子测量技术,2014,12(5):8-10.