FPGA课程论文-基于FPGA设计的电子密码锁_第1页
FPGA课程论文-基于FPGA设计的电子密码锁_第2页
FPGA课程论文-基于FPGA设计的电子密码锁_第3页
FPGA课程论文-基于FPGA设计的电子密码锁_第4页
FPGA课程论文-基于FPGA设计的电子密码锁_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FPGA课程论文摘要 基于FPGA设计的电子密码锁是一个小型的数字系统,与普通机械锁相比, 具有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。本文介绍一种基于现场可编程门阵列FPGA 器件的电子密码锁的设计方法采用VHDL语言对系统进行描述,并在FLEX10K10LC84-4上实现。系统所实现的功能:用户给电子密码锁设定一个密码,当使用本机键盘开锁时,该密码与用户设定的密码比较,如果密码正确,则开锁;如果密

2、码不正确,则允许用户重新输入密码,最多可输入三次,若三次都不正确,则扬声器报警,直到按复位键才允许再次输入代码。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。当然,该系统在一些细节的设计上还需要不断的完善和改进,特别是对系统的扩展有很好的实用和设计的价值。关键词:现场可编程门阵列, 硬件描述语言, 电子密码锁, 扬声器 一 绪言系统以利用可编程器件实现电子密码锁的设计为研究背景、现状以及发展方向,明确指出了电子密码锁面临的问题和所解决的方法。1.1课题背景基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械

3、,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。 在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。 目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码

4、器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性。1.2 课题研究的目的和意义电子杂志、报刊经常刊登

5、有密码开关、密码锁这样的电路,大多数是使用常用的数字电路,如CD4017,然后通过不同的连接方式实现密码控制功能。这种电路的特点就是密码修改只能通过改变电路的连接来实现,密码很容易被破解,电路复杂,故障率高。本制作是针对这些电路而设计的,将以往的以单片机实现设计改为可编程器件FPGA利用VHDL编程实现电子密码锁的设计。这种设计移动方便。基于FPGA的电子密码锁具有保密强、灵活性高、适用范围广等特点,它在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易

6、被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,本设计采用“任意设定数字密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新,在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按复位方可停止。本设计的FPGA电子密码锁的特点是:体积小、功耗低、价格便宜、安全可靠,维护和升级都十分方便,具有较好的应用前景。它与传统锁具的不同之处在于:它与可编程逻辑器件实现系统的

7、设计,应用简洁清晰的VHDL语言实现设计编程思想,能够实现适时、智能控制管理功能,特别是在系统的扩展上有很好的优势。1.3课题的主要研究工作课题主要解决系统硬件和软件两方面的问题。硬件方面要解决FPGA可编程器件与其外围电路的接口设计的问题;软件方面主要问题是利用VHDL语言完成基于FPGA的电子密码锁的编程问题。除此之外,程序还要完成基本的密码开锁功能,并通过扬声器长时间鸣叫报警。本设计是由FPGA可编程逻辑器件编程实现的控制电路,具体有按键指示、输入错误提示、密码有效指示、控制开锁、控制报警等功能。它具有安全可靠、连接方便、简单易用、结构紧凑、系统可扩展性好等特点。二FPGA的相关介绍2.

8、1 可编程逻辑器件 在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件指令来完成范围广泛的任务,如运行字处理程序或视频游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、定时和控制操作、以及系统运行所需要的所有其它功能。 逻辑器件可分为两大类,即固定逻辑器件和可编程逻辑器件。正如其命名一样,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能,一旦制造完成,就无法改变。另一方面,可编程逻辑器件(PLD)是能够为客户提供范围广泛的多种逻辑容量、特性、速度和电压参数的标准成品部件

9、 而且此类器件可在任何时间改变,从而完成许多种不同的功能。 对于固定逻辑器件,根据器件复杂性不同,从设计、原型到最终生产所需要的时间可从数月至一年多不等。而且,如果器件工作不合适,或者如果应用要求发生了变化,那么就必须开发全新的设计。设计和验证固定逻辑的前期工作需要大量的NRE成本。NRE代表在固定逻辑器件最终从芯片制造厂制造出来以前客户需要投入的所有成本,这些成本包括工程资源、昂贵的软件设计工具、用来制造芯片不同金属层的昂贵光刻掩膜组以及初始原型器件的生产成本。这些NRE成本可能从数十万美元至数百万美元。 对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。然后,

10、可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。原型中使用的PLD器件与正式生产最终设备(如网络路由器、DSL调制解调器、DVD播放器、或汽车导航系统)时所使用的PLD完全相同。这样就没有了NRE成本,最终的设计也比采用定制固定逻辑器件时完成得更快。 采用PLD的另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对设计工作感到满意为止。这是因为PLD基于可重写的存储器技术要改变设计,只需要简单地对器件进行重新编程。一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD就可以了。 2.2 FPGA的简介 FPGA是英文Field Prog

11、rammable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户

12、不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和IO引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的

13、编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器

14、的外设,由微处理器对其编程。2.3 FPGA的应用特点 随着电子技术的飞速发展, 基于FPGA的设计向高集成度高速度和低价位方向不断迈进 其应用领域不断扩大这主要是由于FPGA以下技术特点的不断发展。(1)集成度越来越高 如Lattice的ispLSI或AMD的MACH芯片等效逻辑门已达10 万门以上 Altera 的10K 系列也在25 万门以上具有1 万个以上的寄存器 40 kbit 嵌人式存储器 使得集成复杂信号处理算法成为可能 Raphael系列已达到100 万门以上集中了 FLEX10KFLEX6000 MAX7000的所有优点可进行单片设计Xilinx推出了上百万门的FPGA,它们

15、可实现几乎任何形式的数字电路或数字系统的设计 FPGA在系统中直接应用率正直逼ASIC的开发2.2 在系统编程(ISP)/在线路重配置(ICR)技术。 FPGA 越来越多地采用了先进的 JTAG ISP和ICR 技术。这种先进的编程方式已成为当今世界上各类可编程器件发展的趋势在 5V 工作电平下可随时对正在工作的系统上的 CPLD/FPGA 进行全部或部分地在系统编程 并可进行芯片内部资源的重新分配同时进行所谓菊花链式多芯片串行编程 其编程次数多达1万次 如Lattice 的ispLSI AMD的MACH以及Xilinx的XC9000系列 对于SRAM结构的FPGA其下载编程次数几乎没有限制

16、如Altera的FLEX10K系列 这种编程方式可轻易地实现红外编程 超声编程或无线编程 或通过电话线远程在线编程 这些功能在工控 智能仪器表 通讯和军事上有特殊用途。(2) 嵌入式存贮技术 在 CPLD/FPGA 内部嵌人一定数量的存贮器 存贮器类型有双口SRAM ROM FIFO 可用于存贮信号处理的系数 中间结果等 这对设计电子系统的智能化功能提供了技术支持(3)时钟锁定和倍频技术 Altera 的 10K 系列采用了时钟锁定和倍频技术解决了时钟脉冲延迟和偏斜问题并使PLD 内部时钟更高 单个16 bit 乘法器速度可达100 MHz 以上 这正是大带宽高速实时信号的需要 CPLD/FP

17、GA的时钟延迟可达纳秒级 结合其并行工作方式 在超高速应用领域和实时测控方面有非常广阔的应用前景。(4)电子设计自动化 EDA 工具 EDA工具使得用户对设计的输入综合仿真非常方便 Altera的Max+PlusII给用户提供了丰富的宏库和LPM(参数模块库Library of Parameterized Modules)EDA 环境由 Unix/Windows 共存开发环境转换 事实上 通过符合国际标准的硬件描述语言 如 VHDL 或VERILOG HDL 来进行电子系统设计和产品开发由于开发工具的通用性 设计语言的标准化以及设计过程几乎与所用的 CPLD/FPGA 器件的硬件结构没有关系

18、所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性它几乎可用于任何型号的CPLD/FPGA中 从而使得片上系统的产品设计效率大幅度提高,使其用更为广泛和方便。(5)开发周期短 由于FPGAN 内部资源丰厚及功能强大以及相应的EDA软件功能完善和强大仿真能力便捷而实时开发过程形象而直观兼之硬件因素涉及甚少,一些EDA专家指出未来的大系统FPGA设计仅是各类再应用逻辑与 IP 核 CORE 的拼装 TI 公司认为 一个ASIC 80 功能可用IP 核等现成逻辑合成 因此可在很短的时间内完成十分复杂的系统设计。2.4 FPGA的应用前景 在数字化的道路上,电子设计技术经历了并将继续经历许多重大

19、的变革,从应用小规模集成电路SSI芯片构成电路系统,到广泛应用微控制器或单片机MCU 在电子系统设计上发生了具有里程碑意义的飞跃 这一飞跃不但克服了 SSI 数字系统许多缺陷和设计困难 同时也为电子技术的应用开阔了更广泛的前景 ,随着社会经济的发展和技术进步及电子技术的迅猛发展 ,电子设计技术面临另一次更大意义的,即FPGA 复杂可编程逻辑器件 FieldProgrammable Gate Array-FPGA/现场可编程门阵列Complex Programmable logic Device-CPLD 在EDA 电子设计自动化 基础上的广泛应用. 从本质上说, 新的电子系统运转的物理机制又归

20、回到原来的纯数字电路结构,但在更高层次上容纳了过去数字技术的优秀部分,扬弃了MCU系统的应用模式,却包括了MCU的内部资源,使电子设计的技术操作和系统构成的整体发生质的飞跃,是一种更高层次的循环 ,如果说MCU在逻辑的实现上是无限的话,那么 CPLD/FPGA 不但包括了 MCU 这一特点 且可触及硅片电路线度的物理极限 并兼有串并行工作方式 高速 高可靠性以及宽口径实用性等多方面的特点,不仅如此,随着EDA技术的发展和FPGA 在深亚微米领域的进军。它们与MCU MPU DSP A/D D/A RAM和ROM 等独立器件间的物理与功能界限已日趋模糊 特别是软/硬 IP 芯核 Intellig

21、ence Property 产业的迅猛发展 嵌人式通用及标准 FPGA 器件很快就会出现片上系统 SOC 也已近在咫尺 CPLD/FPGA以其不可替代的地位及伴随而来的极具知识经济特征的IP 芯核产业的崛起 正越来越受到电子技术工程师的密切关注 EDA 打破了软硬件之间最后的屏障 使软硬件工程师们有了真正的共同语言 使目前一切仍处于计算机辅助性设计 CAD 和规划的电子设计活动产生了实在的设计实体 电子设计专家指出 基于EDA的CPLD/FPGA的应用和技术推广是我国未来电子设计技术发展的主流 而基于 EDA 的 IP 芯核产业的推动应是我国在新世纪知识经济发展的重要切入点之一。 无论怎样的问

22、题和障碍,FPGA的应用热潮正逐步形成随着FPGA 集成水平的进一步提高芯核产业的进一步扩大,可以相信用不了多久大部分的电子设计领域 MCU 、MPU、 DSP或AD/A 和 RAM 等必将以各种软硬核的形式FPGA 实现真正的单片系统。三 基于FPGA设计的硬件描述语言VHDL3.1 VHDL语言简介 目前数字系统的设计可以直接面向用户需求 ,根据系统的行为和功能要求 ,自上而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直到生成器件 ,实现电子设计自动化。其中电子设计自动化EDA 的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。VHDL(VHSIC Hardware De

23、scription Language)是用来描述从抽象到具体级别硬件的工业标准语言 ,它是由美国国防部在 20 世纪 80 年代开发的 HDL ,现在已成为 IEEE承认的标准硬件描述语言。VHDL 支持硬件的设计、验证、综合和测试 ,以及硬件设计数据的交换、维护、修改和硬件的实现 ,具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。 VHDL 主要用于描述数字系统的结构、行为和功能 ,其程序结构特点是将一个电路模块或一个系统分成端口和内部功能算法实现两部分。对于一个电路模块或者数字系统而言 ,定义了外部端口后 ,一旦内部功能算法完成后 ,其他系统可以直接依据外部端口调

24、用该电路模块或数字系统 ,而不必知道其内部结构和算法。VHDL 的特点使得电子系统新的设计方法“自顶向下”设计方法更加容易实现。可以先对整个系统进行方案设计 ,按功能划分成若干单元模块 ,然后对每个单元模块进一步细分 ,直到简单实现的单元电路。3.2 VHDL语言的特点 VHDL语言主要用于描述数字系统的结构、行为、功能和接口,其具有以下特点: (1)作为HDL的第一个国际标准,VHDL具有很强的可移植性; (2)具有丰富的模拟仿真语句和库函数; (3)VHDL有良好的可读性,接近高级语言,容易理解; (4)系统设计与硬件结构无关; (5)支持模块化设计; (6)用VHDL完成的一个确定设计,

25、可以利用EDA工具自动地把VHDL描述转变成门电路级网表文件。3.3 VHDL语言的优点 与其他硬件描述语言相比,VHDL语言有如下优越之处: (1)VHDL语言支持自上而下(TopDown)和基于库(LibraryBase)的设计方法,还支持同步电路、异步电路、FPGA以及其他随机电路的设计; (2)VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的RTL描述和结构描述混合使用,还可以自定义数据类型,给编程人员带来较大的自由和方便; (3)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必关心最终设计实现的目标器

26、件是什么; (4)VHDL具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比较各种方案之间的可行性及其优劣,不需做任何实际的电路实验; (5)VHDL语言可以与工艺无关编程; (6)VHDL语言标准、规范,易于共享和复用。3.4VHDL语言的基本结构 VHDL有五大元素组成,即实体、结构体、配置、程序包和库。具体说明如下:(1)实体(ENTITY)程序是设计的基本模块和初级单元,在分层设计中,顶层有顶层实体,含在顶层实体中的较低层的描述为底层实体.配置把顶层实体和底层实体连接起来.实体说明语句仅对本实体与外部电路接口进

27、行描述.(2)结构体(ARCHITECTURE) 结构体也叫构造体,描述了实体的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。(3)配置(CONFIGURATION) 配制用于将元件实例与实体-结构成对绑定,决定了哪个结构体于实体关联。(4)程序包(PACKAGE)程序包是经常使用的数据类型和子程序的集合,可以认为是VHDL的工具箱,主要对程序包中的常量、数据类型和子程序进行格式描述,类似于C语言中的头文件。(5)库(LIBRARY)库具体对程序包声明的数据类型和子程序进行功能说明。3.5 VHDL语言的应用硬件描述语言

28、已成为当今以及未来电子设计自动化(EDA)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。VHDL在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点。利用硬件描述语言VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具,把

29、网表转换为要实现的具体电路布线结构。目前,这种高层次设计(highleveldesign)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。VHDL的应用已成为当今以及未来EDA解决方案的核心,而且是复杂数字系统设计的核心。四 系统设计方案的研究4.1系统功能需求分析本系统主要集中在以FPGA以核心外围扩展设计,整个电路主要电子锁具的组成框图是以可编程逻辑器件(FPGA)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值,报警等功能。 FPGA接收键入的代码,并与存贮在闪存中的密码进行比较,如果密码正

30、确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则通过FPGA产生报警,FPGA将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给监控器,同时将接收来自接口的报警信息也发送给监控器。4.2 系统原理框图 本系统由主控芯片(FPGA)、键盘、显示电路、报警电路和开/关门电路组成,而主控芯片又可分为按键处理部分、控制部分和译码显示部分。系统原理框图如图4.1所示:4.3总体设计原理 实现系统大量逻辑电路的集成,在设计中使用了现场可编程逻辑门阵列器件(FPGA)。FPGA主要实现以下逻辑功能:键盘处理、数码显示、设置密码、解码开门以及

31、报警等控制功能。 本系统有13个按键,包括09共10个数字键和1个确认键,1个警报复位键,1个清0键。输入正确密码后,按确认键即可开门,在门开的状态下,第一次输入新密码后再确认密码可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为18位。初始密码为0,即上电后,按确认键即可开门。门开后可通过锁门按钮关门,门关上后要再次输入密码才能开门。在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按警报复位键方可停止。五 系统

32、硬件设计5.1 系统的硬件模块实现 整个电子密码锁系统可划分为键盘扫描、获取键值、数码显示、设置密码和解码开门等五个子模块。通过FPGA的处理,从而实现基于FPGA的电子密码锁的设计,系统实现框图如图5.1所示。5.2 基于FPGA的设计5.2.1 主控芯片EPF10K10LC84-4的介绍 FPGA器件选择Altera公司FLEX10K10系列的EPF10K10LC84-4芯片。FLEX10K器件是工业界第一个嵌入式的PLD(可编程逻辑器件),由于其具有高密度、低成本、低功率等特点,成为当今Altera PLD中应用广泛的器件系列。FLEX10K器件主要由EAB(嵌入式阵列块)、LAB(逻辑

33、阵列块)、快速通道线和I/O单元4部分组成。设计输入(图形或VHDL(甚高速集成电路硬件描述语言)等)经过编译后产生的数据格式(网表),大多配置到LAB中。在很多时候,为了提高设计效率、减少LAB的占用等,希望将设计配置到EAB中。要将设计配置到EAB中是一个较为复杂的过程,在这个过程中必须遵守一定的规则,同时,又要对设计的状态、输入、输出。 该芯片集成有1万个等效逻辑门,含有572个逻辑单元(LEs)、72个逻辑阵列块(LABs)、3个嵌入式阵列块(EAB s),并具有720个片内寄存器,可以在不占用内部资源的条件下实现6144 bit的片内存储器;内部模块间采用高速、延时可预测的快速通道连

34、接;逻辑单元间具有高速、高扇出的级联链和快速进位链;片内还有三态网络和6个全局时钟、4个全局清零信号以及丰富的I/O资源;每个I/O引脚可以选择为三态控制或集电极开路输出,可以通过编程控制每个I/O引脚的速度以及I/O寄存器的使用。5.3 键盘控制电路结构与原理按键方式分为独立式和行列式两种,本设计采用行列式按键结构,是44键盘,本设计中只用了其中的11个按键。行列式按键是指直接用I/O口线通过动态扫描构成的按键电路。每个按键通过动态扫描需要八根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。它的电路配置灵活,软件结构简单,占用的I/O资源少。首先固定输出4行为高电

35、平(接到电源),然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。 获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7段码管显示。按键控制电路如图5.2所示:图5.2 44键盘结构原理图5.4 LED显示器结构与原理 LED显示块是由发光二极管显示

36、字段的显示器件。在单片机应用系统中通常使用的是7段LED。这种显示块共有共阴极与共阳极两种,本设计将采用共阳极。共阳极LED显示块的发光二极管与阳极并接。数码管显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,1个发光二极管构成小数点。7段显示块与FPGA接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,如表5.1所示。通常将控制发光二极管的8位字节数据称为段选码。共阳极与共阴极的段选码互为补数。表5.1 LED显示块功能表显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码 0 3FH

37、C0H C 39H C6H 1 06H F9H D 5EH A1H 2 5BH A4H E 79H 86H 3 4FH B0H B 7CH 83H 4 66H 99H F 71H 8EH 5 6DH 92H P 73H 8CH 6 7DH 82H U 3EH C1H 7 07H F8H L 31H CEH 8 7FH 80H Y 6EH 91H 9 6FH 90H A 77H 88H 5.5 报警电路图5.3 报警电路六 系统的软件设计6.1系统主控制流程框图 当用户输入密码后,按确认键即可开门,在门开的状态下,输入新密码,再按确认键可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为18位。初始密码为0,即上电后,按确认键即可开门。 本系统控制流程如图6.1所示: 键盘扫描程序框图图6.2 键盘扫描程序框图获取键值程序框图 图6.3 键值程序框图解码、报警模块图6.4 解码报警模块七 系统的原理实现7.1系统的层次化设计 基于FPGA的数字系统的层次化设计,一般都要经过 4 个阶段: 设计输入、编译、仿真验证、下载器件。本设计采用的是自下而上的设计方法 , 逐层完成相应的描述、编译、仿真与验证 , 即先建立一些低层次的设计 , 再将它们组合在一起 , 最后形成一个单一的顶层设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论