您的位置 首页 资料

根据CPLD芯片完成专用键盘芯片KB-CORE的功用设计方案

基于CPLD芯片实现专用键盘芯片KB-CORE的功能设计方案-在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等。其中利用键盘接口输入数据,是实现现象实时调试、数据调整和控制最常用的方法。单片机的外围键盘扩展电路有多种实现方式,例如直接利用I/O接口线或外接8255A接口芯片,配合适当的接口管理程序,就可以实现外围键盘扩展功能。

单片机运用体系中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通讯、键盘输入等。其间运用键盘接口输入数据,是完成现象实时调试、数据调整和操控最常用的办法。单片机的外围键盘扩展电路有多种完成办法,例如直接运用I/O接口线或外接8255A接口芯片,合作恰当的接口管理程序,就能够完成外围键盘扩展功用。可是,在这些办法中,键盘扩展电路需求占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机体系是不完成的。为了处理这一问题,能够运用专用键盘接口芯片(例如Intel8279)来组成键盘子体系。并且,这类专用键盘接口芯片在运用灵活性方面尚有短缺,特别当用户需求完成某些特定功用时,其缺陷更为显着。针对上述问题,本文提出一种运用杂乱可编程逻辑器材(Complex Programmable Logic Device,CPLD)规划技能完成专用键盘接口芯片的计划。

1、体系原理

根据CPLD芯片完成专用键盘芯片KB-CORE的功用规划计划

图1是单片机体系中键盘子体系的构成原理框图。其间键盘接口芯片KB-CORE是该子体系的中心部分,它应具有如下功用:榜首,发生按键扫描时序,并进行硬件去颤动。假如直按键按下,完成按键编码、中止处理等功用。第二,能够区别处理数字键和功用键。数字键钭由接口芯片暂存,而当功用键被按下时请求CPU中止处理;对多个按键一起按下,按必定的编码优先级处理。第三,供给与MCS-51系列单片机兼容的接口,单片机能够读取芯片中保存的数据或功用代码。第四,供给数据显现接口,能够直接驱动4位七段LED数码管,并进行动态扫描显现。

按键根据键盘子体系的服务目标拟设置子数字键(0~9)、功用键(ROW、COL、DAT)、清零键(CLR)共14个,排成4×4的矩阵,有两个未界说。

2、专用键盘接口芯片功用结构规划

根据上述专用键盘芯片KB-CORE的功用要求,图2示出本芯片内部应有的结构框图。

其作业原理如下:(1)键盘扫描操控及编码电路中内含一个环形计数器。该计数器计数输出至KSL[0~3]端作为键盘扫描信号。每逢扫描信号发生变化时,键盘扫描操控器从KRL[0~3]端读入某一行按键的状况信号。假如没有按键被按下,则扫描下一行;假如有按键被按下,则操控器承认被扫描行,并推迟约10ms去颤动,然后再次扫描被承认行以承认按键是否误读。假如按键被证明按下,则一向等候直至用户松开该键。与此一起,数字键码将被保存到先进先出存储器,功用键则直接发生中止请求信号IRQ,告诉CPU读取键码DBO[0~7]。(2)FIFORAM中数据容量为16位。每4位对应一个字形符,所以七段LED数码管需求4位。(3)扫描发生器一方面发生LED的位选信号DSL[0~3],另一方面发生扫描显现输出操控电路的位数据选通讯号。扫描显现输出操控电路根据位数据选通讯号读取FIFO RAM中相对应的数据,然后送七段译码电路输出DP[0~6]驱动LED显现屏的段选信号电极。(4)接口操控电路一方面用来辨认CPU的读时序;另一方面用来对地址信号线A1A0译码,完成对输出数据的挑选。若A0A1=“00”,则输出FIFO RAM中的低字节数据;若A0A1=“01”,则输出FIFO RAM中的高字节数据;若A0A1=“10”,则输出操控数据(标明ROW、COL、DAT中哪一个被按下);若A0A1=“11”,则不输出FIFO RAM中的任何数据。

3、专用键盘接口芯片中心部分的状况描绘与完成

为了完成上述专用键盘接口芯片功用结构,运用可编程逻辑技能对各个功用块进行逻辑的序描绘和完成。因为键盘扫描操控和去抖的逻辑时序规划较杂乱并具典型性,因而下面将对键盘扫描操控和去抖部分的规划思维进行介绍。

键盘扫描时序的基本原理可能用图3所示的状况图表明。状况图的输入变量为RST(复位)、KEY-PRESS(有按键)、TIMER-OVER(去颤动延时完毕);输出变量包含EN-SCAN(扫描行搬运)、EN-CODED(键盘编码发动)、START-TIMER(敞开去颤动延时)。从图3中知道,状况S0→S1→S2为按键扫描状况键,状况S3→S4→S5为去抖延时状况链,状况S6为按键坚持期。当按键被按下时,进入发动(S3)去抖延时状况链;去抖延时完毕后(S5),若按键没有按下则康复扫描状况键(S0);若按键承认被按下则进入坚持期(S6),并输出按键编码,保持至按键松开。

根据状况图3和上述的状况搬运描绘,进行键盘扫描操控电路的规划,成果如图4所示。其间H3是6位循环移位寄存器,由时钟CLK触发实时状况移位。移位寄存器的输出Q0~Q5别离代表键盘扫描操控电路的状况S0~S6,当然它们并非一一对应,但完成的功用相同。值得一提的是,假如专用键盘芯片KB-CORE的外部时钟CLK来自单片机的ALE信号(如图1所示),当单片机时钟为6MHz时,则专用键盘芯片KB-CORE的外接时钟为1MHz的方波信号,信号周期为1μs。假如将该时钟信号经过一个分频器,使其输出的信号周期约为Tclk=1μs×2 12≈4ms,然后再作为H3的时钟信号。这意味着键盘扫描操控电路约4ms扫描一行按键。假如H3中的Q2态没有被运用,则能够完成约8ms的去颤动延时。经过这样的规划,能够革除延时计数器,简化电路。

4、 专用键盘接口芯片的完成

根据实时数据校对体系的规划要求,运用了34上自界说I/O引脚和PC44封装的CPLD来完成专用键盘接口芯片KB-CORE。芯片型号的挑选根据归纳所需求的宏单元(Macrocells)个数决议。假如凭借硬件描绘言语VHDL[5]对上述规划进行描绘,归纳成果需求约140个宏单元;假如改用原理图输入办法,则只需约60个宏单元。因而选用XC9572芯片能够满意上述专用键盘接口芯片KB-CORE的要求。实际运用如图1和图2所示。操作成果标明键盘接口芯片功能安稳。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/97164.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部