5.2.2.1 器件的选型
目前,主要的FPGA供应商有Xilinx公司、Altera公司、Lattic公司和Actel公司等。
Xilinx公司的主流器件有Spartan-3E、Spartan-3A、Virtex-4LX、Virtex-4SX、Virtex-4FX、Virtex-5LX、Virtex-5SX、Virtex-5FX、Spartan-6和Virtex-6等系列。其中Spartan-3E和Spar-tan-3A系列主要应用于逻辑设计和简单数字信号处理;Virtex-4LX和Virtex-5LX系列主要应用于高速逻辑设计,Virtex-4SX和Virtex-5SX系列主要应用于高速复杂数字信号处理;Vir-tex-4FX和Virtex-5FX系列主要应用于嵌入式系统。
Xilinx公司的集成开发环境ISE支持该公司所有器件的设计和开发。ISE不仅功能强大、界面友好,而且有很多第三方合作伙伴提供的相应的技术支持,能使器件获得更高的性能。
Spartan-3E是目前Spartan系列最新的中低端产品,具有多款芯片,系统门数范围为10~160万。Spartan-3E是在Spartan-3的基础上进一步改进的产品,提供了比Spartan-3更多的I/O端口和更低的单位成本,是Xilinx公司产品中性价比很高的FPGA芯片。以下选用Spar-tan-3E进行设计。
5.2.2.2 系统模块的实现
电子密码锁系统可划分为设置密码、键盘扫描、获取键值、数码显示、电磁执行器和解码开锁等五个子模块。电子密码锁系统功能框图如图5-30所示。
图5-30 电子密码锁系统功能框图
1.键盘控制电路
键盘的按键方式通常分为独立式和行列式两种。行列式按键指直接用I/O口线通过动态扫描构成的按键电路。每个按键通过动态扫描需要8根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态,它的电路配置灵活,软件结构简单,占用的I/O资源少。下面采用行列式按键结构设计键盘控制电路,对于4×4键盘,将使用其中的11个按键。
首先固定输出4行为高电平(接到电源),然后输出4列为低电平。通常高电平会被低电平拉低,如果读入的4行均为高电平,则肯定没有按键按下;如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获得按键的行值。同理可获取列值。
获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码再对每个按键进行匹配,找到键值后用七段数码管显示。(www.xing528.com)
4×4键盘结构原理图如图5-31所示。
2.发光二极管(LED)显示块结构与原理
LED显示块是有LED显示字段的显示器件。这种显示块有共阴极与共阳极两种,这里采用共阳极进行设计,共阳极LED显示块的LED与阳极并接。
数码管显示块中共有8个LED,其中7个LED构成七笔字形8,1个LED构成小数点。七段显示块与FPGA连接非常容易,只要将一个8位并行输出与显示块的LED引脚相连即可。8位并行输出口输出不同的字节数据时即可获得不同的数字或字符,如表5-2所示。通常将控制LED的8位字节数据称为段选码,共阳极与共阴极的段选码互为补数。
图5-31 4×4键盘结构原理图
表5-2 LED显示块功能表
3.报警电路
报警电路为密码锁输出的一部分,当连续输入错误的密码达到三次时,系统会输出一个报警信号给报警电路,报警电路发出报警提示,另加入一个LED可显示报警,报警电路原理图如图5-32所示。
图5-32 报警电路原理图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。