1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài Tập Lớn - Đồ Án - Thiết Kế Hệ Thống Số - Đề Tài - Hệ Thống Khóa Số Điện Tử

43 50 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống Khóa Số Điện Tử
Tác giả Nguyễn Văn Hiếu, Vương Quốc Huy, Đỗ Anh Tuấn
Người hướng dẫn Nguyễn Văn Thành
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Hệ Thống Số
Thể loại Đồ Án
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 43
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  BÀI TẬP LỚN ĐỒ ÁN THIẾT KẾ HỆ THỐNG SỐ ĐỀ TÀI HỆ THỐNG KHÓA SỐ ĐIỆN TỬ Giảng viên hướng dẫn Nguyễn Văn Thành Sinh viên thực hiện Nhóm Nguyễ[.]

Trang 1

Sinh viên thực hiện:

Trang 2

2

MỤC LỤC

CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ ĐỀ TÀI VÀ MỤC TIÊU 3

I Giới thiệu chung về đề tài 3

II Mục tiêu và phát triển 3

CHƯƠNG 2 : HỆ THỐNG PHẦN CỨNG 4

I Các linh kiện 4

1 Biến trở 4

2 LCD 16*2 6

3 Bàn phím 4*4 8

II FPGA .10

1 Giới thiệu 10

2 Cấu trúc FPGA 10

FPGA Logic Block: 11

FPGA Interconnect: 11

Module FPGA Spartan-6 XC6SLX9 13

CHƯƠNG 3: HỆ THỐNG PHẦN MỀM 14

I Hoạt động của mạch 14

Hoạt động của mạch khóa cửa điện tử bằng key phím 4×4 14

II Sơ đồ trạng thái 15

1 Trạng thái đóng –mở cửa 15

2 Trạng thái đổi mật khẩu 16

3.Trạng thái reset 17

4.Sản phẩm sau khi hoàn thiện 18

5.Lập trình cho hệ thống 18

CHƯƠNG 4: KẾT LUẬN 43

Trang 3

3

CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ ĐỀ TÀI VÀ MỤC TIÊU

I Giới thiệu chung về đề tài

Trong một xã hội hiện đại, sự phát triển của ngành điện tử viễn thông là một yêu cầu không thể thiếu để thúc đẩy nền kinh tế phát triển và góp phần nâng cao đời sống xã hội Ngày nay, trên thế giới, điện tử viễn thông vẫn không ngừng phát triển với tốc độ rất cao và thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời sống xã hội Cùng với sự phát triển như vũ bão đó, ngành điện tử viễn thông Việt Nam cũng đang nỗ lực hết sức trên con đường tìm chỗ đứng cho mình Trong đó, lĩnh vực bảo mật là một mảng lớn mà chúng ta cần quan tâm Chính vì thế, với mục đích làm quen bước đầu với việc thiết kế mạch điện tử nói chung và với hệ thống an toàn, bảo mật nói riêng, chúng em chọn đề tài “hệ thống khóa

mã điện tử ” để nghiên cứu và thực hiện Hệ thống này cho phép ta quản

lý và hạn chế được số người ra vào theo mã số trong khu vực cần bảo mật với độ an toàn cao

Trong quá trình thực hiện đề tài, tuy đã rất cố gắng tuy nhiên do những hạn chế về thời gian tìm hiểu, kiến thức cũng như kinh nghiệm thực tế nên chúng em không tránh khỏi nhiều thiếu sót Chúng em rất mong được nhận những đóng góp của thầy và các bạn để đè tài của chúng

em được hoàn thiện hơn và nhiều chức năng hơn

II Mục tiêu và phát triển

Mục tiêu là hoàn thành được hệ thống khóa cửa điện tử

Với chức năng :

Đóng mở cửa khi nhập đúng pass, điều khiển đóng mở bằng việc dùng động cơ

Trang 4

CHƯƠNG 2 : HỆ THỐNG PHẦN CỨNG

I Các linh kiện

1 Biến trở

Hình 1 Biến trở

Biến trở volume được sử dụng rộng rãi trong các mạch công suất, âm li, độsáng Có tên tiếng Anh là potentionmeter Biến trở hoạt động như 1 điện trở có khả năng thay đổi điện trở khi vặn núm điều chỉnh

Thông số sản phẩm:

 Độ dài núm chỉnh: 15mm

Trang 5

5

 Đường kính núm chỉnh: 7mm

 Loại biến trở: Volume đơn, có 3 chân

Thông số điện:

 Tổng trở kháng: 1KΩ - 1MΩ (Tùy giá trị biến trở)

 Tổng dung sai kháng chiến: ± 20%

 Đặc tính trở kháng loại: A, B, C, D

 Điện áp hoạt động tối đa: B Linear: DC 50V / AC 25V

 Công suất định mức: B Linear: 0.5W

 Tiếng ồn: Dưới 100mV

 Chống cách điện: Hơn 100MΩ

 Điện áp chịu được: 1 phút ở AC 250 V

Tính chất cơ lý:

 Góc quay toàn bộ: 300 ± 10 (độ)

 Khoảng cách quay: 10 ~ 200 gf.cm

 Sức mạnh dừng quay: 3.0Kgf.cm

 Độ bền kéo: đẩy: 7.0kgf phút

Độ bền:

Vòng quay: 10.000 chu kỳ

Trang 6

6

2 LCD 16*2

LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của Vi Điều Khiển LCD có rất nhiều ưu điểm so với các dạng hiển thị khác Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ…

Màn hình text LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án

Hình 2 LCD 16*2

Trang 7

7

THÔNG SỐ KỸ THUẬT:

 Điện áp hoạt động là 5 V

 Kích thước: 80 x 36 x 12.5 mm

 Chữ đen, nền xanh lá

 Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard

 Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện

 Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn

 Có thể được điều khiển với 6 dây tín hiệu

 Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780 datasheet để biết thêm chi tiết

SƠ ĐỒ CHÂN LCD 16*2

Trang 8

8

Hình 3 Sơ đồ chân LCD 16*2

3 Bàn phím 4*4

Hình 4 Bàn phím 4*4

Ma trận phím 4×4 gồm có 16 nút bấm được sắp xếp theo ma trận 4

hàng, 4 cột Các nút bấm trong cùng một hàng và một cột được nối với nhau, vì vậy ma trận phím 4×4 sẽ có tổng cộng 8 ngõ ra Ma trận phím 4×4 cho phép các bạn nhập các chữ số, chữ cái, ký hiệu vào bộ điều khiển qua đó dùng để điều khiển một thiết bị ngoại vi nào đó Các bạn

có thể mắc thêm trở treo (thông thường là 10K) cho các nút bấm để nút

bấm hoạt động ổn định hơn

THÔNG SỐ KỸ THUẬT:

 Loại phím mềm

 Độ dài cáp: 8cm

 Nhiệt độ hoạt động 0 ~ 70 độ C

Trang 9

9

 Đầu nối ra 8 chân

 Kích thước Dài x Rộng: 4x4cm

SƠ ĐỒ MẠCH BÀN PHÍM MATRIX 4X4

Hình 5 Sơ đồ mạch bàn phím

Trên đây là hình ảnh sơ đồ nguyên lý của module bàn phím 4x4 Tuy có đến 16 nút nhấn, nghĩa là nếu làm một cách thông thường (dùng chân digital) thì chúng ta phải cần đến 16 chân Arduino để đọc Nhưng với bàn phím này, chúng ta chỉ cần dùng 8 chân (4 chân hàng ngang (row), và 4 chân cột dọc (column))

Cách quét và xác định phím: Để phát hiện một phím nhấn, bộ điều khiển

sẽ nối đất tất cả các hàng bằng cách đặt giá trị 0 lên chốt ra, sau đó đọc các cột Nếu dữ liệu được đọc ở các cột có giá trị: colum3-colum0=1111 tức là k có phím nào được nhấn và quá trình này cứ tiếp tục cho đến khi phát hiện ra phím được nhấn Ví dụ như colum3-colum1=1101 có nghĩa là phím ở cột colum 1 được nhấn Sauk hi một phím nhấn đã được phát hiện, bộ điều khiển sẽ chuyển qua quá trình xác định phím nhấn đó Bắt đầu từ hàng trên cùng, bộ điều khiển sẽ nối đất hàng đó bằng cách đưa

Trang 10

10

vào điện áp thấp cho hàng row0, sau đó tiến hành đọc các cột Nếu dữ liệu đọc được có giá trị hoàn toàn bằng 1 tức nào không có phím nào ở hàng này được kích hoạt thì uqa trình này sẽ chuyển sang hàng tiếp theo Bộ điều khiển lại nối đất hàng tiếp theo, đọc giá trị ở các cột và kiểm tra xem có giá trị nào bằng 0 không Quá trình này được xác định khi có hàng được xác định Sau khi xác đinh xong hàng có phím nhấn nhiệm vụ tiếp theo là tìm xem cột nào có phím nhấn Việc này khá đơn giản bởi vì vi điều khiển biết được bất cứ thời điểm nào hàng nào và cột nào được truy cập

II FPGA

1 Giới thiệu:

FPGA là viết tắt của thuật ngữ tiếng anh “Field programmable Gate Array”, nghĩa là Mảng cổng lập trình được dạng trường FPGA thuộc họ ASIC lập trình được.

2 Cấu trúc FPGA

Kiến trúc cơ bản của FPGA gồm 3 thành phần chính sau: Khối I/O (hay gọi là Pad hoặc các pin FPGA), Khối kết nối (Interconnection/Switch Matrix), các Khối logic cấu hình (CLB – Configurable Logic Blocks)

 Chức năng của mỗi thành phần như sau:

 Khối CLB: thực thi các chức năng logic, cung cấp các tính toán và phần tử nhớ cơ bản được sử dụng trong hệ thống số CLBs là phần

tử cơ bản cấu thành FPGA, là nguồn tài nguyên logic chính tạo nên các mạch logic đồng bộ lẫn không đồng bộ Một CLB cơ bản gồm một mạch tổ hợp có thể lập trình (còn gọi là LUT), một Flip-Flop hoặc một chốt (latch) LUT(Look up table) là khối logic có thể

Trang 11

11

thực hiện bất kì hàm logic nào từ 4 đầu vào (số đầu vào này sẽ tùy thuộc vào từng dòng chip của mỗi hãng và sẽ được thảo luận chi tiết trong bài viết khác), kết quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop Ngoài khối logic cơ bản đó, nhiều Chip FPGA hiện nay gồm một hỗn hợp các khối khác nhau, một số trong đó chỉ được dùng cho các chức năng cụ thể, chẳng hạn như các khối bộ nhớ chuyên dụng, các bộ nhân (multipliers) hoặc các bộ ghép kênh (multiplexers) Tất nhiên, cấu hình bộ nhớ được sử dụng trên tất cả các khối logic để điều khiển các chức năng cụ thể của mỗi phần tử bên trong khối đó

FPGA Logic Block:

 Khối kết nối: dùng để liên kết các khối logic và I/O lại với nhau để tạo thành một thiết kế hoàn chỉnh Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau Các đường kết nối được nối với nhau thông qua các khối chuyển mạch lập trình được (programmable switch), trong một khối chuyển mạch chứa một số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau

FPGA Interconnect:

 Khối I/O: cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến đến các thành phần bên ngoài Một trong những vấn đề quan trọng nhất trong thiết kế kiến trúc I/O là việc lựa chọn các tiêu chuẩn điện áp cung cấp và điện áp tham chiếu sẽ được hỗ trợ Số lượng Pin (I/O) của FPGA tương đối lớn, thường được chia ra làm

Trang 12

 Dedicated Pin: được mã hóa cứng với một chức năng cụ thể

 Power Pin

 Configuration Pin: các pin để cấu hình FPGA

 Dedicated input, hay Clock Pin: điều khiển mạng lưới clock bên trong FPGA

 Voltage IO: cấp nguồn cho các cổng logic và flip-flops bên trong FPGA

Theo thời gian, các kiến trúc FPGA cơ bản đã được phát triển hơn nữa thông qua việc bổ sung các khối chức năng đặc biệt có thể lập trình, như bộ nhớ trong (Block RAMs), logic số học (ALU), bộ nhân, DSP-48 và thậm chí là bộ vi xử lý nhúng được thêm vào do nhu cầu của các nguồn tài nguyên cho một ứng dụng Kết quả là nhiều FPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó

Trang 13

13

Hình 6 Kit FPGA Spartan6

Module FPGA Spartan-6 XC6SLX9

 Chip FPGA chính : Spartan6 XC6SLX9-TQG144

 Chip FPGA cấu hình : M25P40

 50MHz active crystal: cung cấp xung nhịp chính cho hệ thống

 AS1117-3.3: cấp nguồn 3.3V cho ngõ ra

 AS1117-1.2: cấp nguồn riêng cho FPGA

 Giắc 5V DC : cấp nguồn cho toàn hệ thống

 Led đỏ : chỉ thị nguồn

 Led xanh lá : báo quá trình download configuration

 1 Nút reset , 1 nút khóa nguồn

 3 hàng GPIO port

 Debug interface : JTAG Download Interface

Các ngoại vi trên kit thí nghiệm :

 8 LED dán để thực hành điều khiển các GPIO

 8 LED 7 đoạn để thực hành hiển thị thời gian, bộ đếm

Trang 14

 1 buzzer ( còi ) nhỏ để phát âm thanh

 1 đế ( 3 chân rào tròn ) cảm biến nhiệt độ DS18B20

 Chip chuyển đổi ADC TLC549 1kênh giao tiếp nối tiếp

 Chip chuyển đỗi DAC TLC5620 4 kênh giao tiếp nối tiếp

 1 IC so áp TL431

 1 EPPROM AT24C08

 1 IC thời gian thực PCF8563T và thạch anh đồng hồ 32.768kHz

 1 Cổng COM 9 chân và 1 cổng VGA

CHƯƠNG 3: HỆ THỐNG PHẦN MỀM

I Hoạt động của mạch

Hoạt động của mạch khóa cửa điện tử bằng key phím 4×4

Khi cấp điện hệ thống hoạt động, tín hiệu ban đầu cho lcd 16×2 hiển thị trạng thái của cửa hiện tại, lúc này chờ tín hiệu được gửi vào từ key phím 4×4 nhấn nút ok để nhập mật khẩu, nếu nhập mật khẩu đúng thì cửa mở đồng thời hiển thị trạng thái mở cửa trên lcd, ngược lại nếu sai thì lcd hiển thị lỗi và yêu cầu nhập lại mật khẩu Ngoài ra khi nhập đúng mật khẩu và cửa mở sẽ cho phép chuyển chế độ đổi mật khẩu mới

Trang 15

15

II Sơ đồ trạng thái

1 Trạng thái đóng –mở cửa

Trang 16

16

2 Trạng thái đổi mật khẩu

Trang 17

17 3.Trạng thái reset

Trang 18

18

4 Sản phẩm sau khi hoàn thiện

5.Lập trình cho hệ thống

Uncomment the following library declaration if instantiating

Trang 19

I_Status: in STD_LOGIC_VECTOR(3 downto 0);

STD_LOGIC_VECTOR(1 downto 0);

I_DATA:IN STD_LOGIC_VECTOR(7 downto 0);

Q_RS : out STD_LOGIC;

Q_RW : out STD_LOGIC;

Q_En : out STD_LOGIC;

Q_DATA : out STD_LOGIC_VECTOR (7 downto 0)); end LCD;

Trang 20

end if;

end if;

end process;

X1:process(L_CLK_1KHz) VARIABLE V_COUNT:integer:=0;

begin

if falling_edge(L_CLK_1KHz) then

if L_STATE=S1 then

Trang 21

if falling_edge(I_CLK) then

Trang 22

22

case I_STATUS is

when x"0"=>L_DATA_LOAD_1(40

to 55)<=(x"20",x"20",x"20",x"20",x"4F",x"50",x"45",x"4e",x"20

",x"44",x"4f",x"4f",x"52",x"20",x"20",x"20");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

when x"1"=>L_DATA_LOAD_1(40

to 55)<=(x"20",x"20",x"20",x"43",x"4c",x"4f",x"53",x"45",x"20

",x"44",x"4f",x"4f",x"52",x"20",x"20",x"20");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

Trang 23

",x"50",x"41",x"53",x"53",x"20",x"20",x"20");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

Trang 24

24

when x"c"=>L_DATA_LOAD_1(40

to 55)<=(x"20",x"20",x"20",x"20",x"20",x"53",x"55",x"43",x"43

",x"45",x"53",x"53",x"20",x"20",x"20",x"20");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

when x"d"=>L_DATA_LOAD_1(40

to 55)<=(x"20",x"43",x"48",x"41",x"4e",x"47",x"45",x"20",x"50

",x"41",x"53",x"53",x"20",x"20",x"20",x"20");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

when x"e"=>L_DATA_LOAD_1(40

to 55)<=(x"20",x"43",x"48",x"41",x"4e",x"47",x"45",x"20",x"53

",x"55",x"43",x"43",x"45",x"53",x"53",x"20");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

when x"f"=>L_DATA_LOAD_1(40

to 55)<=(x"43",x"48",x"45",x"43",x"4b",x"49",x"4e",x"47",x"20

",x"50",x"41",x"53",x"53",x"2e",x"2e",x"2e");

L_DATA_LOAD_1(0 to 39)<=(others=>x"20");

when others=> null;

end case;

end if;

Ngày đăng: 19/03/2023, 18:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w