电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 接口/总线/驱动 > 详细信息
接口/总线/驱动:基于PIC单片机的低功耗键盘接口设计
来源:   时间: 2007-7-16 15:31:52    
引言

目前,针对单片机应用的专用键盘接口芯片可谓种类繁多,但大多数都应用于对功耗没有严格要求的场合,满足不了一些小巧的便携式设备(例如遥控器的低功耗、低成本要求)。TC9148是一款应用广泛的红外发码专用芯片,一般与红外接收芯片TC9149配合使用来构成一套完整的遥控发射、接收系统。而由于TC9148具有功耗极低且价格低廉的特点,凶而在许多要求有键盘控制的低功耗、低成本应用中可将其作为键盘接口芯片使用,并直接与微处理器连接实现复杂的键盘处理。本文采用TC9148作为键盘接口芯片,给出了基于Microchip公司的低功耗单片机PIC16F73实现的低功耗键盘接口设计方法。

1 TC9148传送波形分析

TC9148是一款功耗极低且价格低廉的红外发码专用芯片。用TC9148设计键盘接口电路的关键是对TC9148的输出信号进行解码。下面就详细地讨论一下TC9148的传送波形。

1.1 基本传送波形

TC9148的振荡频率fosc为455 kHz,传送的基本波彤是图1所示的12位串行码。其中C1~C3为用户码标识,H、S1和S2为连续/单发码标识,K1~K6为键输人标识。根据TC9148数据手册介绍,这里:a=(1/fosc)×192≈420μs。然而,通过示波器观察及后续的程序调试发现,每位码的实际位宽约为420μs,即图1中的4a才等于420μs。

1.2 载波

为了增加红外信号的发送和接收距离,一般需要50~100 mA的电流通过红外发射二极管,所以,从减少电池消耗考虑,需尽可能的减少红外发光管的导通时间。TC9148的发码信号采川占空比为1:3的载波调制波形,其载波频率为38 Hz。

图2和图3所示为用示波器观察所得的脉冲凋制后的传送波形。图2是位码“0”和“1”的波形表示。图3则是发射一个完整码的实际波形。

由于应用了载波调制,TC9148的发射码波形相对比较复杂,采用常用的定时读取高低电平的方式解码有一定的难度,且误码率也比较高。本设计考虑到载波调制部分具有电平变化的特点,因而采用PIC16F73单片机的RB端口电平变化中断来作为辅助判断。

2 键盘接口电路

本设计将TC9148作为键盘接口芯片使用,其硬件电路的设计相对比较简单,其电路如图4所示。图4中,TC9148的串行输出端TxOUT接PIC16F73的RB4脚,其它外围电路采用其典型连接方法,键盘则应根据需要做一定裁减。另外,电路调试中,有时TC9148会起振困难,因此应注意合理设置晶振电路中的电容C9和C8的值,一般的经验是:C8略小于C9。

可见,键盘接口设计的关键就是实现PIC16F73对TC9148传送码的正确解码。考虑到TC9148传送波形的复杂性,PIC16F73的接入引脚采用的是RB口的RB4,即加入了RB端口电平变化中断作为辅助判断。

3 解码算法的设计

3.1 TC9148发码起始的判断

根据TC9148的传送波形,无论“0”或“1”,起始处均为载波调制波形,这一点具有电平变化的特点,因此,开RB电平变化中断后,一旦进入该中断程序即认为开始发码。

3.2 传送波形中“0”和“1”的判断

事实上,本设计中解码的难点是对传送波形中“0”和“1”的判断。最初在考虑解码时,也曾尝试过通过精确的延时、定时程序并按照时序来读取波形,但通过大量的测试发现:TC9148数据手册上提供的波形与实际示波器上观察的波形略有出入,致使设计时无法得到精确的延时数值;另外,由于加入了载波,但载波调制部分的低电平保持时间较短,硬件无法灵敏反应,致使误码率很高。故而只能再做其它的打算。

仔细对位“0”和位“1”的波形进行分析和比较后发现:由于加入载波,在前半周期内,位“0”和位“1”的波形均会发生电平变化;而在后半周期内,只有位“1”的波形会产生电平变化,而位“0”的波形则保持高电平不变,具体波形变化如图5所示。

因此,通过适当的延时和电平变化的判断,就可以很准确的判断出位“0”和位“1”,问题也就迎刃而解了。

3.3 基本传送波形的解码

TC9148的键盘输入可以实现单键和多重按键,与之对应的有两种发射码的波形:一种是单发码波形,另一种是连续码波形。这两种波形都是基于传送的基本波形,只是加入了一定的延时和校验部分,并且单发码波形只传送一次,而连续码波形是要重复传送的,具体波形图可参考TC9148的数据手册。

这里,由于设计中的算法并不是基于波形的读取,而是直接对位“0”和位“1”波形进行判断,因此,不论是单发码波形或连续码波形,都可只读其中的基本传送波形部分即以得到正确的解码,这在很大程度上避免了干扰的影响。

图6所示是一个基本传送波形的解码判断过程图,其重复部分可以采用循环来实现。

4 程序代码

下面给出基于PIC16F73单片机的解码部分的程序代码和详细注释:

5 结束语

本文针对低功耗应用场合,采用Microchip公司的低功耗单片机PIC16F73和红外发码芯片TC9148完成了键盘接口设计,并在设计过程中实现了PIC单片机对红外发码芯片TC9148的直接解码,从而拓展TC9148芯片的应用领域,提升了产品的性价比,具有一定的创新意义。

相关信息
发表评论
打印本页 关闭本页
MC74VHCT245ADTR2的技术参数
  产品型号:MC74VHCT245ADTR2封装/温度(℃):TSSOP-20/-40~85描述:八双向接收发送器价格/1片(套):¥2.35
>>详细内容
MC74VHC245DTR2G的技术参数
  产品型号:MC74VHC245DTR2G封装/温度(℃):20TSSOP/-40~85描述:八总线接收发送器(三态同相输出)价格/1片(套):¥2.80
>>详细内容
MC74LVX4245DWR2G的技术参数
  产品型号:MC74LVX4245DWR2G封装/温度(℃):24SOIC/ -40~85描述:八总线收发器,3.3V到5V电平转换(3态输出)价格/1片(套):¥7.70
>>详细内容
MC74LVX4245DTR2G的技术参数
  产品型号:MC74LVX4245DTR2G封装/温度(℃):24TSSOP/ -40~85描述:八总线收发器,3.3V到5V电平转换(3态输出)价格/1片(套):¥7.70
>>详细内容
MC74LVX4245DTG的技术参数
  产品型号:MC74LVX4245DTG封装/温度(℃):24TSSOP/ -40~85描述:八总线收发器,3.3V到5V电平转换(3态输出)价格/1片(套):¥8.60
>>详细内容
MC74LCX245DWR2G的技术参数
  产品型号:MC74LCX245DWR2G封装/温度(℃):20SOIC/ -40~85描述:八双向接收发送器(三态同相输出)价格/1片(套):¥3.00
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com