您的位置 首页 开关

什么是CPLD?根据CPLD的QWERTY 键盘规划

什么是CPLD?基于CPLD的QWERTY 键盘设计-AMD公司最先生产带有宏单元的可编程逻辑器件PAL22V10。目前PAL22V10已成为划分PLD的界限。可编程逻辑器件所包含的门数大于PAL22V10所包含则门数,就被认为是复杂可编程逻辑器件,即CPLD。

一种集成电路,归于PLD,电路规划较大。

CPLD是指结构比较杂乱的可编程逻辑器件,它包括下述输出宏单元结构:

可编程I/O 答运用户对这些引脚编程,作为输入或输出。

寄存器输出和反应 可用于完成计数器和移位寄存器等。

异或门输出结构,可用于一般用户多功用计数,能十分有效地树立大的计数器。

AMD公司最早出产带有宏单元的可编程逻辑器件PAL22V10。现在PAL22V10已成为区分PLD的边界。可编程逻辑器件所包括的门数大于PAL22V10所包括则门数,就被以为是杂乱可编程逻辑器件,即CPLD。

能够以为CPLD基本上是本来的可编程逻辑器件的扩展。它常常由可编程逻辑的功用块环绕一个坐落中心、时延固定可编程互连矩阵构成。因为用固定长度的金属线完成逻辑单元之间的互连,而可编程逻辑单元又是类似PAL的与阵列,使得CPLD与FPGA相比较很简略核算输人到输出的传输推迟,明显也会有一些灵活性的约束。可是,CPLD的规划比FPGA简略。

尽管CPLD的结构一般都很类似,并且一般以为CPLD都有100%的布通率,可是因为可编得互连矩阵的结构不同,实际上也会有不同。

CPLD 是 Complex PLD 的简称,望文生义,其是一种较 PLD 为杂乱的逻辑元件。

CPLD 是一种整合性较高的逻辑元件。因为具有高整合性的特色,故其有功用提高,牢靠度增加, PCB 面积削减及本钱下降等长处。 CPLD 元件,基本上是由许多个逻辑方块( Logic Blocks )所组合而成的。而各个逻辑方块均类似于一个简略的 PLD 元件(如 22V10 )。逻辑方块间的相互关系则由可变成的连线架构,将整个逻辑电路组成而成。

常见的 CPLD 元件有 Altera 公司的 Max5000 及 Max7000 系列。 Cypress 的 Max340 及 Flash370 系列等,一般来说 CPLD 元件的gate count约在 1000~7000 Gate 之

跟着手机及其他便携手持设备的功用不断增加,规划的取舍平衡亦日趋精密。文本信息与网络阅读等盛行功用都要求更多的数据输入,而这关于传统的双音多频 (DTMF) (0-9, #, *) 键盘会比较困难。运用这种键盘要求多端数据输入,输入功率低并且简略犯错。

什么是CPLD?根据CPLD的QWERTY 键盘规划

图 1 – QWERTY 键盘(摩托罗拉 A630)

使文本输入更为便利的一个办法是运用 QWERTY 键盘(见图 1)。这种键盘选用 40 个或更多按键,而 DTMF 手机一般选用 12 个。当然,多出的按键会使手机体积变大,用到的电子组件也更多。

但是,文本信息用户或许愿意以体积交换 QWERTY 键盘,因为文本输入大为简洁了,并且两个大拇指都能够用来输入文本信息或数据。最近,有些手机出产商现已推出了面向文本用户的带 QWERTY 键盘的手机。

数据输入键盘能够用多种办法来规划,并无一定之规。为传统 DTMF 键盘增加更多按键对规划人员提出了应战,本文即评论应对这应战的一种或许解决方案。

QWERTY 构建模块

咱们的解决方案运用 Xilinx® CoolRunner™-II CPLD;低功耗、小包装及低本钱的特色使其成为此运用的抱负挑选。

将 DTMF 转化为 QWERTY 键盘需求更多按键,然后需求更多通用 I/O (GPIO)。例如,DTMF 键盘或许只要四行三列,而 QWERTY 键盘或许有多至八行八列。不过,键盘的巨细可根据终端体系的需求而定。

什么是CPLD?根据CPLD的QWERTY 键盘规划

图 2 – 衔接到处理器的简略 4 x 4 键盘需求 8 个 GPIO

一般,将处理器或 DSP 用作衔接键盘行和列的界面(见图 2)。处理器对行进行扫描,对列进行监控,以检测逻辑改变。当改变产生,即表明用户按下了一个按键。知道被扫描的是哪一行,以及哪一列的状况产生了改变,处理器即可揣度出按下的是哪个按键。

扩展 I/O

规划需求更多 I/O 的键盘时(QWERTY 键盘即为一例),或许会发现现有处理器没有满足的 GPIO。一种或许的解决办法是,把一个 CPLD 用作 I/O 扩展器,然后削减对处理器 I/O 数量的要求。

图 3 在处理器与键盘之间运用了一个 CPLD,其一侧衔接键盘的行/列,另一侧衔接处理器的可用 GPIO。此例中,运用一个 CPLD 后,一个 8 x 8 的键盘所需求的处理器 GPIO 端口的数目与 4 x 4 的键盘相同(实际上还少一个)。假如不运用 CPLD,处理器会需求 16 个 GPIO 端口,而不是 7 个。

扫描与编码

除了削减处理器对 GPIO 的数量要求外,CPLD 还能够承当处理器的某些功用,如:对行进行扫描并对列进行监控以检测状况改变。当用户按键时,CPLD 会间断扫描,并当即生成一个编码字,然后发送给处理器,奉告处理器哪个键按下了。因为运用了编码字来奉告处理器按下了哪个按键,对处理器的 I/O 需求得以减轻。

什么是CPLD?根据CPLD的QWERTY 键盘规划

图 3 – 运用 CoolRunner-II CPLD 扩展 GPIO

在图 3 所示比如中,用 6 个位来代表编码字。6 个位供给 26(即 64)个不同的值,每个值代表一个按键。但是,还必须有一个值代表无按键被准时的状况。因而,在此例中,在不增加又一个 GPIO 的情况下,实际上只要 63 个按键可被代表。

处理器无需扫描键盘,因为这一操作现由 CPLD 履行;不过,处理器仍需监控其 GPIO 上的改变 – 它仅仅不再需求揣度哪个按键被按,因为该信息编码到一个六位字中了。

还需求用到的是开关颤动,这能够安排在 CPLD 中或处理器中,取决于哪个设备有可用资源。在处理器中进行这一操作,可将 CPLD 的巨细和本钱降到最小。

扼要总结此规划示例:CPLD 对键盘进行扫描,检测被按下的按键,然后供给一个编码字供处理器读取并解析。这一功用不只使处理器不用再承当扫描使命,还扩展了 GPIO 的功用。

此规划十分适合于 CoolRunner-II 32 宏单元设备(运用率大约为 75%),留下 25% 空间作他用。此外,此规划还选用了其他一些办法来削减功耗并运用 CoolRunner-II 的节能功用。

CPLD 规划胪陈

要扫描键盘的行,桶式移位寄存器除一位预置为零外,其他一切位均预置为 1。移位寄存器的每一位驱动 CPLD 上的一个输出引脚,后者与键盘的行相连。当移位寄存器开端计不时,零位经过桶式移位器移位,将行逐行置低,以对其进行扫描。键盘的列输入到 CPLD,每个输入都经过一个内部上拉电阻上拉。

当没有按键被准时,CPLD 的一切列输入都被动上拉至逻辑高位。对一切的列输入一同进行“与”操作,这时输出端的逻辑 1 表明没有按键被按。

“与”操作的输出用于发动移位寄存器。当按键被按下时,列与行取得衔接,按下的键地点的列被与该按键相关的行置低。“与”操作的输出将变为零,然后在按键被按下时间断移位寄存器。

什么是CPLD?根据CPLD的QWERTY 键盘规划

图 4 – 模块图

此刻,移位寄存器将按下的键地点的行置低,而该键地点的列亦处于低位。为了使这些信息相关联,运用了两个编码器:一个用于行位(移位寄存器的输出),另一个用于列输入。两个编码器的输出组合起来,就构成发送给处理器的编码字。图 4 为这一操作的模块图。

结束语

运用 Xilinx CoolRunner-II CPLD,取得的是灵动的规划与低功耗。除了 I/O 扩展之外,CPLD 还能够参加其他“粘合”功用,如:电压转化、I/O 规范转化与输入滞后。

因为 CPLD 为可编程,您能够将同一设备用于不同的键盘和产品,而收高产量低本钱之效。可再编程的特色辅之以简洁易用的规划东西,使您能够对规划进行晚期更改,下降危险。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部