基于FPGA和VHDL语言的多按键状态识别系统
这里提出一种利用FPGA的I/0端口数多和可编程的特点,采用VHDL语言的多按键状态识别系统,实现识别60个按键自由操作,并简化MCU的控制信号。
本文引用地址:http://www.amcfsurvey.com/article/151597.htm2 系统设计方案
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所示。
评论