基于蓝牙4.0的低功耗电子货架标签设计*
2014-03-16张彩祥冯永晋江志文邓杰航
丁 磊,张彩祥,冯永晋,江志文,邓杰航
(广东工业大学 计算机学院,广东 广州510006)
电子货架标签 ESL(Electronic Shelf Label)是一种放置在货架上、可替代传统纸质价格标签的电子显示装置,每个ESL通过有线或无线网络与商品数据库相连,将最新的商品信息通过ESL上的显示屏显示出来[1]。ESL能够有效解决纸质价格标签更换操作费纸、费力以及容易造成更换错误的缺点。ESL在国内研究起步较晚,目前主要采用有源射频技术和液晶显示技术[1-2],存在成本高、功耗大、不易使用等缺点。
与其他相同频段的无线技术相比,蓝牙4.0技术具有超低峰值(Peak)、运行与待机功耗低、仅 3 ms延时和抗干扰能力强等优点[3],而电子纸具有可视角大、显示静态图像不耗电、轻薄等优异特性[4]。因此,本文提出了一种基于蓝牙4.0技术和电子纸显示技术的ESL设计方案,给出了系统总体架构和工作原理,详细说明了ESL的软硬件设计,解决了ESL的低功耗及实用性问题,有利于ESL的推广及应用。
1 系统总体架构和工作原理
ESL系统由ESL服务器、ESL管理系统、无线路由器、网关、ESL和手持终端组成,总体架构如图1所示。ESL用于显示商品名、价格、产地和一维条码等信息,具有唯一的身份标识(EID)。网关是连接ESL服务器与ESL的桥梁,负责数据处理和转发。手持机具有条码扫描功能,实现商品、ESL和网关的绑定与解绑、商品信息核价、盘点等功能。
图1 系统总体架构图
ESL系统中,ESL部署为蓝牙从机,定时广播,等待主机连接;网关作为蓝牙主机,采用点对点的通信方式对ESL发起连接和传输数据。系统运行首先将设备进行安装、配置,此时ESL为自由状态,以一维条码的形式显示EID,通过手持机建立ESL与网关的绑定关系。然后通过手持机建立商品与ESL之间一对一或一对多的绑定关系。当ESL管理系统更改商品信息时,ESL服务器将更新数据发送到网关,由网关转发到ESL上显示,ESL更新成功后发送反馈信息,通知ESL服务器更新POS数据库。
2 电子货架标签硬件低功耗设计
ESL由无线收发模块、显示模块、控制器模块和能量供应模块组成[2]。硬件设计时选择低功耗的主控制器和与主控制器工作电压相匹配的低电压、低功耗外围器件,并选取合适的上拉/下拉电阻,降低硬件功耗。
2.1 蓝牙4.0无线模块设计
蓝牙4.0无线模块选择 TI公司的CC2540F256,该芯片集成一个工业标准的增强型8051内核、RF收发器、8 KB RAM和256 KB闪存记忆,是一款完整型低功耗蓝牙(BLE)单模式芯片解决方案[5],具有超低功耗的睡眠模式和运行模式,在PM2模式下电流只有 0.9 μA,能适应低功耗的应用场景。硬件电路包括巴伦匹配电路[5]、外部32 MHz和32.768 kHz晶振电路,以及反向F型PCB天线,电路如图2所示。
图2 蓝牙4.0无线模块电路
2.2 显示模块设计
电子纸具有无需背光、掉电后仍可显示的特性[5],极大地降低了显示功耗。显示模块采用具有4级灰度级的奥翼 2.1英寸电子纸显示模组,分辨率为 172×72,内部集成CMOS型显示控制器SPD2701,该芯片内置可编程电荷泵、显存、内部1 MHz晶振和SPI接口。采用 24引脚的FPC接口与底板连接,将串行输入(SDIN)、时钟(SCLK)、数据/命令(D/C)、片选(CS)和忙状态(BUSY)引 脚 分 别 与 CC2540 的 P0_3、P0_5、P1_2、P1_3 和 P1_0引脚连接,BUSY引脚用来判断电子纸刷新是否完成。
2.3 能量供应模块设计
考虑ESL对大小和使用方便性的要求,采用锂电池供电,能量供应模块采用LY2508A33芯片为CC2540和电子纸提供3.3 V的工作电压,并通过升压电路为电子纸刷新提供+15 V高压和-15 V低压驱动,升压电路如图3所示。通过GDR和RESE引脚控制N沟道场效应管产生PREVGH和PREVGL驱动电压。
图3 升压电路
3 电子货架标签软件低功耗设计
ESL软件设计需要考虑低功耗和实用性,采用TI的BLE-CC254x-1.3低功耗蓝牙协议栈[6],基于 OSAL(Operating System Abstraction Layer)进行设计,并采用事件驱动方式延长ESL的休眠时间。软件设计包括通信协议设计、电子纸显示子程序设计、电量检测子程序设计和ESL主程序设计。
3.1 蓝牙通信协议设计
为实现网关与ESL之间可靠的通信和交互,并尽量减少携带无关信息,降低功耗,设计一套可变长度的数据包格式,如图4所示。协议采用低功耗蓝牙短数据包格式,链路层协议数据单元提供27 B数据负载[3],定义 L2CAP层数据包格式为:属性句柄、数据负载长度、包类型和数据。包类型分为数据包和命令包,数据包携带可变长度的数据,命令包携带相关参数。
3.2 电子纸显示子程序设计
图4 通信协议格式
当有更新事件 (ESL_UPDATE_EVT)响应时,电子纸显示子程序通过控制数据/命令 (D/C)引脚,使用SPI接口对SPD2701发送命令和数据,实现芯片初始化和显示控制。程序流程如图5所示。电子纸显示子程序首先对SPD2701进行复位,设置显示参数和刷新参数,显示参数包括数据输入模式、显存RAM的起始和结束地址、计数器起始地址。可通过设置显示参数实现局部刷新,减少无线传输的数据量。刷新参数包括升压反馈、边界波形和刷新步骤。参数设置完成后输入90 B的波形查找表,将显示数据存储到显存RAM空间,发送更新命令(20h),由控制器通过查找波形表将显示数据转换成源级(source)和门级(gate)电压,驱动带电粒子的运动实现显示。
启动电子纸刷新时(刷新需2 s左右),向主机发送连接参数更新请求,设置不同的连接间隔,降低连接功耗。在获取BUSY引脚降低信号时采用中断代替查询,在中断服务中设置电子纸进入深度睡眠,降低主控制器和显示器的功耗。
图5 电子纸显示子程序流程图
3.3 电量检测子程序设计
ESL使用电池供电,电量检测有利于ESL的管理。在ESL中建立电量服务,并在服务中增加用于存储电量值的属性,设置通用唯一标识码(UUID)为 2A19h,属性权限为认证可读。设置周期为一天的电量检测事件(BATT_CHEK_EVT),在事件处理函数中使用内部模/数转换器(ADC),设置 10 bit有效位,采用 AIN7通道,将电池电压值转换成百分比存储到电量服务中。
3.4 ESL主程序设计
主程序实现3个功能:广播及配对认证、数据收发和工作模式的实现。为适应不同种类商品价格更改频率的差异,并尽量延长ESL睡眠时间,设计ESL工作模式为:白天采用动态可调的睡眠机制,晚上睡眠,由ESL系统进行配置。主程序流程如图6所示。
系统启动时进行硬件和协议初始化,硬件初始化包括SPI接口初始化、I/O口初始化和电子纸初始化,调用存储在Flash中的包含EID信息的一维条码显示在屏幕上。协议初始化包括广播参数、连接参数、配对认证方式的配置,设置广播数据只发送MAC地址,降低广播时的功耗。初始化完成后进入广播状态,当有连接请求时主动发起配对认证请求,并采用AES-128加密链路层[5],防止第三方恶意更改ESL的显示内容。连接建立后,有数据接收时,由OSAL发送系统消息事件(SYS_EVENT_MSG),在事件处理函数中对接收的数据包进行解析,启动相应事件处理。有断开连接请求时,设置睡眠时间,关闭32 MHz晶振和数字稳压器,采用32.768 kHz晶振为睡眠定时器提供时钟,实现动态可调的睡眠机制。
图6 ESL主程序流程图
4 测试及结果
4.1 功耗测试
ESL功耗测试工具为数字万用表、直流电源和示波器[7]。使用数字万用表测得睡眠状态下(PM2模式)电流Is为0.007 0 mA。其他状态的测试方法为:在ESL电源输入端串联一个10 Ω的电阻,直流电源提供3.7 V电压,设置发射功率为 4 dBm,接收灵敏度为-93 dBm,使用示波器测得电阻两端的电压波形,波形如图7所示。得出单个事件的工作时间Tw,通过把波形分割成不同小段估算出单个事件的平均工作电流Iw,在数据传输阶段和等待电子纸刷新阶段设置间隔时间Ti分别为15 ms和1 s,利用如下式(1)计算出不同状态的平均电流Ia,如表1所示。
图7 示波器测量波形图
经过测试得出,ESL全局更新时数据传输时间为2.82 s,电子纸刷新时间为 2.26 s。按白天广播(12 h)晚上睡眠(12 h)的工作方式进行2次商品信息更改的频率计算,每天平均功耗为 0.243 3 mAh,故230 mAh的电池可以使用约2.5年,达到了低功耗的设计目标。
表1 电子纸货架标签功耗表
4.2 系统测试
在实验室环境下,将系统部署后ESL处于自由状态,显示屏上以一维条码形式显示EID;与商品绑定后,更改商品价格,更新数据通过网络传输由网关发送到ESL显示。经过系统连续测试,无线通信稳定可靠,并可动态调整ESL的广播和睡眠时间,达到设计要求。
本文在整合新型电子纸显示技术、低功耗蓝牙技术的基础上,从低功耗和实用性设计策略出发,实现了电子货架标签的设计,满足了零售单位准确、实时更新商品信息、货架盘点、促销变价等需求。测试结果证明,电子货架标签工作稳定,安全可靠,具有功耗低、节约成本和使用方便等优点,具有很大的市场推广前景。
[1]曹军,赵宁,许浩博,等.基于嵌入式单片机和射频技术的电子价格标签[J].电子器件,2012,35(4):477-479.
[2]邱明华,魏学业,吴小进.基于射频技术的电子货架标签设计[J].铁路计算机应用,2012,21(3):33-35.
[3]Bluetooth SIG.Bluetooth specification version 4.0[EB/OL].(2010-06)[2014-01].https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737.
[4]张卓,赵喜斌,王刚,等.电子纸显示技术的应用与市场情况[J].光机电信息,2009,26(11):17-26.
[5]Texas Instruments.CC2540/41 System-on-Chip solution for 2.4-GHz Bluetooth low energy application user′s guide[EB/OL].(2012-04)[2014-01].http://www.ti.com/lit/ug/swru191e/swru191e.pdf.
[6]Texas Instruments.CC2540/41 Bluetooth low energy software developer′s guide[EB/OL].(2013-06)[2014-01].http://www.ti.com/lit/ug/swru271f/swru271f.pdf.
[7]KAMATH S,LINDH J.Measuring Bluetooth low energy power consumption[EB/OL].(2012-04)[2014-01].http://www.ti.com/lit/an/swra347a/swra347a.pdf.