|
|
|
|
논리회로설계 - vhdl을 이용한 도어락(door lock) 설계
|
|
|
|
논리회로설계 - vhdl을 이용한 도어락(door lock) 설계
1. 도어락의 개요
도어락은 번호를 입력받아서 그 번호가 일치할 경우 문이 열리고 일정 횟수 이상을 틀릴 경우 알람이 작동한다.
2. 입력, 출력 및 상태
① 입력
- 클럭 : clk
- 리셋 : rst
- 입력버튼 : ps_start
- 종료버튼 : ps_end
- 수정버튼 : ps_mod
- 비밀번호 : ps_num
② 출력
- 문 열림 : door_open
- 알람 : alarm
③ 상태
-ready
-in_start
-in_end
-door_con
-end_state
-mod_state
3. 동작원리
digital door rock 입력모드
- door rock의 키패드에서 암호를 입력받아 문을 열게 하는 모드
- 입력버튼을 누르면 입력모드로 설정됨
- 암호를 입력받아 수정모드에서 설정된 암호와 틀리면 다시 입력버튼을 눌러서
암호를 입력해야 함
digital door rock 수정모드
- door rock의 비밀번호를 수정하는 모드
- 수정버튼을 누르면 수정모드로 설정됨
- 처음에 4개의 비밀번호를 입력
그 뒤 4개의 새로운 비밀번호를 입력
알람 작동
- 입력이 일정횟수가 틀리면 알람이 작동함
문이 열리고 일정시간이 흐를 경우
- 문이 열리고 일정 시간이 흐르면 문이 닫힘
4. 다이어그램
5 소스 코드
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
entity door_lock is
port ( clk : in std_logic;
rst : in std_logic;
ps_start : in std_logic := 0 ;
.... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|