付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是CPLD?基于CPLD的QWERTY键盘设计一种集成电路,属于PLD,电路规模较大。CPLD是指结构比较复杂的可编程逻辑器件,它包括下述输出宏单元结构:可编程I/O允许用户对这些引脚编程,作为输入或输出。寄存器输出和反馈可用于实现计数器和移位寄存器等。异或门输出结构,可用于一般用户多功能计数,能十分有效地建立大的计数器。AMD公司最先生产带有宏单元的可编程逻辑器件PAL22V10。目前PAL22V10已成为划分PLD的界限。可编程逻辑器件所包含的门数大于PAL22V10所包含则门数,就被认为是复杂可编程逻辑器件,即CPLD。可以认为CPLD基本上是原来的可编程逻辑器件的扩展。它常常由可编程逻辑的功能块围绕一个位于中心、时延固定可编程互连矩阵构成。由于用固定长度的金属线实现逻辑单元之间的互连,而可编程逻辑单元又是类似PAL的与阵列,使得CPLD与FPGA相比较很容易计算输人到输出的传输延迟,显然也会有一些灵活性的限制。但是,CPLD的设计比FPGA简单。虽然CPLD的结构一般都很相似,而且一般认为CPLD都有100%的布通率,但是由于可编得互连矩阵的结构不同,实际上也会有差别。CPLD是ComplexPLD的简称,顾名思义,其是一种较PLD为复杂的逻辑元件。CPLD是一种整合性较高的逻辑元件。由于具有高整合性的特点,故其有性能提升,可靠度增加,PCB面积减少及成本下降等优点。CPLD元件,基本上是由许多个逻辑方块(LogicBlocks)所组合而成的。而各个逻辑方块均相似于一个简单的PLD元件(如22V10)。逻辑方块间的相互关系则由可变成的连线架构,将整个逻辑电路合成而成。常见的CPLD元件有Altera公司的Max5000及Max7000系列。Cypress的Max340及Flash370系列等,一般来说CPLD元件的gatecount约在1000~7000Gate之随着手机及其他便携手持装置的功能不断增加,设计的取舍平衡亦日趋精细。文本信息与网络浏览等流行功能都要求更多的数据输入,而这对于传统的双音多频(DTMF)(0-9,#,*)键盘会比较困难。使用这种键盘要求多端数据输入,输入效率低而且容易出错。图1–QWERTY键盘(摩托罗拉A630)使文本输入更为方便的一个方法是使用QWERTY键盘(见图1)。这种键盘采用40个或更多按键,而DTMF手机通常采用12个。当然,多出的按键会使手机体积变大,用到的电子组件也更多。然而,文本信息用户可能乐意以体积换取QWERTY键盘,因为文本输入大为简便了,而且两个大拇指都可以用来输入文本信息或数据。最近,有些手机生产商已经推出了面向文本用户的带QWERTY键盘的手机。数据输入键盘可以用多种方法来设计,并无一定之规。为传统DTMF键盘添加更多按键对设计人员提出了挑战,本文即讨论应对这挑战的一种可能解决方案。QWERTY构建模块我们的解决方案使用Xilinx®CoolRunner™-IICPLD;低功耗、小包装及低成本的特点使其成为此应用的理想选择。将DTMF转化为QWERTY键盘需要更多按键,从而需要更多通用I/O(GPIO)。例如,DTMF键盘可能只有四行三列,而QWERTY键盘可能有多至八行八列。不过,键盘的大小可根据终端系统的需求而定。图2–连接到处理器的简单4x4键盘需要8个GPIO通常,将处理器或DSP用作连接键盘行和列的界面(见图2)。处理器对行进行扫描,对列进行监控,以检测逻辑变化。当变化发生,即表示用户按下了一个按键。知道被扫描的是哪一行,以及哪一列的状态发生了变化,处理器即可推断出按下的是哪个按键。扩展I/O设计需要更多I/O的键盘时(QWERTY键盘即为一例),可能会发现现有处理器没有足够的GPIO。一种可能的解决方法是,把一个CPLD用作I/O扩展器,从而减少对处理器I/O数量的要求。图3在处理器与键盘之间使用了一个CPLD,其一侧连接键盘的行/列,另一侧连接处理器的可用GPIO。此例中,使用一个CPLD后,一个8x8的键盘所需要的处理器GPIO端口的数目与4x4的键盘相同(实际上还少一个)。如果不使用CPLD,处理器会需要16个GPIO端口,而不是7个。扫描与编码除了减少处理器对GPIO的数量要求外,CPLD还可以承担处理器的某些功能,如:对行进行扫描并对列进行监控以检测状态变化。当用户按键时,CPLD会停止扫描,并立即生成一个编码字,然后发送给处理器,告诉处理器哪个键按下了。因为使用了编码字来告知处理器按下了哪个按键,对处理器的I/O需求得以减轻。图3–使用CoolRunner-IICPLD扩展GPIO在图3所示例子中,用6个位来代表编码字。6个位提供26(即64)个不同的值,每个值代表一个按键。然而,还必须有一个值代表无按键被按时的状态。因此,在此例中,在不添加又一个GPIO的情况下,实际上只有63个按键可被代表。处理器无需扫描键盘,因为这一操作现由CPLD执行;不过,处理器仍需监控其GPIO上的变化–它只是不再需要推断哪个按键被按,因为该信息编码到一个六位字中了。还需要用到的是开关抖动,这可以安排在CPLD中或处理器中,取决于哪个装置有可用资源。在处理器中进行这一操作,可将CPLD的大小和成本降到最小。简要总结此设计示例:CPLD对键盘进行扫描,检测被按下的按键,然后提供一个编码字供处理器读取并解析。这一功能不仅使处理器不必再承担扫描任务,还扩展了GPIO的功能。此设计非常适合于CoolRunner-II32宏单元装置(利用率大约为75%),留下25%空间作他用。此外,此设计还采用了其他一些方法来减少功耗并利用CoolRunner-II的节能功能。CPLD设计详述要扫描键盘的行,桶式移位寄存器除一位预置为零外,其他所有位均预置为1。移位寄存器的每一位驱动CPLD上的一个输出引脚,后者与键盘的行相连。当移位寄存器开始计时时,零位通过桶式移位器移位,将行逐行置低,以对其进行扫描。键盘的列输入到CPLD,每个输入都通过一个内部上拉电阻上拉。当没有按键被按时,CPLD的所有列输入都被动上拉至逻辑高位。对所有的列输入一起进行“与”操作,这时输出端的逻辑1表示没有按键被按。“与”操作的输出用于启动移位寄存器。当按键被按下时,列与行取得连接,按下的键所在的列被与该按键相关的行置低。“与”操作的输出将变为零,从而在按键被按下时中止移位寄存器。图4–模块图此时,移位寄存器将按下的键所在的行置低,而该键所在的列亦处于低位。为了使这些信息相关联,使用了两个编码器:一个用于行位(移位寄存器的输出),另一个用于列输入。两个编码器的输出组合起来,就构成发送给处理器的编码字。图4为这一操作的模块图。结束语使用XilinxCoolRunner-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春招:伊利集团题库及答案
- 2026年桥梁质量监督与管理体系
- 2026春招:信息安全顾问题库及答案
- 2026春招:消防员面试题及答案
- 2026春招:无人机组装测试题库及答案
- 货运安全生产标准化
- 护理信息化在护理质量管理与持续改进中的应用
- 医疗行业信息化与大数据
- 医学影像科技术创新与应用总结
- 2026年德阳科贸职业学院单招职业技能考试备考题库带答案解析
- DL∕T 5106-2017 跨越电力线路架线施工规程
- 床-轮椅转移操作质量及评分标准
- DL-T976-2017带电作业工具、装置和设备预防性试验规程
- DB32T3916-2020建筑地基基础检测规程
- 2024年青海海南州消防救援支队消防文员招聘笔试参考题库附带答案详解
- 2022版《义务教育教学新课程标准》解读课件
- 期末水平综合练习(试题)新思维小学英语一年级上册
- 人教A版高中数学选择性必修第二册全册各章节课时练习题含答案解析(第四章数列、第五章一元函数的导数及其应用)
- 六年级下册小升初全复习-第12讲 工程问题-北师大 (含答案)
- 烹饪原料知识 水产品虾蟹类
- 考勤抽查记录表
评论
0/150
提交评论