本文介绍了使用MSP430作为主处理器实现可充电的触屏遥控模块,该设计方案支持红外(IR)信号传输,且可扩展RF和NFC无线传输方式;用户输入采用触摸按键实现,设计简洁美观;系统可由电池供电,且自带可充电模块,可由USB或者直流电源适配器充电。TI的430系列MCU产品功耗低,可为便携式电子设备提供更长的使用寿命;其内嵌LCD驱动器,可以方便实时显示监测数据;其支持多种触摸按键实现方式,设计简便灵活。
简介
遥控设备在日常生活中非常易见,家电遥控器、玩具遥控器等方便了用户对设备的控制。针对不同需求,遥控设备设计也不同,例如电视机遥控器不带显示屏,通常用红外信号传输;空调遥控器则带显示屏,常用红外(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输出模块实现。其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端软件设计
为了方便实现人机交互,使用C Sharp语言开发了配套的PC端软件实现和MCU的双向通信。通过PC端软件可查看DEMO的当前状态,包括时间,温度,按键动作等,另外也可通过PC端改变DEMO背光的亮度。PC端软件如图9所示。(图片)
图9:PC端软件 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和合适的代码模块组合,以实现最高的性价比。(图片)
图10:DEMO实物 3 总结
本方案使用MSP430F6638作为主处理器,展示了用其实现触屏遥控器的电子模块设计实例。在遥控器,无线设备以及其它需要按键和显示的应用场合均可参考本方案。MSP430富的产品线也为前述应用场合提供了丰富的选择,客户可根据具体需求选择合适的产品,达到最优性价比。
参考文档
1. Capacitive Touch Library (SLAA490)
2. MSP430F415在LCD空调红外遥控器中的应用 (ZHCA425)
3. MSP430x5xx and MSP430x6xx Family User's Guide (SLAU208M)
4. Starting a USB Design Using MSP430 MCU
12/11/2014
|