【关键字】:单片机;键盘;A/D转换;EMI;EMC;设计改进
【出 处】 2018年 1期
【收 录】中文学术期刊网
【作 者】杨聚庆,刘艺柱
【单 位】
【摘 要】 摘要:针对HIC998(3)T型IC卡电话机采用矩阵式键盘接口在“3C”认证测试中出现电磁干扰(EMI)超标的问题,设计出智能化键盘进行升级改造,新键盘采用单口线A/D转换式
摘要:针对HIC998(3)T型IC卡电话机采用矩阵式键盘接口在“3C”认证测试中出现电磁干扰(EMI)超标的问题,设计出智能化键盘进行升级改造,新键盘采用单口线A/D转换式键盘布局和接口通讯的方案。通过对比实验测试证明该方案性能明显改善,且实现模块化标准电路后易于推广应用。
关键词:单片机;键盘;A/D转换;EMI;EMC;设计改进
引 言
键盘输入电路是很多电子产品必不可少的部分,例如电话机、手机、POS机等。键盘及其接口性能的优劣直接影响着产品的运行可靠性、操作的便利性。键盘通常分为两大类:编码键盘和非编码键盘。编码键盘由硬件逻辑电路完成必要的键识别工作与可靠性措施。采用8279可编程键盘管理接口芯片或串行接口键盘控制器MAX7347构成编码式键盘系统是最常见的方案。该方案增加电路成本,按键的数量受到一定限制且定义不灵活。非编码键盘只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用微处理器较多的I/O口硬件资源和运行时间,不利于在低功耗的场合使用,电磁干扰(EMI)严重。常见的有独立式按键结构、矩阵式按键结构【1】。基于这些问题本文以义隆公司单片机为例设计智能化键盘。这种键盘外围元件少、扩充灵活、成本低、功耗少、对按键开关连线的连续辐射干扰有很强抑制作用,键盘接口与微处理器采用I2C通信接口,节省微处理器的I/O资源。容易实现模块化标准电路,便于推广。
1 设计原理
如图1所示,每个开关连接点的电压值都是均匀的线性分压值。每个按键开关所提供的分压值经A/D转换后,所得到的转换数据实际上就代表了按键开关在分压节点中的位置,单片机据此可以确定按键的键值。考虑到电压误差、电阻精度等诸多因素,为了保证对按键开关的正确判断,实际可识别接入的按键数比所计算的要少一些。无按键按下时电路完全断开,符合低功耗设计的原则。这种结构的键盘具有自然的优先权,例按键S29 按下,那么按键S28到按键S1再按下均无效。图1中电容C1的作用是消除干扰信号[2]。
2 介绍
是义隆科技的一款8位微控制器。内嵌2K的OTP存储器,80Byte的SRAM, 4通道12bit的A/D转换,内置OP功能,IR/PWM功能, I/O口状态变化唤醒中断功能等。具体资料见文献【3】。
的A/D转换功能是由一个4通道的模拟分配器、3个控制寄存器(AISR/R8,ADCON/R9和ADOC/RA)、3个数据寄存器(ADDATA/RB,ADDATA1H/RC和ADDATA1L/RD)和一个12位的模数转换器组成的。模拟参考电压()可以通过口线外置提供。模数转换器转换完成的数据放在数据寄存器中,输入通道的选择是通过控制寄存器(ADCON/R9)完成的。
3 系统设计
3.1硬件电路设计
设计思路:把图1点接到单片机的第13脚(P50口)上即可。电阻阻值的选择决定了按键的数目,考虑到电压误差、电阻精度等因素,R0的阻值不能太小,由实验得知,R0的阻值为20 kΩ~100 kΩ比较合适。的A/D转换精度为12位,为提高按键分辨率,并保证按键的准确性,本设计只用高6位,而且设定相邻按键键值的差值一致,也就是将64等区间划分,这样可以实现较多的按键。然后根据定义好的键值用电阻箱确定相应阻值[2]。当按键只有16个时,相邻按键测得的电压差值为0.32V,差值足够大,单片机可以很准确的辨别键值。
目前电子设备键入方式要求越来越人性化,键入时产生不同的声音提示用户是否键入成功以及键入次数是否正确等。按键提示音音调由软件模拟生成,通过第7脚(P61口)放大输出。
单片机识别按键值后向主控制器发送中断申请,进行通讯,出错时自动对总线进行恢复。因此主控制器可将该键盘模块视为一个外部存储器。单片机的第1脚(P52口)、第2脚(P53口)设计为SCL、SDA,第14脚(P51口)设计为中断报警INT。
3.2软件流程设计
软件设计是智能化键盘按键处理的核心,一旦A/D值转换检测不准,按键操作就会产生误动作和不动作。软件处理主要分为四个部分:按键处理、从机服务程序、定时器中断服务程序、主程序。篇幅关系重点介绍按键处理流程,如图2所示。
单片机采用I/O口状态变化唤醒中断功能的唤醒方式进行键值扫描和确认。中断程序软件延时40ms消除抖动后,程序每隔5ms采样一次,共采样8次,确定一次平均键值需要80 ms。这样不仅可以保证按键可靠,而且无需再加延时去抖过程。当采样8次后进行数字滤波,舍去其中的最大值和最小值,并且判断最大值与最小值之差是否超过误差范围,是则认为无键按下,否则就将其余的6个采样值求平均值。当按键数目较多时,为提高按键处理程序的速度,在键值确定和按键识别程序中采用二分法[2],即先与中间键键值比较,如果所得键值比其A/D值小则与前面按键的键值比较,否则与后面按键比较。考虑到电压波动、电阻精度以及人为操作等各方面因素的影响,对凡是符合每个键值±1区间的平均值都认为是正确的按键识别,否则为无键按下。
4 试验分析及改进
为进一步研究键盘电路对电子产品性能的影响,对HIC998(3)IC卡电话机的键盘电路改造,并进行试验。
HIC998(3)IC卡电话机2000年设计、投产。微处理器为AT89C55,采用82C55扩展I/O组成4×4矩阵键盘,由AT89C55中断扫描识别。键盘与微处理器之间采用10芯普通扁平电缆连接。在2004年电子产品“3C”强制认证测试中,电磁辐射项超标。在公共交换电话网络(PSTN)使用中不法分子曾通过键盘输入干扰影响微处理器计时、扣费达到盗打电话的目的。
4.1电磁兼容性(EMC)分析
电磁兼容的核心是研究控制和消除电磁干扰(EMI)。解决话机的电磁兼容性问题,必须进行电磁兼容性设计分析,有效、准确地找出干扰源和干扰途径以便对症下药,采取正确的措施来提高话机的电磁兼容性。屏蔽技术用来抑制电磁辐射沿空间的传播,即切断辐射的途径。屏蔽的实质是将关键电路用一个屏蔽体包围起来并接地良好,使藕合到这个电路的电磁场通过反射和吸收被衰减。电磁屏蔽是解决电磁兼容问题的重要手段之一。大部分电磁兼容问题都可以通过电磁屏蔽来解决[5]。话机电磁辐射项超标的问题属于电磁屏蔽的问题。
在电磁兼容性测试中做如下试验:话机去掉键盘和键盘连接线测试时电磁辐射项指标合格;重新接上连接线但不接键盘测试时电磁辐射项指标超标,但超标幅值较小;接上连接线同时接键盘测试时电磁辐射项指标超标,并且幅值较大。这说明电磁干扰是通过键盘和键盘连接线辐射出来的。由于条件的限制,对电磁兼容性(EMC)仅能做定性分析。
采用智能化键盘进行改造升级,键盘板和控制板之间的连接线采用接地良好的屏蔽电缆,电源VCC和地(GND)信号通过共模滤波器后再引入键盘板中。经测试,电磁辐射项指标合格,系统可以抗4000V静电干扰。
试验分析:参考文献[4]中的结论。(l)2MHz--10MHz的电磁辐射主要是微处理器内部干扰经过键盘接口电缆传导后,通过键盘和电缆泄漏。(2)15MHz--80MHz的电磁辐射主要是键盘芯片产生的高次谐波通过键面辐射所致。改造后的键盘电路自成整体同原微处理器电路之间通过I2C总线进行连接。原电路采用按键动态扫描,引入了按键开关和键盘连接线的连续辐射干扰。动态扫描时,加在按键开关两端的信号电压摆动幅值大(VCC和0V之间)。按键闭合时,按键短路电流大。这些原因都会增大EMI。改进后的智能化键盘按键识别采用A/D转换,不存在连续辐射干扰和信号电压摆动的问题。A/D转换转换时间短,噪声干扰小。按键闭合时,按键电流幅值小。相应EMI减小。
4.2 话机盗打分析
软件消抖一般都是第一次检测到有键按下时,延时通常的键抖动时间后再次检测按键是否仍按下,若仍按下则认为真正有键按下,从而消除了影响。原电路采用动态扫描,软件去抖40ms,按键识别10ms,识别一个正常按键需要50ms。这么短的时间对话机计时几乎没有影响。但当键盘处于重键和连击时,MCU一直运行按键识别子程序。IC卡电话机是按分钟计费的,到计费时刻时,由于MCU处于按键程序中没有返回,从而无法执行计费程序,延长了计费时间,导致计费错误。 采用智能化键盘后,按键识别将由完成,简化了MCU的流程,避免了延时计费的问题。实践证明,采用智能化键盘后没有出现此类投诉问题。
5 结束语
主机和键盘分开设计,简化了主机的设计。完全可以设计出适用于不同场合的按键输入接口。不足之处在于,带有按键接口的PCB板必须在灰尘较小的环境中使用或者采用外壳装配,因为频繁的操作按键,会使大量的灰尘沉积在按键开关的触点表面使其接触电阻增大,最终导致按键A/D值偏离。
参考文献:
[1] 杨龙,李建国.单片机系统键盘的设计小结[J].大众科技,2006(7).
[2] 张敏,王芳.基于AVR微控制器的ADC按键识别技巧[J].国外电子元器件,2007(2).
[3]ELANMICROELECTRONICSCorporation.EM78P259NDataSheet[DB/OL].http://www.emc.com.tw/twn/tech_8bit.asp#A0003.
[4] 姚维,朱弘强.专用键盘的电磁兼容性设计[J].计算机工程,2008,34(9):125-127.