高振斌,陈 贺,华 中,寇志强
(1.河北工业大学 信息工程学院,天津 300401;2.天津铂创国茂电子科技发展有限公司,天津 300384)
基于HAV1007的触摸屏红外控制器设计
高振斌1,陈 贺2,华 中2,寇志强3
(1.河北工业大学 信息工程学院,天津 300401;2.天津铂创国茂电子科技发展有限公司,天津 300384)
主要介绍了触摸屏红外控制器的设计方案,该方案主要包括主控制单元HAV1007芯片介绍、主控单元和外围硬件电路的连接、整体软件设计和程序流程图。实现了鼠标操作、数字手写输入和双击确认功能。该触摸屏红外控制器能够流畅地控制红外接收设备,如电视、机顶盒、空调等,并获得了良好的用户体验。
设计方案;触摸屏红外控制器;HAV1007
随着社会的发展,人们对生活舒适度提出了更高的要求。机顶盒、电视、空调大部分使用固定按键红外遥控器,而每种电器都配备有自己独立的固定按键遥控器。人们经常将机顶盒和电视的遥控器混淆,使用不便。固定按键式的遥控器存在一些缺点,固定按键的塑胶材料易老化,印刷电路板易腐蚀,造成遥控器失灵,一个遥控器经常需要进行除尘操作,并且淘汰的遥控器会污染环境。传统的按键遥控器功耗较高,需要经常更换电池,废旧的电池造成污染。
触摸屏的出现提供了一种新的人机交互方式,触摸屏代替按键进行操作,使得人机交互更为方便[1]。由此产生设计触摸屏控制器的设计想法。
触摸屏红外控制器利用电容式触摸屏代替固定按键来进行操作,避免了传统遥控器按键老化的缺点,通过手指在触摸屏上滑动进行上下左右操作,比按键式更加灵敏、方便。采用锂电池进行供电,该锂电池可利用USB接口进行反复充电,同时控制器具有自动休眠功能,使得能耗更低。更新红外协议可控制多种红外接收设备,实现“一机多用”[2]。
1.1 系统硬件设计
整体硬件包括:USB转I2C模块(USB to I2C)、低功耗唤醒(Low Power Wake-up)、触摸屏以及连接、电源管理模块(Power Management)、LED灯显示、红外发射、主控芯片HAV1007。
USB转I2C模块:该模块主要用作主控芯片HAV1007和PC之间的通信。首先,通过固定的编码格式将红外协议进行编码;其次,PC将该编码后的协议通过USB to I2C模块更新到HAV1007中。经过上述两个步骤,完成红外协议的更新,以控制多种红外接收设备。
低功耗唤醒:该模块主要功能为唤醒低功耗模式下的主控芯片。一定时间内没有对控制器进行操作,主控芯片自动进入休眠模式,再次使用该控制器时,通过该模块进行唤醒,由休眠模式进入正常模式。
触摸屏以及连接:该模块由导电油墨电容式触摸屏和外围连接电路组成。主要是采集手指触摸在触摸屏中的数据信息,并由外围电路传递给芯片进行处理。
电源管理模块:该模块由锂电池和外围电路组成。
LED灯显示:该模块由LED灯和外围电路组成,主要功能是显示给用户当前控制的设备和红外发射指示。
红外发射:该模块由三极管和放大电路组成,主要功能是根据PWM信号,完成红外信号的发射。
如图1所示,硬件的各个模块以及各模块之间的连接。
图1 硬件连接图
1.2 芯片框图
本项目使用HAV1007作为主控芯片。芯片HAV1007是针对电容式触摸屏开发的一款芯片,其CPU采用苏州国芯C*Core CPU C306。该CPU采用0.15 μm EFlash生产工艺,4级流水线,完全可综合的32位嵌入式RISC CPU,低功耗,高性能,高代码密度,适用于手提设备(PDA、移动电话)、通信设备(无线局域网、路由器)、汽车工业(ABS、安全气囊、电喷控制、刹车控制)、家用电器以及众多的工业过程控制。具有丰富的外设资源,包括AD,PIT,WDT,SPI,UART,EPORT,I2C等。如图2所示为芯片HAV1007详细信息。
图2 芯片内部结构框图
2.1 整体软件设计
整体软件设计方案包括:系统初始化,触摸数据的采集、处理,状态转移,红外协议更新,红外数据处理和红外发射。
首先,按照方案对CPU的外设以及外设的中断设置进行初始化。电容式触摸屏由15条X感应线和7条Y感应线组成,需根据感应线分布情况设置相应的感应参数,同时根据中断需求设置各模块中断以及各模块寄存器。
初始化完毕,系统处于等待状态,手指触摸时,触摸信息通过22条感应线传递给CPU,采集到的触摸信息经过处理,最终生成触摸点坐标和手指个数信息。将生成的数据存储在循环数组(触摸坐标值)中[3],这样完成了数据坐标的存储,该数据信息将作为状态转移模块的数据输入。状态转移模块根据输入的数据信息和当前状态,完成状态转移和红外发射的设置。需要发射红外信号时,将待发射的信号与存储在Flash中的红外数据匹配,选择发射的红外码值并编码,将编码完毕的数据存储在循环数组(红外编码数据)中[4]。红外发射模块读取红外编码数据,设置PWM引脚,最终由硬件电路对信号进行放大、发射,这样就完成从手指触摸到红外信号发射过程。其中,两个循环数组作为两模块之间的桥梁,并具有缓冲作用。
更新红外协议可控制不同设备,在网页界面选择要更新设备的红外协议(编码后),USB to I2C模块将PC的数据传输到触摸屏控制器中,校验并存储,完成红外协议的更新。如图3所示,为整体软件设计方案。
图3 软件设计方案
2.2 程序流程图
在系统中,触摸信息的产生是周期性的,频率由WDT控制。系统初始化中设置WDT时间Tw,采点频率1/Tw。WDT中断服务函数中将采点标志位置“1”,主程序中判断该标志位的值,进行数据的采集、存储,采集完成后,将该标志位清零,控制采点频率,并将采集到的点存储在循环数组(触摸坐标)中。
主程序中,将采集到的点进行处理、分析,通过当前状态Current_State和处理后的点信息,得出输出状态Output_State和信息。根据状态跳转和输出信息,判断红外信号发射情况。需发射红外数据时,将编码后的红外数据存储在循环数组(红外编码)中,由于RAM的限制,循环数组不能一次存储全部的红外编码值,需要将发射完毕后的红外编码值清除,在清除后的位置上填充新的红外编码值。红外编码值的存储和发射同步进行,由模块PIT和PWM共同完成。PIT负责数据的填充,PWM负责数据的读取,二者协同完成红外编码数据的设置。最终由红外发射电路将红外信号发射出去。
主程序流程图和各中断服务函数流程如图4所示。
图4 程序流程图
2.3 状态转移
参考固定按键遥控器的状态设置,设计了基于电容式触摸屏的状态机[5]。该状态机采用有限状态机,有限状态机分为Moore型有限状态机和Mealy型有限状态机。Moore型有限状态机,输出信号仅与当前状态有关。Mealy型有限状态机,输出信号与当前状态和输入信号有关[6-7]。因输出信号与当前状态和输入的数据信息有关,固该状态机选择Mealy型有限状态机。不同于固定按键遥控器的按键状态种类,触摸屏控制器需考虑更多状态。状态及注释:“1 s”为双击操作两次点击之间的时间阈值;G_IDLE_STATE表示空闲状态;G_T_STATE表示触摸状态;G_SC_UP_STATE表示点击提起状态;G_LP_STATE表示长按状态;G_DM_STATE表示滑动状态;G_DS_T_STATE表示双击的第二次触摸状态。图5描述了手指触摸在触摸屏上产生的各种状态,以及状态转移路径和转移条件。
状态机的设置,使得触摸操作更为精准、灵敏,并实现了双击和长按动作。
2.4 数字模式
数字模式下支持数字手写输入。输入的数据信息经过数字识别算法判断出红外信号,该数字识别算法主要包括3个模块:数据预处理、特征提取、数字识别。特征提取分为方向特征、首末点轮廓、整体轮廓、断点的提取。图6为数字识别算法结构框图。
图5 操作状态转移图
图6 数字识别算法结构框图
数字识别模块采用编辑距离公式进行数据和模板的比对,判断编辑距离最小的数字为输出数字。编辑距离是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符[8-11]。
本文针对数字模式进行了一些编辑距离算法的改进,改进的编辑距离步骤:
1)定义左上数据变量,上、左数据变量,以及定义记录当前数值的数组,并赋初值;
2)比较数字模板和提取的特征向量,若当前位置对应的数字相等,则临时变量赋0,否则赋2(临时变量表示下一步的编辑距离),将左上数值加临时变量、上数值加1、左数值加1三者的最小值赋给数组的当前位置(如果出现0,则临时变量赋0);
3)判定是否遍历数字与提取的特征向量,如果是,输出数组最后的一个数值,即数字与样本的编辑距离,否则返回执行步骤3);
4)判定是否遍历0~9数字模板,如果是,则判定与样本的编辑距离最短的数字为输出的数字;否则,返回执行步骤2)。
该数字识别算法,具有复杂度低、容错性强、识别率高的优点。对大量数据进行试验,结果表明数字识别率为95.5%。
根据该方案,经过软硬件测试,最终完成电容式触摸屏红外控制器样机的生产。
该样机包括3种模式:方向模式、鼠标模式、数字模式。方向模式采用上下左右滑动代替了传统遥控器的上下左右键,并且可根据滑动速度和距离判断发射红外次数,操作方便。鼠标模式中,滑动鼠标时,发射鼠标的红外键值,该功能主要用于机顶盒中。数字模式时,支持数字手写输入,经过处理发射数字对应的红外键值[12]。
经产品测试,该产品具有较高的数字识别率,增加了鼠标、双击确认、长按等功能,可控制多种设备,具有良好的用户体验。图7所示为该控制器样机图片。
图7 电容式触摸屏控制器
随着触摸屏市场的打开,触摸屏设备成为人们生活不可分割的一部分。电容式触摸屏红外控制器完全有可能作为传统固定按键遥控器的替代品。通过更换红外协议的方式来控制多种设备,协议的获得只需开发人员完成,无需用户进行设置,用户只需在网上选择需要更换的设备编号即可完成所控设备的更换,摒弃了学习型遥控器所控设备单一的缺点。同时,触摸屏控制器操作更为方便,容易被人们所接受。因此,具有研究和生产价值。
[1]许强.面向Android机顶盒的触摸屏红外遥控器的设计[J].电视技术,2014,38(1):82-85.
[2] 李晋.学习型遥控器设计[J].电子测量技术,2006,29(1):106-107.
[3] 许淑华.C语言中数组应用总结[J].科技广场,2014,38(1):254-256.
[4]徐志.基于模糊模式识别算法的学习型红外遥控器的编码压缩[J].福州大学学报,2008(36):62-64.
[5] 泰国栋.有限状态机的嵌入式Linux按键驱动设计[J].单片机与嵌入式系统应用,2012,4(1):1-4.
[6] 刘斌.基于有限状态机的Linux多点触摸屏驱动设计[J].微计算机信息,2012,28(3):54-56.
[7]孙宏旭.基于有限状态机的模型转换方法的研究[J].计算机技术与应用,2012,22(2):10-13.
[8] 肖冰.一种度量图像相似性和计算图编辑距离的新方法[J].电子学报,2009,37(10):2206-2210.
[9] 赵作鹏.一种改进的编辑距离算法及其在数据处理中的应用[J].计算机应用,2009,29(2):425-426.
[10]刁兴春.一种融合多种编辑距离的字符串相似度计算方法[J].计算机应用研究,2010,27(12):4524-4525.
[11] ROBLES K A,HANCOCK E R.Graph edit distance from spec⁃tral seriation[J].IEEE Trans.Pattern Analysis and Machine Intel⁃ ligence,2005,27(3):365-378.
[12]孙宪奇.红外遥控发射器系统码和键值测定仪[J].沈阳工业大学学报,1998,20(3):50-60.
Design of Touch-screen Infrared Controller Based on HAV1007
GAO Zhenbin1,CHEN He2,HUA Zhong2,KOU Zhiqiang3
(1.Information Engineering College of Hebei University of technology,Tianjin 300401,China;2.Tianjin Botro Electronical Tech Co.,Ltd.,Tianjin 300384,China)
The design of touch screen infrared controller is introduced in this paper.The chip introduction of the main control unit-HAV1007,the connection of main control unit and the peripheral hardware,software design and program flow chart are comprised in this scheme.Mouse operation,digital handwriting input and double click function are realized through this scheme.It is proved that the touch-screen infrared controller can control the infrared receiving device smoothly,such as TV,set-top box,air-conditioning,and get a good user experience.
design scheme;touch-screen infrared controller;HAV1007
TN835
B
10.16280/j.videoe.2015.04.011
高振斌(1973—),副教授,主要研究方向为专用集成电路设计、通信信号处理;
2014-08-19
【本文献信息】高振斌,陈贺,华中,等.基于HAV1007的触摸屏红外控制器设计[J].电视技术,2015,39(4).
陈 贺(1989—),硕士生,主研嵌入式系统及应用。
责任编辑:许 盈