基于eda技术的四位电子密码锁内容摘要:
5 图 FLEX系列芯片引脚图 MAX+plusⅡ概述 本设计用的是 MAX+plusⅡ软件。 MAX+plusⅡ是 Altera 提供的 FPGA/CPLD开发集成环境, Altera 公司是世界最大的可编程逻辑器件供应商之一。 MAX+plusⅡ界面友好,使用便捷,被誉为业界最 易学的 EDA 软件。 MAX+plusⅡ提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。 利用 MAX+plusⅡ进行设计的一般流程如图 所示: 步 骤 2 : 输 入 设 计 项目 原 理 图 / V H D L 代 码步 骤 1 : 建 立工 作 库 文 件 夹步 骤 3 : 存 盘 , 注 意原 理 图 / 文 本 取 名步 骤 4 : 将 设 计 项目 设 置 成 P r o j e c t步 骤 5 : 选 择目 标 器 件步 骤 6 : 启动 编 译步 骤 7 : 建 立 仿真 波 形 文 件步 骤 8 : 仿 真 测试 和 波 形 分 析步 骤 9 : 引 脚锁 定 并 编 译步 骤 1 0 : 编程 下 载 / 配 置步 骤 1 1 : 硬件 测 试 图 MAX+plusⅡ一般设计流程 7 3 密码锁的电路框图及工作原理 密码锁输入电路的设计 电子密码锁的输入电路由时序产生电路、键盘扫描电路、弹跳消除电路、键盘译码电路、按键数据缓存器,以及外接一个 4*4 矩阵式键盘组成。 如图 所示 : 图 密码锁的输入电路框图 行列式键盘的工作原理 行列式键盘又叫矩阵式键盘,是一种常见的输入装置,在计算机、电话、手机、微波炉等各式电子产品上已经被广泛应用。 用带有 I\O 口的线组成行列结构,按键设置在行列的交点上。 当按键数量平方增长时, I\O 口线只是线性增长,就可以节省 I\O 口线。 行列式键盘的电路原 理如图 所示 1 32 45 6 7 89 A0 BC D E F+ 5 V5 . 1 KF P G AK x 3K x 2K x 1K x 0K y 0K y 1K y 2K y 3 图 行列式键盘的电路原理图 1 32 45 6 7 89 A0 BC D E F键盘译码电路按键标志产生电路扫描电路 时钟产生电路Kx [ 3 ... 0 ]Ky [ 3 ... 0 ]k ey v alu efun ctio n k eyk ey p ressed 8 按键设置在行列线交叉点,行、列线分别连接到按键开关的两端。 列线通过上拉 电阻接 +5V 的电压,即列线的输出被钳位到高电平状态。 判断键盘中有无按键下是通过行线送入扫描信号,然后从列线读取状态得到的。 其方法是依次给行线送低电平,检查列线的输入。 如果列线信号全是高电平,则代表低电按下平信号所在的行中无按键;如果列线有输入为低电平,则低电平信号所在的行和出现低电平信号的列的交点处有按键按下。 设行扫描信号为 ky3ky0,列线按键输入信号 kx3kx0 与按键位置的关系如表 1 所示: 表 1 行扫描信号、列线按键输入信号与按键位置的关系 Ky[3..0] Kx[3..0] 对应的按键 1110 1110 1 1101 2 1011 3 0111 4 1101 1110 5 1101 6 1011 7 0111 8 1011 1110 9 1101 0 1011 A 0111 B 0111 1110 C 1101 D 1011 E 0111 F 时序产生电路 时序产生电路用于产生电路中三种不同频率的工作脉冲波形,包括系统时钟信号、弹跳消除取样信号和键盘扫描信号。 当一个系统中需使用多种操作频率的脉冲波形时,最方便的方法之一就 是利 9 用一个自由计数器来产生各种需要的频率。 也就是先建立一个 N 位计数器, N的大小根据电路的需求决定, N的值越大,电路可以分频的次数越多。 这样就可以获得更大的频率变化,以便提供多种不同频率的时钟信号。 其程序见附录。 键盘扫描电路 键盘扫描电路是用于提供键盘扫描信号 ky3ky0 的,其变化的顺序依次为1110→ 1101→ 1011→ 0111→„„周而复始地扫描。 其停留在每个状态的时间大约为 10ms。 更短的停留时间是没有必要的,因为人按键的时间大约为 10ms,不可能有更快的按键动作发生;另外,更短的时 间还容易采集到抖动信号,会干扰判断。 而太长的停留时间则容易丢失某些较快的按键动作。 键盘扫描电路的外部接口如图所示。 其中 c_diskey 为输出到键盘的扫描信号,宽度为 4 位。 其功能图如图 : 图 时序 产生电路和键盘扫描电路功能图 实体描述: Entity: 系统输入信号 Clk_1k: 提供系统的总输入时钟信号,为 1KHZ; 系统输出信号: C_debounce :去抖时钟信号; Clk_ctr :提供控制电路模块的工作时钟; Clk_scan :为键盘扫描时序; C_diskey: 输出到键盘的扫描信号 ; 弹跳消除电路 由于本 设计中采用的矩阵式键盘是 机械开关结构 ,因此在开关切换的瞬间会在接触点出现信号来回的现象 ,对于电子密码锁这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入 ,从而影响到密码锁操作的正确性。 从图 中可以观察出弹跳现象产生的原因,虽然 只是按下按键一次然后放掉,然而实际产生的按键信 号却不止跳动一次,经过取样信号的检查后,将会造 成误判断,以为键盘按了两次。 10 图 弹跳现象产生错误的抽 样结果 如果调整抽样频率 (如图 所示 ),可以发现弹跳现象获得了改善。 图 调整抽样频率后得到的抽样结果 因此必须加上弹跳消抖电路,避免误操作信号的发生。 特别要注意的是,弹跳消除电路所使用的肪冲信号的频率必须比其他电路使用的脉冲信号的频率更高。 弹跳消除电路的实现原理如图 所示,先将键盘 的输入信号 D_IN 做为电路的输入信号, CLK 是电路的时钟脉冲信号,也就是取样信号, D_IN 经过两级 D触发器延时后再使用 RS 触发器处理。 图 弹跳消除电路的内部实现原理图 此处 RS触发器的前端连接和非门的处理原则是: (1) 因为一般人的按键速度至多是 10 次 /秒,亦即一次 按键时间是 100 11 ms,所以按下的时间可估算为 50 ms。 以 取样信号 CLK 的周期为 8 ms 计,则可以取样到 6次。 (2) 对于不稳定的噪声,在 4 ms 以下则至多抽样一次。 (3) 在触发器之前,接上 ANDNOT 之后, SR的组态 如表 2所示。 表 2 RS触发器真值表 键盘译码电路和按键标志产生电路 键盘译码电路是从 kx3kx0 和 ky3ky0 信号中译码出按键键值的电路,它的真值表如表 所示。 按键标志产生电路是产生按键标志信号的电路。 由于这两个电路关系紧密,因此放入同一个模块中实现。 其外部接口如图 所示。 其中clk_1k 为全局时钟信号,它是由 FPGA 芯片的外部晶振给出的。 Clk_1k 在系统中的频率是最高的,其它时钟都由它分频产生。 Ky[3..0]为键盘扫 描信号, kx[3..0]为键盘输入信号, data_n、 data_f 为键值(代表按键所在位置), ff表示有一个功能按键被按下,每发生一次按键动作, ff 就输出一个宽度为全局时钟的正脉冲。 fn 表示有一个数字按键被按下,每发生一次按键动作, fn 就输出一个宽度为全局时钟的正脉冲。 该信号用于与其他模块握手,负责通知其他模块键盘上有按键发生。 其他模块当知晓 fn 或 ff 有效时,可以读取键值。 其功能图如图 所示 图 键盘译码电路和按键标志产生电路功能图 实体描述 : Entity 系统输入信号: Ky[30]:键盘输入信号; Kx[30]: 键盘扫描信号,与键盘扫描电路中 c_diskey[30]的相连; S R D OUT 0 0 不变 1 0 1 0 1 0 12 Clk:译码电路时钟信号; 系统输出信号: Data_n:系统输出数字键值(也代表该按键所在位置); Data_f:系统输出功能键键值(也能代表该按键所在位置); fn:表示有一个数字键按键被按下,每发生一次按键动作, fn 就输出一个正脉冲; ff:表明按键是否为功能(功能键为 set 、 clear 、 lock 和 back 键)。 当按键是功能键时, ff为高电平,否则为低电平。 密码锁控制 电路 密码锁控制电路原理 密码锁的控制电路是整个电路的控制中心,主要由数字比较器、寄存器等组成。 主要完成对键盘上每个按键的响应控制(包括 10 个数字按键和 4 个功能按键),当有键按下时,系统根据译码所得数字,判断出按下的是功能键还是数字键,如是功能键,则执行相应键的功能。 ● 对数字输入的响应控制 如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按下一个数字,显示器上的数字必须左移一格,以显示新输入的数字。 当需要更改输入的数字时,可以按倒退键( back)来清除前一个输入的数字,或者按 清除键清除所有的输入数字。 由于这里设计的是一个四位的电子密码锁,所以当输入的数字超过四个时,电路将无任何反应,而且不再显示第四个以后输入的数字。 ● 对功能键输入的响应控制 ( 1) 清除键( clea):此键有效时,清除所有的输入数字,即做清零操作。 ( 2) 删除键( back):此键有效时,数字右移,并且每按一次,右移一位。 ( 3) 激活电锁键( set) :此键有效时,将密码锁的门上锁。 ( 4) 解除电锁键( lock):此键有效时,检查输入的密码是否正确,若正确则开门。 密码锁控制电路功能图 系统 输出信号 Enlock:开锁输出信号 ,当比较器确认输入的密码正确时 ,电路输出一个高电平 ,使得门锁打开; Data_bcd[150]:四位密码输出信号 ,即用户输入的密码,它输入显示电路,并通过数码管显示出来。 如图 所示 : 13 图 密码锁控制电路功能图 实体描述 Entity 系统输入信号 Data_n:数字输入信号; Data_f:功能输入信号; Flag_n:数字输入信号标志; Flag_f:功能键输入信号标志; Clk:控制电路时钟信号; 密码锁显示电路 显示电路原理 LED( Light Emiting Diode)显示器由七个发光二极管组成,称七段 LED 显示器,排列形状如图 ( a)所示。 此外,显示器中还有一个圆点发光二极管( dp),用于显示小数点。 通过七段发光二极管亮暗的不同组合,可以显示多种数字( 0~9),字母( a~ f、 A~ F)及其它符号。 LED 显示器中的发光二极管共有两种连接方法: ( 1)共阴极接法: 各发光二极管的阴极连接在一起,接到数码管的位控端(公共端),再接地;各发光二极管的阳极分别连接到数码管的段控端( a~ g、 dp),如图 ( b)。 ( 2)共阳极 接法: 各发光二极管的阳极连接在一起,接到数码管的位控端(公共端),再接 +5V;各发光二极管的阴极分别连接到数码管的段控端( a~ g、 dp), 27( c) 为了显示数字或符号,要为 LED 显示器提供代码,由于这些代码是为显示字形的,因此称之为字形代码,具体字形代码这里不作介绍,请参考有关资料。 14 agdfe cb1 0 9 8 7 6gfG N Da bedG N Dcd p1 2 3 4 5VDVD+ 5 V( a )( b )( c )d pbacdefgd pabcdefgd pG N D 图 LED数码管示意图 LED 显示方式有静态显示和动态显示两种方式,使用静态显示方式时, LED显示器各位数码管的位控线(公共端)连接在一起并接地(共阴极 )或 +5V(共阳极);各位数码管的段选线( a~ dp)分别与一8位的锁存器输出相连, LED静态显示方式中,显示器的各位相互独立,故其占用 I/O 口线较多(如图 );使用动态显示方式时,将 LED 显示器各位数码管的所有段控端( a~ dp)相应地并联在一起,由一个8位 I/O 口控制,形成段选线多路复用,而各位数码管的共阳极或共阴极要分别由相应的 I/O 口线控制(如图 ),实现各位的分时。基于eda技术的四位电子密码锁
相关推荐
R (3 downto 0)。 signal direct: STD_LOGIC_VECTOR (3 downto 0)。 begin direct=39。 039。 amp。 conv_std_logic_vector(dir,3)+1。 st_out=39。 039。 amp。 conv_std_logic_vector(liftor,3)+1。 run_wait=39。 039。 amp。
器如下图 43 第 7 页 (共 23 页 ) 图 43 四位串行输入并行输出寄存器 图 44 四 为串行输入并行输出寄存器 上图为 四 为串行输入并行输出寄存器,它由 4 个 D 触发组成,当 reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位 控制模块 ( 1) 功能介绍 开锁时输入密码后 ,拨动 RT键使其为高电平,而 CHANGE 为低电平检测,密码正确时开锁
sec2=0000。 sec1=0000。 sec0=39。 139。 elsif (sec1=1001) then jidao 9s sec1=0000。 sec2=sec2+1。 sec0=39。 039。 else sec1=sec1+1。 zhengchangjishu 1s sec0=39。 039。 end if。 end if。 end process。 end。 三、时序仿真:
处 第 7 学期 15周前 院 系 主任、教学秘书 3 完成毕业实习 (毕业调研 )报告及外文翻译、开题报告。 教务处随 院系主任、指导教师 4 中期检查:院制定中期检查方案。 教务处随机进 行进行抽查。 学生完成毕业设计(论 第 8 学期 9 周前 院 系 主任、教务处 院系部下达毕业设计答 会,报教务处备案。 完成 第 8学期 14周 第 教研室(课程组)、院系 6 院系部将毕业设计 (论文
存储器时, 当作 数据 /地址总线。 不扩展时,可做一般的 I/O 使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1
有一个更深入的了解。 在了解课题以后,接下来本人通过各种途径收集关于课题的资料。 通过这些资料,可以在学习前人成果的基础上,对自己课题做好充分的扩展和发挥。 本课题主要设计方案是从硬件设计和软件编程两个方面来完成设计目的,选用 TI 公司 TMS320VC5402 定点数字信号处理芯片 ]13[ 作为 CPU。 硬件方面设计主要原理是:通过信号发送器产生的 0~2V 模拟信号,经过 AD 采样