版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于CPLD的键盘控制器设计基于CPLD的键盘控制器设计由于CPLD的可再编程性质,可以将同一装置用于不同的键盘和产品,而收到高产量、低成本的效果,同时也节约了单片机的资源以做它用。可再编程的特点辅之简便易用的设计工具,使设计可以进行晚期更改,提高了产品设计的灵活性,降低了风险。在单片机应用系统中,利用键盘接口输入数据,是实现现场实时调试、数据调整和各种参数设置最常用的方法。单片机的外围键盘扩展电路有多种实现方式,例如直接利用单片机的I/O接口,或者采用8255A接口芯片,就可以实现外围键盘的扩展功能。但是,在这些方法中,键盘扩展电路需要占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机系统是不容易实现的。为了解决这一问题,可以使用专用键盘接口芯片来扩展键盘子系统。但是这类专用键盘接口芯片在使用灵活性方面尚有欠缺,尤其当用户需要实现某些特定功能时,其缺点更为明显。针对上述问题,在此提出一种基于Lattice公司LC4128V的4×4键盘接口芯片设计。采用的软件开发环境是IspLEVER。
l开发环境介绍
IspLEVER是Lattice公司最新推出的一套EDA软件。设计输入可采用原理图、硬件描述语言、混合输入3种方式,它能对所设计的数字电子系统进行功能仿真和时序仿真。编译器是此软件的核心,能进行逻辑优化,将逻辑映射到器件中去,自动完成布局与布线,并生成编程所需要的熔丝图文件。软件中的ConstraintsEditor工具允许经由一个图形用户接口选择I/O设置和引脚分配。lspLEVER软件提供给开发者一个简单而有力的工具,用于设计所有Lattice可编程逻辑产品。
2键盘控制器设计
2.1基于LC4128V的4×4键盘控制器设计
图1给出基于Lattice公司的可编程逻辑器件LC4128V的4×4键盘控制器(KEYPADcTL)设计。根据键盘的扫描原理,键盘控制器的输出引脚R1~R4(行扫描线)依次循环输出低电平,并将相应的键盘行置低。当有按键按下时,相应的输入c1~c4(列回复线)也被置低。然后根据行和列的低电平对应关系就可以通过编码确定按下的键值。输出K0~K3就是最终等待单片机读取的键值。INT输出单片机的中断信号,通知单片机来读取键值。CLK是控制器的时钟信号,cLR是控制器的清零复位信号。
2.2内部原理图及其主要部分的工作原理
键盘控制器内部由键盘扫描电路、编码器电路、键盘去抖动电路、分频器电路、计数器电路和键值锁存器组成,如图2所示。
(1)键盘扫描电路是一个能自启动到所需要状态的状态机,当系统上电并同时输入一个有效的复位清零信号CLR后,扫描电路输出端R1~R4(L1~L4)则依次按照设计要求循环输出以下扫描电平1110,1101,1011,0111。L1~L4作为编码器的输入,通过与列回复线(C1~C4)的对应关系参与编码。然而R1~R4是将L1~L4加上高电平使能三态门输出的键盘行扫描线。将行扫描线加上三态门输出,是为了防止当一列上的2个或更多按键被同时按下时,将使LC4128V的引脚高低电平短接,如果这种情况发生,不但影响键盘控制器的准确性,更严重的是会烧坏可编程逻辑器件LC4128V,所以该控制器通过三态门输出行扫描线。三态门的使能信号就是其通过的信号取反,这样输出的高电平将为高阻状态。通过对键盘的行线分别接个上拉电阻便可得到与L1~L4一样的输出信号。通过这样的处理既满足设计的需要,又起到对器件保护的作用。EN是扫描电路的使能输入端,高电平有效。它通过去抖动后的列回复线相与得到。当有按键按下时,相应的列线将被置低。相与的结果为低,这使扫描电路停止扫描,等待控制器对扫描结果进行处理,得到相应的键值送入键值锁存器,等待单片机读取。这样做的好处是可防止控制器漏掉按键的读取。根据调试得知,键盘扫描时钟信号最好是去抖电路时钟的四分频以上。所以CLK是通过对去抖电路的时钟进行分频得到的。图3给出实现扫描电路的具体原理图。(2)该设计中采用4×4的键盘,有16个按键状态,再加上一个没有键按下的状态共有17个状态,而4位二进制数只能表示16个状态。为了解决这个问题,将R4和L4或非后再与计数器产生的中断信号相或,产生一个单片机中断。当按下最后一个键时,键盘控制器便产生1个中断,让单片机来读取这个按键值0000(在没有键按下时也是这个状态),从而区分了无按键状态和最后一个按键按下的状态。这样在编码的时候只需考虑前15个键的状态信息。最终可用4位二进制数表示所有按键状态。图4给出实现编码器的具体原理图。
(3)键盘去抖动电路主要由2个DQ触发器和1个基本RS触发器组成。当有键按下时,理想情况下相应的列线应该是一直保持低电平。
但是实际应用中不可避免地产生抖动,此时列回复线将发生长短不等的高电平跳跃现象。键盘去抖电路就是去除这样抖动的高电平对按键键值检测带来的干扰。为了消除这样的干扰,去抖电路采用两级延时策略。
只要抖动的高电平持续时间在去抖电路的2个时钟周期之内,这种抖动是不会被引进编码电路的。键盘去抖电路的具体原理图实现如图5所示。3仿真实验及分析
3.1扫描电路的输出仿真波形
键盘控制器扫描电路的输出仿真波形如图6所示。在图6中扫描电路的输出端依次循环输出低电平来扫描键盘的每一行,图中L1~L4是没有加三态门的扫描器输出,其作为编码电路的输入,R1~R4是加三态门的输出波形,从图3中可以看出当L1~L4的输出是高电平时,R1~R4的输出状态是高阻。当同一列上的2个按键同时按下时,就可以避免在可编程逻辑器件LC4128V的两个引脚上发生高低电平短接的非法情况。
3.2编码器的仿真波形
编码器的仿真波形如图7所示。
在图7中,当键盘的第一行扫描电平为低时,根据4×4键盘的扫描原理,只有当第一列的第一个键被按下时,C1才能为低。相应的编码电路输出K3K2K1KO值为0001。只有当第二列的第一个键被按下时,C2才能为低,此时K3K2K1K0值为0010。同理,当C3,C4分别为低时,K3K2K1K0值依次为0011,0100。依此方式编码便可得到前15个按键的键值,而第16个按键的键值就要通过R4和L4相或非后产生单片机中断信号,通知单片机来读取它的键值00
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北大病理生理学课件
- 《流通功能与机构》课件
- 简约课件模板
- 《GMP专业知识培训》课件
- 动画课件教学
- 2024年新高一数学初升高衔接《函数的应用(一)》含答案解析
- 玩具显微镜产业运行及前景预测报告
- 肖像打印的照片产品入市调查研究报告
- 点火用电池产业运行及前景预测报告
- 汽车用发动机产业深度调研及未来发展现状趋势
- 2024年部编版七年级上册语文期末专项训练:文言文对比阅读
- CJJT 182-2014 城镇供水与污水处理化验室技术规范
- 2024版新教科版科学一年级上册教学计划含进度表(根据新课标编写)
- 执行力课件(完美版)
- 电力专业数据传输(EPDT)通信系统 空中接口物理层及数据链路层技术规范
- 重庆市綦江县彩虹桥整体垮塌事故分析处理报告
- GB/T 27604-2024移动应急位置服务规则
- 2024-2030年中国电梯行业发展趋势及发展前景研究报告
- RBA管理体系程序文件(系列)
- 人教版 九年级上册音乐 第五单元 大红枣儿甜又香 教案
- 2024年宁波市奉化区文化旅游集团有限公司招聘笔试冲刺题(带答案解析)
评论
0/150
提交评论