简介
遥控设备在日常生活中非常易见,家电遥控器、玩具遥控器等方便了用户对设备的控制。针对不同需求,遥控设备设计也不同,例如电视机遥控器不带显示屏,通常用红外信号传输;空调遥控器则带显示屏,常用红外(IR)和射频(RF)传输信号;另有一些高端遥控产品可通过手机等更新固件,实现版本的升级。本文介绍了一套用于遥控设备的通用方案,该方案支持 LCD 显示;支持红外通信且可扩展射频通信方式;用户输入采用触摸按键实现,时尚美观;本方案预留NFC 接口,可扩展 NFC 功能;在电源管理方面,支持电池供电,USB 充电和无线充电,方便实用。
1 原理介绍
1.1 电容式触摸按键原理
触摸按键在电子设备中得到越来越多的应用。用触摸按键实现人机交互的电磁炉,微波炉,电冰箱等家电产品越来越受青睐,预计未来会有越来越多的触摸按键产品取代传统的机械式按键产品。触摸按键具有坚固耐用,反应速度快,节省空间,美观大方,易于清洁等诸多优点。触摸式按键可分为四大类,电阻式,电容式,红外线式及表面声波式感应按键。其中电阻式,红外线式和表面声波按键主要应用于触摸屏中,在单个按键中很少使用。本方案将重点讨论电容式触摸按键在单个按键中的应用。
电容式触摸按键采用电容量为判断标准,在触摸按键的设计中,它具有一些优点,例如可直接集成在 PCB 中,触摸感应区域外形尺寸设计灵活,相对成本较低等等。简单来讲,电容式触摸按键在按下的时候改变了电容值,从而改变电路振荡周期,通过对振荡周期改变值的检测实现对按键的检测。图1 是电容式触摸按键原理示意图。
图1触摸按键原理示意图
空载状态下,感应区域电容由材料和结构决定(图1 左上图),电容值为C1+C2.变化电容基于寄生效应,主要由外界导体与PAD 之间的寄生电容组成(图1 右下图),手指按下,寄生电容值变化,容值为C1+C2+C3||C4。将此电容接入电路组成振荡器,电容值的改变导致振荡电路输出频率变化,通过测量输出频率判断按键的触发状态。
按键感应区域设计需要避免误触发以及兼顾灵敏度。通常来说,单个按键感应区域需要做的足够大,以达到识别按键目的;相邻按键感应区域应保持一定距离,避免误触发;触摸感应区形状原则上可任意,单个按键以圆形、方形为佳。
TI 的MSP430支持多种触摸实现方式,参考文档[1]。
1.2 红外信号传输原理
红外遥控原理可参考文档[2]。本文采用 NEC 协议编码,简单说是通过脉冲串之间的时间间隔来表示逻辑“0”和逻辑“1”。载波信号频率为38k,逻辑“1”用 0.56ms 的38k 载波和 1.5ms的无载波表示,逻辑“0”用0.56ms 的载波和0.56ms 的无载波表示,帧头用9ms 载波加4.5ms无载波表示。编码帧格式参考图2,具体格式定义可根据实际情况稍作修改。
图2红外编码数据帧格式
TI 的 MSP430 系列 MCU 自带 Timer,可方便产生 38k 载波,编码时的载波有无控制可由Timer 的 PWM 输出模块实现[3]。其 PWM 输出模块可配置成7 种输出方式,可方便实现上述编码。采用MSP430 的Timer 的PWM 输出功能,仅需要一个Timer 和一路PWM 即可轻松实现红外编码,无需额外硬件,软件实现简单。为系统设计节省成本和开发时间。
1.3 可充电触屏遥控模块方案设计
传统的遥控模块采用机械按键实现,本方案采用触摸按键设计,按键和显示在同一块LCD 屏上,外形时尚、美观。本方案作为参考设计,除了遥控器基本功能(按键,显示,发射,按键声)外,还设计了充电和USB 模块,并扩展了RF 和NFC接口。可充电方式提高了灵活性,用户仅需要充电而不必更换电池。USB 模块可实现和PC 端应用软件通信。本方案不仅仅是遥控器方案,在其他应用领域,本方案也有很大的参考价值,用户仅需要根据需求对本方案功能模块进行裁剪即可。本方案电源模块支持电池供电和USB 或直流适配器充/供电;触摸按键采用比较器B实现;RF 和NFC 模块采用SPI 和MCU 接口;MSP430自带的USB 模块可方便与PC 端应用软件接口,实现PC 和MCU 的双向通信。系统框图如图3 所示。
图3系统框图
2 设计实例
2.1 硬件设计
2.1.1 电源模块设计
本系统采用电池供电,且设计了充电电路,支持USB或直流充电。电源经LDO稳压后输出3.3V供给MCU,保证MCU 工作电压的稳定。其电路实现如下图4 所示。
图4电源模块电路设计
2.1.2 LCD及背光模块设计
MSP430F6638自带LCD控制器,可方便地驱动段式LCD屏。屏幕背光亮度由Timer输出PWM波控制,调节方便。背光电路设计如图5 所示。通过改变PWM 的频率和占空比,可改变背光亮度,从而改变LCD屏视觉效果。
图5背光电路设计
2.1.3 触摸按键设计
MSP430F6638自带比较器B,最多可支持12个触摸按键,比较器B的输出接入Timer的CLK 输入端,当手指按下,触摸感应区电容值发生了变化,比较器翻转周期变长,比较器输出作为 Timer 的计数脉冲,在固定的时间内计数值变小,根据固定时间内Timer 计数值的变化来判断按键动作。通过合适配置寄存器和软件算法处理,可实现触摸按键检测。电路设计如图 6 所示。注意为了降低噪声,每通道外接电阻不宜过小,可选500k左右。比较器B 翻转电平通过配置寄存器实现,请参考手册[3]。
图6触摸按键电路设计
2.1.4 红外发射模块设计
红外模块采用普通红外管实现,通过配置Timer输出合适的PWM波实现红外编码。红外发射瞬间电流较大,通过MCU 的GPIO控制三极管驱动红外发射灯管,提高发射电流。红外发射模块需配合接收模块采用同样的编码格式实现通信。红外模块电路图如图7 所示。
图7红外发射模块
2.1.5 USB模块设计
MSP430F6638自带USB模块,可实现USB通信,其硬件设计简单。本文用USB虚拟UART 实现和PC 通信。关于USB 调试请参考TI 官网资料[4]。
2.2 软件设计
2.2.1 嵌入式软件设计
系统软件流程如图8 所示。无按键动作时,系统运行RTC,显示当前时间,温度且把时间,温度以及按键状态(每个按键动作有无)信息发送给PC。当有按键按下后,除了上述功能外,系统还将执行按键上层逻辑,比如是否进入时间设定模式,是否开蜂鸣器以及发射哪种红外码等等。
图8软件流程图
2.2.2 PC端软件设计
为了方便实现人机交互,使用CSharp语言开发了配套的PC端软件实现和MCU的双向通信。通过PC端软件可查看DEMO的当前状态,包括时间,温度,按键动作等,另外也可通过PC 端改变DEMO 背光的亮度。PC 端软件如图9所示。
图9PC 端软件
DEMO 通过USB线与PC端COM口连接,MSP430F6638 的 USB 通过软件协议虚拟UART,在PC端选择合适的COM 端口号可实现PC软件和 DEMO 的互连。图9中左图反映DEMO 的实物,当有按键按下的时候,对应的按键图标闪烁一下,同时在记录框输出文字记录这个动作(Button xx Pressed!)。最下面图表则实时显示当前温度信息。
2.3 DEMO展示
DEMO 实物如图10所示。键盘区12个按键,每个按键按下图标会闪烁一下,同时蜂鸣器会响0.3s左右。每个按键做了不同功能,可根据需求发射不同的红外码实现遥控器的功能。演示DEMO中代码支持RTC和温度计功能,支持灵活调整时间,同时可通过PC端软件来调节屏幕背光。DEMO还可扩展光传感模块,可根据环境光强弱智能调节背光亮度,达到较好的视觉效果。
该DEMO具有通用性,在所有需要显示和人机交互的微控制系统中均可参考此方案,只需对FW 做简单修改即可实现所需功能。同样,MSP430 系列众多的产品线为客户提供了不同成本的多种选择。客户可根据具体需求选择合适的MCU和合适的代码模块组合,以实现最高的性价比。
图10DEMO 实物
3 总结
本方案使用MSP430F6638 作为主处理器,展示了用其实现触屏遥控器的电子模块设计实例。在遥控器,无线设备以及其它需要按键和显示的应用场合均可参考本方案。MSP430 丰富的产品线也为前述应用场合提供了丰富的选择,客户可根据具体需求选择合适的产品,达到最优性价比。