当前位置:首页 > 工业控制 > 电子设计自动化

在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等[1,4] 。其中利用键盘接口输入数据,是实现现场实时调试、数据调整和控制最常用的方法。单片机的外围键盘扩展电路有多种实现方式,例如直接利用I/O接口线或外接8255A接口芯片,配合适当的接口管理程序,就可以实现外围键盘扩展功能。但是,在这些方法中,键盘扩展电路需要占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机系统是不现实的。

为了解决这一问题,可以使用专用键盘接口芯片(例如Intel8279) [2]来组建键盘子系统。然而,这类专用键盘接口芯片在使用灵活性方面尚有欠缺,尤其当用户需要实现某些特定功能时,其缺点更为明显。针对上述问题,本文提出一种利用复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)设计技术[3]实现专用键盘接口芯片的方案。

1 系统原理

图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)FIFO RAM中数据容量为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 专用键盘接口芯片核心部分的状态描述与实现

为了实现上述专用键盘接口芯片功能结构,利用可编程逻辑技术对各个功能块进行逻辑时序描述和实现。由于键盘扫描控制和去抖的逻辑时序设计较复杂并具典型性,因此下面将对键盘扫描控制和去抖部分的设计思想进行介绍。


键盘扫描时序的基本原理[4]可以用图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×212≈4ms,然后再作为H3的时钟信号。这意味着键盘扫描控制电路约4ms扫描一行按键。如果H3中的Q2态没有被使用,则可以实现约8ms的去抖动延时。通过这样的设计,可以免除延时计数器,简化电路。


4 专用键盘接口芯片的实现

根据实时数据校正系统的设计要求,使用了34个自定义I/O引脚和PC44封装的CPLD来实现专用键盘接口芯片KB-CORE。芯片型号的选择依据综合所需要的宏单元(Macrocells)个数决定。如果借助硬件描述语言VHDL[5]对上述设计进行描述,综合结果需要约140个宏单元;如果改用原理图输入方式,则只需约60个宏单元。因此选用XC9572芯片可以满足上述专用键盘接口芯片KB-CORE的要求。实际使用如图1和图2所示,操作结果表明键盘接口芯片性能稳定。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着信息技术的飞速发展,芯片作为现代电子设备的核心部件,其制作工艺流程的精密与复杂程度日益提高。芯片的制作,不仅仅是一系列技术操作的集合,更是一场探索微观世界的工艺之旅。本文将带领读者走进芯片制作的世界,揭示其大致工艺流...

关键字: 芯片 半导体

tda2030功放芯片将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: tda2030 功放 芯片

本轮融资资金将用于已规模化供货的7纳米车规级芯片“龍鹰一号”的进一步量产和供货、基于“龍鹰一号”的高端智能座舱及舱行泊一体方案的市场推广,以及全场景高阶智驾新品AD1000的测试验证和市场导入。

关键字: 芯擎科技 芯片

3月26日,四维图新旗下杰发科技与国际第三方独立检测、检验和认证机构德国莱茵TÜV集团(以下简称TÜV莱茵)在上海举办颁证仪式,杰发科技宣布AC7840x系列车规级MCU芯片已成功通过ISO 26262 ASIL B功能...

关键字: 芯片 MCU 智能座舱

以下内容中,小编将对lm393芯片的相关内容进行着重介绍和阐述,希望本文能帮您增进对lm393芯片的了解,和小编一起来看看吧。

关键字: lm393 芯片

业内消息,近日被视为华为芯片“奠基人”的原海思总裁徐文伟近日在朋友圈宣布正式退休。徐文伟发文表示,自己在 33 年内,见证了一个伟大企业的发展和壮大。

关键字: 华为 芯片 海思 徐文伟

通过与北美J-Squared Technologies、南美Macnica DHW以及日本NEXTY Electronics三家企业深化合作,Hailo实现了迅速成长,并逐步拓宽了其全球商业版图。

关键字: 人工智能 处理器 芯片

近日外媒引述消息人士报道称,中国推出采购需求标准,或意味着中国将禁止政府电脑使用英特尔和超微半导体(AMD)CPU(处理器)芯片,截止目前英特尔和AMD尚未就此消息做出回应。

关键字: 英特尔 AMD 芯片

美国总统拜登日前宣布,随着美国政府加大力度将芯片制造片转移到本土,英特尔已经通过《芯片法案》获得高达85亿美元的资助。此外,该公司可以通过这一法案获得额外的110亿美元贷款。

关键字: 英特尔 芯片 半导体

近年来,全球范围内出现了芯片短缺的现象,对多个行业造成了显著影响。从汽车制造到电子设备生产,从通信领域到航空航天,几乎所有涉及芯片的行业都感受到了供应紧张的压力。那么,为何会出现芯片短缺的情况?本文将从多个角度深入剖析这...

关键字: 芯片 半导体
关闭
关闭