1 设计理念和原理
1.1 设计理念
随着数字家庭等领域技术的迅速发展,在多媒体终端上的增值业务将越来越多,浏览网页、搜索、短信等都需要遥控器进行输入。但作为连接用户和终端之间的重要外设,遥控器的设计理念还停留在模拟电视时代,体验感较差。目前用户输入的解决方式是呼出终端的内置输入法,这样就带来了两个问题:一,不同厂家的终端都需要内置自己的中英文输入法,占用资源,而且必须搭配自己的遥控器使用,通用性不高;二,用户在输人时必须一边看遥控器输入一边看屏幕确认输入,如果文字较多会造成频频抬头和低头的麻烦,难以忍受。基于以上缺点,本文提出将输入法内置于遥控器的理念,在遥控器上输入文字后再统一将文字编码用红外线发给终端,终端接收后将编码译成文字显示在输入区中。
1.2 红外遥控器工作原理
遥控码是一串二进制数字信号,通过脉冲编码形成脉冲序列,被调制到一个固定频率载波上,最后通过红外发射管,以光脉冲的形式发射出去。脉冲编码就是将“1”和“0”用一个脉冲来标识。本设计使用nec红外协议,用脉宽560us,周期4x560us代表二进制“1”;用脉宽560us,周期2x560us代表二进制“0”(如图1所示,密集竖线表示38khz载波)。
图1 nec协议红外遥控信号的调制
2 硬件设计
2.1 总体设计原则
遵循嵌入式系统高性能、低功耗、小体积的设计思想,总体设计原则是:元器件采用低功耗芯片;尽量用软件实现硬件功能,减少器件数量;键盘采用中断方式,一旦系统空闲超时立即使其进入休眠状态,再次按键予以唤醒。
2.2 硬件组成
硬件组成如图2所示。其中:主芯片为microchip公司pic18f系列高档单片机66j11,性价比极高;液晶屏控制器为sitronix公司的st7565r,分辨率128x64;汉字点阵字库用atmel公司的262kb flash制作,它和lcd与单片机的接口均为spi接口;键盘有49个按键.采用7x7矩阵方式,7根行线连到单片机b口的rbi~rb7外部中断脚,列线连到单片机的e口的re1-re7,作为数字输出口。
图2 基于pic单片机的红外遥控器硬件组成
3 软件设计
3.1 系统运行流程
遥控器无开关机过程,因此放入电池时系统硬件即初始化,进入休眠。按键中断时,进入主程序,系统运行流程如图3所示,分为两种模式:普通遥控和文本输入。单片机内部的看门狗负责对空闲状态(没有键被按下)计时,超时后系统复位重新进入休眠状态。
图3 系统运行流程图
3.2 功耗管理设计
pic18f系列器件提供了三种主要的工作模式:运行模式、空闲模式和休眠模式,实际中只使用运行模式和休眠模式。根据遥控器的运行流程,看门狗(wdt:watchdog timer)负责实现空闲时间的计时。4ms的wdt超时溢出周期与16位的后分频比值相乘。可以通过在mplab ide中配置寄存器2h中的wdtps位控制一个多路开关以对wdt后分频器的输出进行选择,可获得的超时溢出周期范围为4ms至135秒(2.25分钟)。在代码中需要在每次按键后喂狗,保证看门狗重新计时。
3.3 驱动程序设计
3.3.1 键盘驱动
pic单片机的b口是外部中断口,有四个int中断和四个kbi中断。本设计将rb0留做扩展备用,rbl/intl、rb2/int2和rb3/int3都设置为下降沿触发中断;kbl4个口(rb4-rb7)为电平变化中断(双沿),在程序里只对下降沿中断有处理。
按键扫描采取行列扫描方式获取键值。配置行线均弱上拉,列线均输出为0;当有键(行列交叉点)按下时,此键所在行线即出现下降沿;进入中断处理后,依次令每根列线输出为0,其余为1,扫描行线看哪根行线输入为0,从而得到按键的位置。
3.3.2 spi驱动
pic单片机有两个主控同步串行端口模块,它们都可以用软件配置为spi方式,使用非常方便.数据读写只需读写其缓存即可,不需要像51单片机那样模拟时序。本设计使用了两个spi接口器件:lcd和flash字库,他们是从设备,单片机是主设备。在配置好与spi时钟频率等有关的寄存器后,主从设备就可以通信了。当主设备从从设备读数据时,sspxlf(x=1,2)标志寄存器为0说明正在接收数据,为1时说明已收到一个字节;当主设备往从设备写数据时,sspxlf为1说明已发完—个字节。
3.3.3pwm驱动
发射用的红外载波口』用标准脉宽捌制模块(pwm)来实现,载波频率是38khz,因此pwm的周期就是1/38khz,pwm周期的计算公式是:
pwm周期=[(_pr2)+1].4.tosc(tmr2预分频值).
本设计中晶振是12mhz.即tosc=1/12mhz,经过计算,pr2寄存器设置为78。tmr2预分频值为1可得到频率为38km的方波。
也可以设置方波的占空比为1:3来减小功耗,占空比有10位,寄存器ccprxl保存占空比高8位,ccpxcon《5:4》保存低2位。ccprxl:ccpxcon《5:4》代表这个10位值。计算占空比的公式是:
pwm占空比=(ccprxl:ccpxcon《5:4》).tosc.(tmr2预分频值)
设置好频率和占空比.开启pwm功能,tmr2(定时器2)开始计时,pwm输出高电平,计时到周期的1,3时pwm输出低电平,计时到一个周期时pwm重新开始另一个周期,tmr2从0开始计时。所以要停止载波的输出很简单,只需令占空比为0或tmr2停止计时。因此,很容易就可得到图1所示的输出。
3.4 输入法设计
3.4.1 功能
用遥控器输入中英文、数字、符号,功能类似于手机短信,其中中文输入是类似手机t9输入法的拼音输入法,英文输入法是只需按两次键(第一次调出候选字符,第二次选择字符)即可输入一个字母。按“输入法”键从遥控模式切换进输入模式,操作同手机,“切换键”用来切换中/英输入,“1”用来输入标点,“0”用来呼出数字输入法。输入完毕按“发射键”发射lcd上所有文字的编码,汉字是机内码,英文、数字及符号是ascii码。如果想回到遥控模式,再次按“输入法”键。
3.4.2 拼音输入法设计原理
拼音输入法是本设计的核心内容,它负责将键盘输入的数字序列转换为汉字,汉字的搜索采用查表算法。拼音输入法大体可以分为两个步骤:把数字序列转换为拼音编码,然后搜索到该拼音编码对应的汉字编码。选中的汉字将显示在lcd的文本区,其编码记录在待发射的文本数组中。
3.4.3 索引表的重要结构体
1.拼音编码以索引表的形式保存在py_index.h中,每个拼音编码的数据结构为:
eonst struct t9py_idx
{
const unsigned char *t9://按键数字序列
const unsigned char *py://拼音编码字符串
coast unsigned char *py_mb;//该拼音对应的汉字码表地址
};
所有的拼音编码组成一个数组常量t9py_index[],每个拼音编码作为数组中的一个元素存在,如:const struct t9py_idx
py_index[]{“9468”、 “zhou”,py_mb_zhou},
2. 拼音输入法拼音组合查询码表,t9数字字母索引结构如下:
const struct py_arrange
{
cormt unsigned char *nums;
const unsigned char *arra;
};
例如:const struct py_arrange py_arr []={“726”,“pan pao ran rao san sao”}
3.汉字码表举例:
const unsigned char py_mb_zhou[]={“舟周州洲诌粥轴肘帚咒皱宙昼骤??”}
3.4.4 汉字字模库的使用
汉字的显示在lcd上用点阵来表示:有笔划(i)、无笔划(o)。描述点阵信息的二进制代码集称为字模,所有点阵信息就组成了字模库。gb2312—80规定了汉字的信息交换码,简称国标码,其用两个字节代码来表示一个汉字。微机中还有区位码和机内码两个概念,区、位各94(1-94),用先区后位的两个2位十进制数表示;机内码是计算机内部存储汉字的代码。
在本设计中,每个汉字的显示采用16x16图形点阵方式显示,在ucdos等汉字操作系统中可以找到hzk16.dat二进制文件,这是一个标准的16x16点阵的字模库。以94个汉字为一组。共87组,8178个字。以16x16点阵的汉字计算,每个汉字实际占用的空间为32bytes,总容量为8178x32=262kb,用烧片器将hzk16.dat烧进flash中。
以汉字“电”为例,其机内码为oxb5e7,在单片机系统中需要的是其在存储器中的绝对位置,则需要先将其转换为区位码。总结公式为:
((机内码的高位字节-oxa1)x94 + 机内码的低位字节 - 0xal)x32
那么“电”在字库中的地址就是((oxb5-oxal)x94+0xe7-0xal)x32。at45db021b是分页存储的,每页有264bytes,所以上述地址除以264的商是指定对哪一页读取,余数指定从这一页的哪一字节开始读取。
4 结束语
未来的多媒体终端给消费者带来的是集信息、娱乐、学习、购物于一体的享受。此遥控器通用性强,应用范围广,可支持搜索、短信等多种增值业务,带给用户革命性的体验感。遥控器bom成本不到100元,普通遥控器为20元,差价80元,如果用于高端vod业务的捆绑销售.假设包月资费为20元,仅用不到4个月就可收回投资,经济效益极好,市场潜力巨大。
本文作者创新点:针对多媒体终端输入中用户体验较差等缺点,介绍了一种可向终端发送文本信息的新型红外遥控器,给出了基于pic8位单片机实现的解决方案,其设计理念比较符合数字家庭领域未来发展的方向,有一定的借鉴意义。
华为MateBook D 14第三方Linux版上架,售价3699元
为什么要重复接地?重复接地如何做?
小麦收获机电控系统,收获机控制器显示屏
恒温加热用PTC热敏电阻器
dfrobotI2C LIS2DH 三轴加速度计简介
基于PIC8位单片机实现红外遥控器的设计
给冰箱除味的几个小妙招 你知道几个呢
MLCC、芯片电阻吃紧,国巨将斥资扩产|一句话点评热点新闻
物联网技术逐渐在智能家居生活中扮演起越来越重要的角色
非洲猪瘟检测设备哪个厂家好@三体推荐
EMI相关标准和测量技术
联通iPhone御用扩展电池 动力舱N2615开箱
GP超霸全新子品牌“100%必霸”全面发力推出新品
手机长时间充电将成为历史 新型纳米材料可让充电时间缩至几秒
以赛促用|易华录荣获江苏省健康医疗大数据创新应用大赛二等奖
怎样的交互方式是未来的最佳选择
凌壹科技ZO-B150-PIO嵌入式主板分析
红外热成像技术在环境保护中的应用
i9-9900KS或在10月份推出
Apple Silicon Mac Pro概念图出炉:比Intel芯片机型小巧得多