基于FPGA技术的多按键状态识别系统设计

发布者:数字舞者最新更新时间:2009-09-17 来源: 张开龙 刘军民关键字:FPGA  识别系统  仪器仪表  工业 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  按键作为普通的输入外设,在仪器仪表工业设备和家用电器中得到广泛应用。目前,按键输入电路Ⅲ主要有2种:一种是非扫描方式可以判断多键状态(允许多键同时动作),但是不适用于大量按键情况,所需I/0端口多;另一种是扫描阵列方式,适用于大量按键,但不能多键同时动作。因此,需要开发一种既适合大量按键又适合多键同时动作,并能节省单片机(MCU)的口线资源的多按键状态识别系统。这里提出一种利用FPGA的I/0端口数多和可编程的特点,采用VHDL语言的多按键状态识别系统,实现识别60个按键自由操作,并简化MCU的控制信号。

  2 系统设计方案

  FPGA是一种可编程逻辑器件,它具有良好性能、极高的密度和极大的灵活性,外围电路简单可靠等特性。因此,该系统设计是由MCU、FPGA、按键等部分组成。60路按键信号进入FPGA单元,以供数据采集;FPGA处理采集到的数据信号,编码后写入内部FIFO。MCU通过I/O端口提取FIFO中的数据。模块通过电源接口向各个部分供电。其系统设计原理框图如图l所示。

  2.1 FPGA配置电路

  FPGA采用Altera公司EPF10K30ATC144,该器件内核采用3.3 V供电,端口电压为3.3V可承受5 V输入高电平,其工作频率高达100 MHz;有102个可用I/0端口,每个端口输入电流最高达25 mA,输出电流达25 mA;l728个逻辑单元(Les),12 288 bit的用户Flash存储器,可满足用户小容量信息存储,完全满足系统设计要求。

  由于FPGA基于RAM工艺技术,该器件丁作前需要从外部加载配置数据,需要一个外置存储器保存信息,采用可编程的串行配置器件EPC2.其供电电压为3.3 V。OE和nCS引脚具有内部用户可配置上拉电阻。FPGA的DCLK、DATA0、nCONFIG引脚信号均来自EPC2。系统上电后,首先FPGA初始化,nSTATUS、CONF_DONE置为低电平。nSTATUS置为低电平后复位,此时EPC2的nCE为低电平,因此选取EPC2,从而数据流从DATA引脚输入到FPGA的DATAO引脚。配置完成后,FPGA将CONF_DONE置为高电平,而EPC2将DATA引脚置为高阻态。其FPGA配置电路如图2所示。

  2.2 按键电路

  图3为一路按键电路,共60个按键(i=1~60)。由于外界环境复杂,按键引线长达6 m,保护二极管VDi:在外界干扰信号大于VCC时导通起到保护FPGA的作用。电阻Ri上拉限流,按键未闭合状态下FPGA输入引脚始终处于高电平。

  3 FPGA内部逻辑设计

      FPGA内部功能分为扫描模块、编码模块、控制模块以及同步FIFO RAM模块,如图4所示。

  图4中,K1~K60为60个按键的输入端,Scan为工作模式选择信号,Ready为读准备好信号,RdClk为读时钟信号,Data[7:0]为数据输出,ModCtr为编码模式控制信号,FIFOWEn为FIFO RAM写使能信号,FIFOIn为FIFO RAM数据输入,State为按键状态扫描信号。其工作原理为:扫描模块周期扫描按键状态,其结果送入编码模块;编码模块根据模式控制信号ModCtr选择编码方式编码,将其结果送入FIFO RAM;控制模块产生对FIFO RAM的读取控制信号;MCU可通过Readv、RdClk控制信号读取Data[7:0]数据线上的按键编号和状态数据。

  3.1 扫描模块

  扫描模块主要完成扫描按键状态输入和按键的软件去抖动。扫描按键状态输入是以5 m8为周期扫描60个输入引脚,将其结果存入60个两位状态移位寄存器。其代码为:

  按键去抖有硬件和软件2种实现方式。为了节省成本,充分发挥FPGA器件的功能,该系统设计采用软件去抖。图5为软件去抖动流程。图中State为2位状态移位寄存器,初始值为0,TimeDelay为延时计数器。[page]

  软件去抖动过程说明:对状态寄存器的2位数值做异或运算,即m=State_1 Xor State_2。若m=l,说明按键有动作,则令TimeDelay=1,启动延时计数;若m=O,表明按键处于去抖延时或者平稳状态。这时判断TimeDelay,若TimeDelay=0,则按键处于平稳状态;若0MaxDelay时说明按键已经平稳,将结果送入编码器模块。软件去抖关键代码如下:

  3.2 编码模块

  以0、l表示按键通断状态,60个按键则需要8个字节;在实际中单键动作的概率远远大于多键同时动作的概率,若只对状态发生变化的按键以8位编码方式传输按键信息,则一个按键只需传送一个字节,因此为尽可能地减少MCU的负担,提高实时性,设计为只在按键发生状态变化时才向MCU传输相应按键的编号和状态数据。其编码数据格式如图6所示。

  状态位lbit,0表示按键闭合状态,1表示按键打开;数据6bits,即0X01~OX3C分别表示1~60个按键;lbit偶校验位。这样传输一次数据就可完成按键编号和状态的传输。

  编码器采用连续和随机2种工作模式。连续工作模式每次扫描后对所有按键依次编码,并获取所有按键的当前状态;而随机工作模式在每次扫描后只对状态发生变化的按键编码。

  3.3 控制模块

  控制模块完成MCU与FPGA之间的功能控制,有2个作用:一是根据Scan信号选择编码模块的工作模式,二是产生FIFO RAM的读取操作时序。

  对于模式控制,Scan上升沿触发控制模块,使编码模块进入连续工作模式,扫描完成一周,控制模块发送控制信号使编码模块进入随机工作模式。

  对于读取数据,控制模块根据FIFO RAM的Data[7:0]是否有数据,置位Ready信号。有数据,Ready为低电平;无数据,Ready为高电平。RdClk为读取时钟,相当于确认信号,每读完一个数据,发送一个脉冲。

  3.4 FIFORAM模块

  与MCU通信的接口种类很多,可选择串口、I2C、并口等形式,应用中可根据MCU资源以及项目成本、进度等具体情况选择最合适的一种方式。该系统设计利用同步FIF0 RAM并口传输。FIF0 RAM模块采用EDA软件库中的标准模块。

  4 仿真结果

  采用Altera公司提供的Quartus II仿真工具,其集成有与硬件实时操作相吻合的硬件测试工具。综合仿真结果如图7所示,系统时钟SysClk为12 kHz,其仿真结果表明系统设计达到要求。

  5 结论

  提出基于FPGA器件,VHDL语言描述的特殊键盘设计方案解决远距离、分散、多键动作状态识别问题,极大节省PCB面积和MCU的I/0端口资源。模块中扫描延迟、扫描间隔等参数可根据系统需求灵活改变,FPGA器件使得电路功能的扩展方便,具有极高稳定性和灵活性。这一方案已在实际项目中应用,经现场验证性能稳定可靠。

关键字:FPGA  识别系统  仪器仪表  工业 引用地址:基于FPGA技术的多按键状态识别系统设计

上一篇:基于CPLD及DDS的正交信号源滤波器的设计
下一篇:MATLAB和Simulink2009b版产品系列发布

推荐阅读最新更新时间:2024-05-02 20:52

工业和信息化部:新能源汽车的发展机遇和挑战并存
2019世界新能源汽车大会在海南博鳌召开,工业和信息化部副部长辛国斌出席大会并讲话,他指出,在新一轮科技革命与产业变革推动下,新能源汽车作为科技创新与产业升级的标志性产品,作为跨界融合的关键节点,正迎来一个全新发展时代。目前,中国新能源汽车产业正处于政策驱动向市场驱动转变的重要关口,与能源、交通、新一代信息通讯等产业加速融合,发展机遇和挑战并存。 辛国斌强调,为进一步明确新能源汽车发展路径和政策支撑,凝聚行业共识,坚定发展信心,经国务院批准,工业和信息化部牵头开展《新能源汽车产业发展规划(2021-2035年)》编制工作,通过深入调研和重大课题研讨,研究制定激发企业自主创新动力和活力的产业政策,更好地实现新能源汽车技术创新推广
[嵌入式]
基于FPGA+DSP架构视频处理系统设计
本系统采用基于FPGA与DSP协同工作进行 视频处理 的方案,实现视频采集、处理到传输的整个过程。 实时视频图像处理中,低层的预处理算法处理的数据量大,对处理速度要求高,但算法相对比较简单,适合于用FPGA进行硬件实现,这样能兼顾速度及灵活性。高层的处理算法结构复杂,适用于运算速度高、寻址方式灵活、通信机制强的DSP芯片宋实现。 DSP +FPGA架构的最大特点是结构灵活、有较强的通用性、适合于模块化设计,从而能够提高算法效率,同时其开发周期短、系统易于维护和升级,适合于实时视频图像处理。 系统采用模块化的设计方法,将整个系统划分为三部分:视频采集单元、视频处理单元和视频传输单元。 整个系统以FPGA作为核心控制单元并完
[嵌入式]
基于<font color='red'>FPGA</font>+DSP架构视频处理系统设计
基于FPGA的数字复接系统帧同步器设计与实现
摘要:介绍了应用FPGA技术进行帧同步器设计的实现原理、系统框图及设计中需要注意的问题,给出了用VHDL描述的几个模块的源代码。 关键词:数字复接;帧同步器;FPGA 在数字通信网中,为了提高传输效率,常常需要将若干路低速数字信号合并成一路高速数字信号,以便通过高速信道进行传输。实现此功能的设备称为数字复接系统。 数字复接系统包括发送端和接收端两部分,通常称为复接器和分接器。为了使分接器的帧状态相对于复接器的帧状态获得并保持相位关系,以便正确地实施分接,数字复接系统在发送端把低速数字信号合并为高速信号的同时,往往还要插入用于同步的帧同步码;而在接收端,分接器要把发送端数字信号中的帧同步码检测出来并去除,然后才能分解为原来的
[半导体设计/制造]
工业机器人带来新的就业机会 专业人才轻松年入50万
  据相关媒体报道,目前全球平均的机器人保有密度(每万名员工使用机器人台数)为55台,日本、韩国约300台,而中国仅为21台。我国工业和信息化部于去年发布的《关于推进工业机器人产业发展的指导意见》中提出了发展目标:到2020年,机器人保有密度达到100台以上。   工业机器人的广泛应用不仅可以提高产品的质量与产量,而且对保障人身安全、改善劳动环境、减轻劳动强度,提高劳动生产率,节约原材料消耗以及降低生产成本等方面有着十分重要的意义。工业机器人的广泛应用正在日益改变着人类的生产和生活方式。   嗅到了其中的发展机遇,机器人产业的培育和布局在各地开花,有着“智造名城”美誉的常州更是抢滩涉足、转型升级。记者了解到,武进高新区机器人产业
[机器人]
FPGA:下一代汽车设计的基本构建模块
汽车科技方兴未艾。 几年前,围绕全自动驾驶的讨论声势浩大,然而现实汽车世界的技术发展趋于平静。现在人们更加务实,希望探讨哪些技术现在更能为汽车带来有意义的价值,以及哪些技术的发展尚需时日。更重要的是,市场越来越认识到将更先进的技术引入汽车是多么重要。 汽车领域发展的主要受益者之一就是FPGA。多年来,这些可编程芯片一直为汽车提供一系列关键功能。随着日益复杂的汽车电子产品的兴起以及人们对软件定义汽车的持续关注,FPGA的机会正在增加。 由于其非常灵活的特性,FPGA可以在多个汽车子系统中提供多种类型的功能,包括车载信息娱乐系统、高级驾驶辅助系统(ADAS)以及混合动力和电车的充电系统。基于FPGA的产品具有多种功能,例如
[汽车电子]
<font color='red'>FPGA</font>:下一代汽车设计的基本构建模块
Octonion全新AI工业状态监测扩展软件包可在STM32 MCU完美运行
专业开发工业设备诊断边缘人工智能(AI)的深度技术软件公司Octonion 发布了一个STM32Cube扩展软件包。该软件包是针对来自横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)的工业级STM32L4 +微控制器开发板的优化过的状态监测解决方案。 Octonions的新软件包支持意法半导体在快速增长的工业状态监测和预测性维护市场上发起的使用STM32微控制器和微处理器开发人工智能应用的市场活动。Octonion的I-CUBE-OCTMI 软件包是一个运行在STM32 超低功耗MCU上的自我维护系统,系统引擎Octonion Edge BI能
[物联网]
工业机器人的组成结构是怎样的
(文章来源:百家号) 工业机器人作为一种稳定性较好、可编程、柔性高的机器,到在今天的中国几乎所有的制造行业当中都能看到工业机器人的身影,我们就来聊一聊工业机器人到底有什么组成。 如果按照来划分可以将工业机器人分为三大部分:机械部分、控制部分、传感检测部分。 我们由上图可知机器人的机械部分主要包括铸铁的机器人本体和提供动力的伺服和伺服驱动器构成;控制部分是由控制机器人动作、记录机器人相对位置、储存机器人运动和信号指令等信息的机器人整机的控制系统,除此之外还包括操与机器人之间进行沟通的人机交互系统。 检测系统中我们一般把机器人的检测系统分为机器人对于工作流程的内部检测和机器人对于内部检测,机器人对工的作流程内部检测为
[机器人]
45纳米FPGA明年推出 考验设计和制造协作
由于引入了可编程功耗技术,Altera在65纳米FPGA推出时间上落后于竞争对手,其正努力在45纳米工艺节点上实现反超,预计将于2008年推出首个45纳米FPGA。45纳米将继续实现成本和功耗降低、性能提升,但会同时带来设计和工艺挑战,需要FPGA供应商和晶圆代工厂间更紧密的合作。Altera宣称其和台积电(TSMC)这种“1+1排他性合作”模式在45纳米节点显示现更大优势。 在摩尔定律指引下,过去10多年来,半导体产业仍是每两年推出一个新工艺,预计这还会在未来10年内持续,从目前的65纳米到45纳米再到32纳米以下。这背后的驱动力是每一代新工艺会将片上晶体管密度翻倍(每个晶体管的成本每年降低25~30%),这意味着更高性能,更低成
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved