Tải bản đầy đủ (.docx) (34 trang)

Thiết kế thang máy di chuyển 4 tầng sử dụng ngôn ngữ mô tả phần cứng VHDL thiết kế hệ thống số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.26 MB, 34 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
TRUNG TÂM ĐÀO TẠO SAU ĐẠI HỌC

~~~~~~o0o~~~~~~

BÀI TẬP TIỂU LUẬN
MÔN HỌC: THIẾT KẾ HỆ THỐNG SỐ

ĐỀ TÀI:

Thiết kế module điều khiển thang máy 4 tầng sử dụng ngôn ngữ mô
tả phần cứng VHDL

HÀ NỘI – 201...
Hà Nội, 10/2020

1


MỤC LỤC
DANH MỤC CÁC HÌNH..................................3
DANH MỤC CÁC BẢNG BIỂU........................................................................4
LỜI CẢM ƠN......................................................................................................5
LỜI GIỚI THIỆU...............................................................................................6
CHƯƠNG 1: TÌM HIỂU VỀ NGƠN NGỮ MƠ TẢ PHẦN CỨNG VHDL. .7
1.1. Lịch sử hình thành....................................................................................7
1.2. Các ưu điểm của VHDL...........................................................................8
CHƯƠNG 2: THIẾT KẾ MẠCH SỐ TRÊN FPGA......................................10
2.1. Tổng quan về kiến trúc FPGA...............................................................10
2.1.1. Khái niệm FPGA..............................................................................10
2.1.2. Ứng dụng của FPGA........................................................................13


2.2. Máy trạng thái.........................................................................................13
2.2.1. Thiết kế theo mơ hình máy Moore....................................................14
2.2.2. Thiết kế theo mơ hình máy Mealy.....................................................14
CHƯƠNG 3: THIẾT KẾ MẠCH ĐIỀU KHIỂN THANG MÁY.................15
3.1.

Mục tiêu thiết kế................................................................................15

3.2.

Giới thiệu KIT điều khiển FPGA Basys 3.......................................15

3.3.

Module sử dụng trong mạch điều khiển..........................................17

3.4. Thiết kế mạch điều khiển.......................................................................20
3.5. Mô phỏng thiết kế...................................................................................24
TÀI LIỆU THAM KHẢO................................................................................29
MỤC LỤC..........................................................................................................30

2


DANH MỤC CÁC HÌNH
Hình

1.1:

Cấu


trúc

của

một

thiết

kế

VHDL……………………………………....8
Hình 2.1: Máy trạng thái Moore…….…………….……………………….……
13
Hình

2.2:

Máy

trạng

thái

Mealy……………….

………………………………..13
Hình

3.1:


Basys

3

FPGA

board..

……………………………………..................15
Hình 3.2: Kết cấu cổng Pmod Basys 3………………………………..…………
16
Hình

3.3:

Module

L298N…….…………………………………………...

…….17
Hình 3.4: Module cảm biến tiệm cận…….…………………………………..
….18
Hình

3.5:



đồ


chân



cấu

tạo

PC817.………………..

……………………….19
Hình 3.6: Sơ đồ khối hệ thống điều khiển thang máy………….
……………….20
Hình

3.7:

Lưu

đồ

thuật

tốn…………..…………………...

…………………….21
Hình 3.8: Quy ước các chân vào/ra trên FPGA………………………..
………..24
Hình


3.9:

Thang

máy

đang



trạng

thái

chờ

tầng

1……………………………..25
Hình 3.10: Thang máy đi từ tầng 1 lên…..………………………………..
…….25
Hình 3.11: Trạng thái thang máy đi lên đến tầng 2………………………..
…….25
3


Hình 3.12: Trạng thái thang máy đi lên đến tầng 3…....................................
…..26
Hình 3.13: Trạng thái thang máy đi lên đến tầng 4…....................................

…..26
Hình 3.14: Trạng thái thang máy đi xuống tầng 3..........................................
…..26
Hình 3.15: Trạng thái thang máy đi xuống tầng 2…......................................
…..27
Hình 3.16: Trạng thái thang máy đi xuống tầng 1………………………………
27

4


DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1: Kết nối chân FPGA ra cống Pmod Basys 3…..…………….....
……..16
Bảng 3.2: Quy ước các chân sử dụng trên FPGA ………………………….…..19

5


LỜI CẢM ƠN
Kính gửi đến thầy TS. XXX (khoa Điện Tử, trường Đại học Công Nghiệp
Hà Nội) lời cảm ơn chân thành sâu sắc. Cảm ơn thầy đã tận tình hướng dẫn, chỉ
dạy em bộ môn “Thiết kế hệ thống số” trong suốt quá trình học và thực hiện bài
tiểu luận này.
Em xin trình bày bài tiểu luận mơn học “Thiết kế hệ thống số” với đề tài
“Thiết kế thang máy di chuyển 4 tầng sử dụng ngôn ngữ mô tả phần cứng
VHDL”. Do còn hạn chế thời gian và kiến thức nên những nghiên cứu, tìm hiểu
vẫn mang tính tổng quan, định tính và có nhiều kiến thức mới nên khơng tránh
khỏi sai sót. Em rất mong được sự góp ý, chỉ bảo của thầy để bài tiểu luận đạt
được kết quả tốt hơn.

Hà Nội, ngày 11 tháng 10 năm 2020
Học viên thực hiện
Nguyễn Anh Tuấn

6


LỜI GIỚI THIỆU
Thiết kế logic số là môn học kế tiếp của chương trình Điện tử số. Nội dung
chính của chương trình mơn học tập trung vào hai vấn đề kiến thức chính. Thứ
nhất là bài tốn thiết kế về mặt chức năng cho các khối số có mật độ tích hợp lớn
cỡ LSI, VLSI và lớn hơn. Vấn đề thứ hai là giới thiệu căn bản về các công nghệ
giúp hiện thực hóa thiết kế chức năng thành sản phẩm ứng dụng, trong đó tập
trung chính vào cơng nghệ FPGA, một nền tảng công nghệ mới đã và đang phát
triển rất mạnh hiện nay. Khác với bài toán tổng hợp và phân tích trong Điện tử
số chủ yếu là bài toán cho các mạch cỡ SSI, MSI, các bài tốn ở đây có hướng
tới các ứng dụng cụ thể thực tiễn với quy mô lớn hơn và buộc phải sử dụng các
công cụ trợ giúp thiết kế trên máy tính và ngơn ngữ thiết kế VHDL Chương
trình Thiết kế logic số nhắm vào trang bị kiến thức cơ sở ngành cho tất cả các
đối tượng sinh viên thuộc chuyên ngành kỹ thuật Điện tử viễn thông, Điều khiển
tự động. Trước khi học môn này các sinh viên này phải học qua các môn cơ sở
ngành gồm Cấu kiện điện tử, Điện tử số, Kỹ thuật Vi xử lý trong đó hai mơn đầu
là bắt buộc. Thiết kế logic số là một mơn học mang tính thực hành cao nên trong
cấu trúc chương trình sẽ dành nhiều thời gian hơn cho thực hành thí nghiệm
cũng như bắt buộc sinh viên khi kết thúc môn học phải thực hiện các đồ án bài
tập thiết kế cỡ vừa và lớn theo nhóm dưới dạng Bài tập lớn hoặc Đồ án môn học.
Kiến thức và kỹ năng của sinh viên sẽ giúp ích rất lớn cho các bài toán chuyên
ngành và Đồ án tốt nghiệp sau này bởi trong các ứng dụng xử lý số đang dần
chiếm vai trò quan trọng trong các hệ thống kỹ thuật. Bên cạnh những công cụ
truyền thống là Vi xử lý, máy tính thì thiết kế phần cứng trên FPGA hoặc trên

nền các công nghệ tương tự đang là một hướng phát triển mang lại hiệu năng
vượt trội và khả năng ứng dụng thích nghi tốt hơn.

7


CHƯƠNG 1: TÌM HIỂU VỀ NGƠN NGỮ MƠ TẢ PHẦN CỨNG
VHDL
1.1. Lịch sử hình thành
Tập trung vào giới thiệu về ngôn ngữ mô tả phần cứng VHDL, đây là một
ngôn ngữ mơ tả phần cứng có tính ứng dụng cao nhƣng cũng có cú pháp khơng
quen thuộc và dễ tiếp cận. Nội dung kiến thức trình bày trong chương này theo
định hướng như một tài liệu tra cứu hơn là bài giảng.
Người học khơng nhất thiết phải theo đúng trình tự kiến thức trình bày mà
có thể tham khảo tất cả các mục một cách độc lập, bên cạnh đó là tra cứu bằng
các tài liệu khác cũng như tài liệu gốc bằng tiếng Anh. Các ví dụ có trong giáo
trình đều cố gắng trình bày là các ví dụ đầy đủ có thể biên dịch và mơ phỏng
được ngay vì vậy khuyến khích người học tích cực thực hành song song với
nghiên cứu lý thuyết.
Kết thúc nội dung của chương này yêu cầu người học phải có kỹ năng sử
dụng VHDL ở cấp độ cơ bản, có khả năng thiết kế các khối số vừa và nhỏ như
Flip-flop, khối chọn kênh, phân kênh, khối cộng, dịch, các khối giải mã… đã
biết trong chương trình Điện tử số, đó cũng là các khối nền tảng cho các thiết kế
lớn hơn và phức tạp hơn ở chương tiếp theo.
1. Giới thiệu về VHDL VHDL viết tắt của VHSIC HDL (Very-high-speedintergrated-circuit Hardware Description Language) hay ngôn ngữ mô tả phần
cứng cho các vi số mạch tích hợp tốc độ cao. Lịch sử phát triển của VHDL trải
qua các mốc chính nhƣ sau:
1981: Phát triển bởi Bộ Quốc phòng Mỹ nhằm tạo ra một cơng cụ thiết kế
phần cứng tiện dụng có khả năng độc lập với công nghệ và giảm thiểu thời gian
cũng như chi phí cho thiết kế

1983-1985: Được phát triển thành một ngơn ngữ chính thống bởi 3 cơng ty
Intermetrics, IBM and TI.
1986: Chuyển giao toàn bộ bản quyền cho Viện Kỹ thuật Điện và Điện tử
(IEEE).
1987: Công bố thành một chuẩn ngôn ngữ IEEE-1076 1987.
1994: Công bố chuẩn VHDL IEEE-1076 1993.
8


2000: Công bố chuẩn VHDL IEEE-1076 2000.
2002: Công bố chuẩn VHDL IEEE-1076
2002 2007: công bố chuẩn ngôn ngữ Giao diện ứng dụng theo thủ tục VHDL
IEEE-1076c
2007 2009: Công bố chuẩn VHDL IEEE-1076
2009 VHDL ra đời trên yêu cầu của bài toán thiết kế phần cứng lúc bấy giờ,
nhờ sử dụng ngôn ngữ này mà thời gian thiết kế của sản phẩm bán dẫn giảm đi
đáng kể, đồng thời với giảm thiểu chi phí cho q trình này do đặc tính độc lập
với công nghệ, với các công cụ mô phỏng và khả năng tái sử dụng các khối đơn
lẻ.
1.2. Các ưu điểm của VHDL
Tính cơng cộng: VHDL là ngơn ngữ được chuẩn hóa chính thức của IEEE do
đó được sự hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp
công cụ thiết kế mô phỏng hệ thống, hầu như tất cả các công cụ thiết kế của các
hãng phần mềm lớn nhỏ đều hỗ trợ biên dịch VHDL. Được hỗ trợ bởi nhiều
công nghệ: VHDL có thể sử dụng mơ tả nhiều loại vi mạch khác nhau trên
những công nghệ khác nhau từ các thư viện rời rạc, CPLD, FPGA, tới thư viện
cổng chuẩn cho thiết kế ASIC.
Tính độc lập với cơng nghệ: VHDL hồn tồn độc lập với cơng nghệ chế tạo
phần cứng. Một mô tả hệ thống chức năng dùng VHDL thiết kế ở mức thanh ghi
truyền tải RTL có thể được tổng hợp thành các mạch trên các công nghệ bán dẫn

khác nhau. Nói một cách khác khi một cơng nghệ phần cứng mới ra đời nó 43 có
thể được áp dụng ngay cho các hệ thống đã thiết kế bằng cách tổng hợp các thiết
kế đó lại trên thư viện phần cứng mới.
Khả năng mô tả mở rộng: VHDL cho phép mô tả hoạt động của phần cứng
từ mức thanh ghi truyền tải (RTL–Register Tranfer Level) cho đến mức cổng
(Netlist). Hiểu một cách khác VHDL có một cấu trúc mơ tả phần cứng chặt chẽ
có thể sử dụng ở lớp mơ tả chức năng cũng như mô tả cổng trên một thư viện
cơng nghệ cụ thể nào đó.
Khả năng trao đổi, tái sử dụng: Việc VHDL được chuẩn hóa giúp cho việc
trao đổi các thiết kế giữa các nhà thiết kế độc lập trở nên hết sức dễ dàng. Bản
thiết kế VHDL được mơ phỏng và kiểm tra có thể được tái sử dụng trong các
thiết kế khác mà không phải lặp lại các quá trình trên. Giống như phần mềm thì
9


các mơ tả HDL cũng có một cộng đồng mã nguồn mở cung cấp, trao đổi miễn
phí các thiết kế chuẩn có thể ứng dụng ở nhiều hệ thống khác nhau.
Cấu trúc của chương trình mơ tả bằng VHDL Cấu trúc tổng thể của một khối
thiết kế VHDL gồm ba phần, phần khai báo thư viện, phần mô tả thực thể và
phần mô tả kiến trúc. Khai báo thư viện LIBRARY declaration Mô tả thực thể
ENTITY Declaration Hành vi Behavioral Luồng dữ liệu DataFlow Cấu trúc
Structure Mô tả kiến trúc ARCHITECTURE Hình 2-1.
Cấu trúc của một thiết kế VHDL.

Hình 1.1: Cấu trúc của một thiết kế VHDL

10


CHƯƠNG 2: THIẾT KẾ MẠCH SỐ TRÊN FPGA

Kiến thức của những chương trước cung cấp kiến thức từ cơ bản tới nâng
cao của các thiết kế số về mặt chức năng bằng HDL. Ở chương này chúng ta sẽ
nghiên cứu về một công nghệ cho phép chuyển các thiết kế logic thành sản
phẩm ứng dụng, đó là cơng nghệ FPGA.
FPGA là công nghệ mang lại sự thay đổi lớn lao trong kỹ thuật điện tử số
hiện đại. Nếu như các IC tích hợp số trước kia được sản xuất bằng cơng nghệ
phức tạp, sở hữu bởi số ít các quốc gia có nền tảng khoa học kỹ thuật phát triển,
khi thiết kế các hệ thống số người thiết kế không có được sự tùy biến linh động
cũng như những giải pháp tối ưu mà phải lệ thuộc vào các phần tử có sẵn.
HDL và FPGA ra đời đã cho phép người thiết kế có khả năng tự thiết kế IC
chức năng theo mục đích sử dụng một cách nhanh chóng dễ dàng, đây cũng
chính là một trong những cơ sở để mơn học thiết kế vi mạch tích hợp được đưa
vào giảng dạy cho đối tượng đại học. Bên cạnh sự tiếp cận trực tiếp và đơn giản
FPGA còn đem lại hiệu quả thiết kế cao và tính ứng dụng thực tiễn cho những
bài toán số được xem rất phức tạp đối với các công nghệ cũ hơn. Sinh viên sẽ
được giới thiệu căn bản về cấu trúc của FPGA và các cách thức làm việc với
FPGA. Song song đó là các bài thực hành giúp sinh viên làm quen và sử dụng
thành thạo các công cụ thiết kế trên FPGA, trên cơ sở đó thực hiện các bài tập
cơ bản và một số hướng nghiên cứu chuyên sâu sử dụng công nghệ FPGA.
2.1. Tổng quan về kiến trúc FPGA
2.1.1. Khái niệm FPGA
FPGA là cơng nghệ vi mạch tích hợp khả trình (PLD - Programmable Logic
Device) trình mới nhất và tiên tiến nhất hiện nay. Thuật ngữ Field
Programmable chỉ quá trình tái cấu trúc IC có thể được thực hiện bởi người
dùng cuối, trong điều kiện thông thường thường, hay nói một cách khác là người
kỹ sư lập trình IC có thể dễ dàng hiện thực hóa thiết kế của mình sử dụng FPGA
mà khơng lệ thuộc vào một quy trình sản xuất hay cấu trúc phần cứng phức tạp
11



nào trong nhà máy bán dẫn. Đây chính là một trong những đặc điểm làm FPGA
trở thành một công nghệ IC khả trình được nghiên và cứu phát triển nhiều nhất
hiện nay. Để có được khả năng đó, FPGA ra đời hồn tồn là một cơng nghệ mới
chứ khơng phải là một dạng mở rộng của các chip khả trình kiểu như PAL,
PLA... Sự khác biệt đó thứ nhất nằm ở cơ chế tái cấu trúc FPGA, tồn bộ cấu
hình của FPGA thường được lưu trong một bộ nhớ truy cập ngẫu nhiên (thơng
thường SRAM), q trình tái cấu trúc được thực hiện bằng cách đọc thông tin từ
RAM để lập trình lại các kết nối và chức năng logic trong IC. Có thể so sánh cơ
chế đó làm việc giống như phần mềm máy tính cũng được lưu trữ trong RAM và
khi thực thi sẽ được nạp lần lượt vi xử lý, nói cách khác việc lập trình lại cho
FPGA cũng dễ dàng như lập trình lại phần mềm trên máy tính. Như vậy về mặt
ngun tắc thì q trình khởi động của FPGA khơng diễn ra tức thì mà cấu hình
từ SRAM phải được đọc trước sau đó mới diễn ra quá trình tái cấu trúc theo nội
dung thông tin chứa trong SRAM. Dữ liệu chứa trong bộ nhớ RAM phụ thuộc
vào nguồn cấp, chính vì vậy để lưu giữ cấu hình cho FPGA thường phải dùng
thêm một ROM ngoại vi. Đến những dòng sản phẩm FPGA gần đây thì FPGA
được thiết kế để có thể giao tiếp với rất nhiều dạng ROM khác nhau hoặc FPGA
thường được thiết kế kèm CPLD để nạp những thành phần cố định, việc tích hợp
này làm FPGA nạp cấu hình nhanh hơn nhưng cơ chế nạp và lưu trữ cấu hình
vẫn khơng thay đổi. Ngồi khả năng đó điểm thứ hai làm FPGA khác biệt với
các PLD thế hệ trước là FPGA có khả năng tích hợp logic với mật độ cao với số
cổng logic tương đương lên tới hàng trăm nghìn, hàng triệu cổng. Khả năng đó
có được nhờ sự đột phá trong kiến trúc của FPGA. Nếu hướng mở rộng của
CPLD tích hợp nhiều mảng PAL, PLA lên một chip đơn, trong khi bản thân các
mảng này có kích thước lớn và cấu trúc không đơn giản nên số lượng mảng tích
hợp nhanh chóng bị hạn chế, dung lượng của CPLD nhiều nhất cũng chỉ đạt
được con số trăm nghìn cổng tương đương.
Đối với FPGA thì phần tử logic cơ bản khơng cịn là mảng PAL, PLA mà
thường là các khối logic lập trình được cho 4-6 bit đầu vào và 1 đầu ra (thường
được gọi là LUT). Việc chia nhỏ đơn vị logic cho phép tạo một cấu trúc khả

12


trình linh hoạt hơn và tích hợp được nhiều hơn số lượng cổng logic trên một
khối bán dẫn. Bên cạnh đó hiệu quả làm việc và tốc độ làm việc của FPGA cũng
vượt trội so với các IC khả trình trước đó. Vì có mật độ tích hợp lớn và tốc độ
làm việc cao nên FPGA có thể được ứng dụng cho lớp những bài toán xử lý số
phức tạp địi hỏi hiệu suất làm việc lớn mà các cơng nghệ trước đó khơng đáp
ứng được.
Thiết kế trên FPGA thường được thực hiện bởi các ngôn ngữ HDL và hầu
hết các dòng FPGA hiện tại hỗ trợ thiết kế theo hai ngơn ngữ chính là Verilog và
VHDL, tất cả những thiết kế ở những chương trước đều có thể hiện thực hóa
trên FPGA bằng một quy trình đơn giản. Ngồi HDL, thiết kế trên FPGA cịn có
thể được thực hiện thông qua hệ nhúng nghĩa là bằng ngôn ngữ phần mềm
(thường là C/C++). Một phương pháp nữa thường dùng trong các bài tốn xử lý
số tín hiệu là sử dụng System Generator một chương trình kết hợp của Matlab
với phần mềm thiết kế FPGA của Xilinx.
Hiện nay công nghệ FPGA đang được phát triển rộng rãi bởi nhiều công ty
bán dẫn khác nhau. Dẫn đầu là Xilinx với các dòng sản phẩm như Virtex 3, 4, 5,
6 và Spartan3, 6, Altera với Stratix, Cyclone, Arria, Bên cạnh đó cịn có sản
phẩm của Lattice Semiconductor Company, Actel, Achronix, Blue Silicon
Technology… Khái niệm FPGA board, hay FPGA KIT là khái niệm chỉ một bo
mạch in trên đó có gắn chíp FPGA và các phần tử khác như cổng giao tiếp, màn
hình, led, nút bấm… và bao giờ cũng có phần giao tiếp với máy tính để nạp cấu
hình cho FPGA. Ngồi ra board còn chứa các thiết bị ngoại vi được liên kết với
các cổng vào ra của FPGA nhằm mục đích thử nghiệm. Khả năng tích hợp của
FPGA là rất lớn, những FPGA mới nhất hiện nay có khả năng tích hợp lớn tương
đương như các chíp chuyên dụng cho máy chủ như Xenon 6-core. Còn bản thân
các chip cỡ nhỏ như Pentium hay thậm chí Core duo nếu so sánh về mức độ tích
hợp thì chúng có thể được nạp hồn tồn vào một FPGA cỡ trung bình. Khả

năng này của FPGA mở ra một hướng mới cho ứng dụng FPGA đó là sử dụng
FPGA như một phương tiện để kiểm tra thiết kế ASIC (ASIC prototyping with
FPGA). Kế thừa của phương pháp này là cơng nghệ có tên gọi - Hard-copy là
13


cơng nghệ cho phép sao chép tồn bộ các thiết kế đã được nạp vào FPGA thành
một IC chuyên dụng (ASIC) độc lập. Tính tối ưu của thiết kế này khơng cao
nhưng đơn giản và giảm đáng kể chi phí nếu so sánh với thiết kế ASIC chuẩn.
2.1.2. Ứng dụng của FPGA
Trong xử lý tín hiệu số, do khả năng tái cấu trúc đơn giản và sở hữu một
khối tài nguyên logic lớn FPGA có thể được ứng dụng cho nhiều các lớp bài
tốn xử lý tín hiệu số cỡ lớn mà các cơng nghệ trước đó khơng làm được hoặc
làm được nhưng với tốc độ và hiệu suất thấp.
Các lớp ứng dụng đó là:
- Các ứng dụng chung về xử lý số như: lọc tín hiệu, tìm kiếm, phân tích, giải
mã, điều chế tín hiệu, trộn tín hiệu…
- Các ứng dụng về mã hóa, giải mã giọng nói, nhận dạng giọng nói, tổng hợp
giọng nói. Xử lý tín hiệu âm thanh bao gồm lọc nhiễu , trộn, mã hóa, giải mã,
nén, tổng hợp âm thanh…
- Ứng dụng trong xử lý ảnh số, nén và giải nén, các thao tác biến đổi, chỉnh
sửa, nhận dạng ảnh số…
- Ứng dụng trong các hệ thống bảo mật thông tin, cung cấp các khối giải mã
và mã hóa có thể thực thi với tốc độ rất cao và dễ dàng tham số hóa hoặc điều
chỉnh.
- Ứng dụng trong các hệ thống thông tin như các hệ thống Voice IP, Voice
mail. Modem, điện thoại di động, mã hóa và giải mã truyền thơng trong mạng
LAN, WIFI… trong truyền hình KTS, radio KTS…
- Ứng dụng trong điều khiển các thiết bị điện tử: ổ cứng, máy in, máy công
nghiệp , dẫn đường, định vị, robots. Các sản phẩm ứng dụng FPGA hiện tại vẫn

nằm ở con số khiêm tốn nếu so sánh với các giải pháp truyền thống tuy vậy với
các thế mạnh kể trên FPGA chắc chắn sẽ là một công nghệ quan trọng của tương
lai. Một số những kiến trúc thích nghi Vi xử lý – FPGA với nền tảng chíp vi xử
lý và FPGA được đặt trong một chip đơn mang lại hiệu quả xử lý mạnh mẽ do
kết hợp được tính linh động của phần mềm và hiệu suất, tốc độ của phần cứng
đang là những hướng nghiên cứu mới và có thể tạo nên sự thay đổi lớn với các
thiết kế số truyền thống.
2.2. Máy trạng thái
Một thiết kế mạch số có thể được chia làm 2 thành phần: bộ xử lý dữ liệu và
14


bộ điều khiển. Mối quan hệ giữa bộ điều khiển và bộ xử lý dữ liệu trong mạch
được biểu diễn
Máy trạng thái hữu hạn (FSM) là một công nghệ mô hình hố đặc biệt cho
các mạch logic tuần tự. Mơ hình đó có thể rất được giúp đỡ trong thiết kế của
những loại hệ thống nào đó, đặc biệt là các thao tác của những hệ thống đó theo
khn dạng tuần tự hồn tồn xác định.
2.2.1. Thiết kế theo mơ hình máy Moore
Máy trạng thái moore là máy trạng thái mà dữ liệu ngõ ra được quyết định
bởi trạng thái hiện tại.

Hình 2.1: Máy trạng thái Moore
2.2.2. Thiết kế theo mơ hình máy Mealy

Hình 2.2: Máy trạng thái Mealy

15



CHƯƠNG 3: THIẾT KẾ MẠCH ĐIỀU KHIỂN THANG MÁY
3.1.

Mục tiêu thiết kế

Mơ hình thang máy được khảo sát là thang máy dân dụng dùng để chở
người lên xuống giữa các tầng trong tòa nhà. Nguyên lý hoạt động sẽ ưu tiên
theo hành trình và theo yêu cầu gọi thang gần nhất.
Mơ hình hệ thống thang máy bao gồm 4 tầng. Mỗi tầng bao gồm nút bấm
gọi thang lên, xuống và led hiển thị tầng hiện tại của buồng thang.
Buồng thang được kéo bởi hệ thống truyền động bao gồm động co DC 9V
thơng qua hệ thống dây đai, puly có rãnh và đối trọng.
3.2.

Giới thiệu KIT điều khiển FPGA Basys 3

♦♦♦ Tổng quan
Bo mạch Basys 3 là một nền tảng phát triển mạch số hoàn chỉnh sử dụng
chip họ Artix-7 Field Programmable Gate Array (FPGA) của Xilinx cụ thể là
chip XC7A35T-1CPG236C với hiệu suất cao với chi phí tổng thể thấp.
Kết hợp với cổng giao tiếp USB, VGA và các cổng khác, Basys 3 có thể lưu
trữ các thiết kế từ mạch tổ họp cho đến mạch tuần tự phức tạp như bộ xử lý hay
bộ điều khiển phức tạp. KIT bao gồm đầy đủ công tắc gạt, nút bấm, led và thiết
bị kết nối vào ra cho phép hoàn thành thiết kế lớn mà không cần dùng bất cứ
phần cứng bố sung nào.
Với chip Artix 7 FPGA được tối ưu hóa với hiệu suất cao hon, cung cấp
nhiều dung lượng bộ nhớ hơn, nhiều tài nguyên hơn thiết kế trước đó, Basys 3
cịn được cải tiến về cống kết nối và thiết bị ngoại vi như:
- 16 công tắc gạt, 16 led đơn, 5 nút nhấn nhả, 4 led 7 thanh
- 3 cổng Pmod điều khiển bằng tín hiệu số, 1 cổng Pmod cho tín hiệu XADC

- 12 bit VGA output, USB - ƯART Bridge, Serial Flash
- USB HID để giao tiếp với chuột và bàn phím
- Cổng USB - JTAG để giao tiếp và nạp code vào KIT
16


Basys 3 có thể làm việc với phần mềm Vivado™ Design Suite với hiệu suất
cao của hãng Xilinx. Vivado bao gồm nhiều công cụ mới và các luồng thiết kế
tạo điều kiện và nâng cao các phuong pháp thiết kế mới nhất. Nó chạy nhanh
hon, cho phép sử dụng tối ưu tài nguyên cùa FPGA giúp nhà thiết kế tập trung
thời gian của họ vào việc đánh giá các phưong án thiết kế.

Hình 3.1: Basys 3 FPGA board
♦♦♦ Nguồn cấp
Basys 3 có thể nhận nguồn từ cổng Digilent USB - JTAG hoặc nguồn cấp
5V ngồi. Jumper JP2 gần cơng tắc nguồn sẽ quyết định đâu là nguồn sẽ sử
dụng. Tất cả nguồn cấp cho KIT được bật hay tắt thông qua công tắc gạt sw 16.
Khi bật nguồn cho KIT LED nguồn LD20 sẽ sáng.
♦♦♦ Cổng Pmod
Các cổng Pmod được sắp xếp bên phải và bên trái của KIT kích thước 2x6
với các đầu nối cái có khoảng cách tiêu chuẩn là 100 mil giữa các chân. Mỗi

17


cổng Pmod gồm 12 chân cung cấp tín hiệu nguồn vcc
3V3 (chân 6 và chân 12), tín hiệu GND (chân 5 và chân
11) và 8 tín hiệu logic nhu hình 3.2.

Hình 3.2: Kết cấu cổng Pmod Basys 3

Chân nguồn vcc và GND có thể cung dịng điện lên tới 1A. Việc gán chân
của các cổng Pmod đuợc kết nối với FPGA theo hình 3.3

Bảng 3.1: Kết nối chân FPGA ra cống Pmod Basys 3
Pmod JA

Pmod JB

Pmod JC

Pmod XD AC

JA1: J1

JB1: A14

JC1: K17

JXADC1: J3

JA2: L2

JB2: A16

JC2: MI 8

JXADC2: L3

JA3: J2


JB3: B15

JC3: N17

JXADC3: M2

JA4: G2

JB4: B16

JC4: P18

JXADC4: N2

JA7: HI

JB7: A15

JC7: L17

JXADC7: K3

JA8: K2

JB8: A17

JC8: M19

JXADC8: M3


JA9: H2

JB9: C15

JC9: P17

JXADC9: MI

JA10: G3

JB10: C16

JC1O: R18

JXADC1O:N1

3.3.

Module sử dụng trong mạch điều khiển

3.3.1. Module L298N điều khiển động cơ

18


Hình 3.3: Module L298N

Output A
5V Enable


+12V Power
Power GND
+5V Power
A Enable
Input
B Enable

IC L298N tích họp hai mạch cầu H dịng điện lên tới 2A cho mỗi mạch cầu.
Điện áp cấp cho module là 5V ~ 12V, điện áp tín hiệu điều khiển là 5V ~ 7V và
dịng của tín hiệu điều khiển là 0 ~ 36 mA. Cơng suất hao phí 20W khi nhiệt độ
75°C. Nhiệt độ bảo quản -25°C ~ +130°C.
❖ Module L298N gồm các chân:
- Header cấp nguồn cho module +12V Power Input, Power GND.
- Header cho nguồn ra +5 V.
- 2 Jump A enable, B enable để cho phép mạch cầu A và B hoạt động
- Jump 5V enable để tạo nguồn 5V cho header +5V Power.
- Tín hiệu điều khiển INI, IN2 để khiển động cơ kênh A (Output A).
- IN3, IN4 điều khiển động cơ kênh B (Output B).
3.3.2. Module cảm biến tiệm cận

19


Hình 3.4: Module cảm biến tiệm cận
Cảm biến có khả năng thích nghi với mồi trường gồm 1 cặp truyền và nhận
tia hồng ngoại. Tia hồng ngoại phát ra một tần số nhất định, khi phát hiện hướng
truyền có vật cản (mặt phản xạ), phản xạ vào đèn thu hồng ngoại, sau khi so
sánh điện áp, đèn báo hiệu vật cản sẽ sáng lên, đồng thời tín hiệu số đầu ra sẽ là
một tín hiệu bậc thấp.
Sử dụng bộ so sánh LM393 làm việc ổn định, điện áp làm việc 3V3 ~ 5V,

dòng điện >=20mA, nhiệt độ hoạt động -10°C ~ +50°C, khoảng cách có thể phát
hiện 2 ~ 40 cm, khoảng cách làm việc hiệu quả 2 ~ 5 cm, góc phát hiện vật cản
35°. Độ nhạy của cảm biến được điều chỉnh bằng biến trở.
Module gồm 3 chân giao tiếp: vcc, GND và OUT, khi phát hiện vật cản
chân OUT sẽ ở mức điện áp thấp, nếu không chân OUT sẽ ở mức cao.
3.3.3. Cách ly quang Opto PC817
Opto PC817/EL817 là một linh kiện bán dẫn cấu tạo gồm 1 bộ phát quang
và một cảm biến quang tích họp trong một khối bán dẫn. Bộ phát quang là một
diode phát quang dùng để phát ra ánh sáng kích cho các cảm biến quang dẫn,
còn cảm biến quang là photo transistor.
Opto PC817/EL817 dùng để cách ly giữa các khối chênh lệnh nhau điện áp
hay cơng suất như khối có cơng suất nhỏ với khối điện áp lớn.
Opto có thể dùng để chống nhiễu cho mạch cầu H, ngõ ra PLC và các thiết
bị đo lường.
Nguyên lý hoạt động: Khi có dịng điện nhỏ đi qua 2 đầu của led có trong
opto làm cho led phát sáng, Khi led phát sáng làm thông 2 cực photo transistor,
20


mở cho dòng điện chạy qua.
Ứng dụng: được sử dụng nhiều trong cơng nghiệp cụ thể là bộ chuyển đổi
tín hiệu giữa các thiết bị pitot có điện áp cao (công tắc giới hạn) và các mạch
logic điện áp thấp. Các bộ cách ly quang học có thể được sử dụng trong bất kỳ
trường họp mà tín hiệu cần truyền qua giữa hai mạch được cách ly với nhau. Sự
cách ly điện giữa hai mạch (tức là hai mạch không có dây dẫn chung) cần phải
có một thiết bị đế ngăn chặn nhiễu được tạo ra trong quá trình truyền từ mạch
này tới mạch kia. Điều này rất cần thiết cho việc ghép nối giữa các mạch thu
thập thông tin điện áp cao và các mạch logic điện áp thấp. Vì các mạch thơng tin
hầu như sẽ phải tiếp xúc với các nguồn nhiễu và các mạch logic không thể chịu
được các tín hiệu nhiễu này.

Các opto hoạt động tốt trên các tín hiệu điện áp cao AC, DC. Do đó bộ
chuyển đổi tín hiệu sử dụng ghép nối quang học đơi khi cịn được gọi là bộ
chuyển đổi tín hiệu chung.
Hình 3.5: Sơ PC817
đồ chân và cấu tạo PC817
Internal connection diagram
2.54 ±0.25

(J) Anode
0 Cathode
(3) Emitter
© Collector

3.4. Thiết kế mạch điều khiển
3.4.1. Sơ đồ khối

21


Hình 3.6: Sơ đồ khối hệ thống điều khiển thang máy
♦♦♦ Chức năng nhiệm vụ của các khối:
- Khối nút nhấn: cung cấp dữ liệu vị trí tầng thang khách yêu về khối xử lý
trung tâm.
- Khối cảm biến: cung cấp vị trí tầng thang hiện tại của buồng thang, tín
hiệu báo cháy, tín hiệu quá tải về khối xử lý trung tâm.
- Khối hiển thị: hiển thị vị trí hiện tại của buồng thang.
- Khối điều khiển động cơ: động cơ 1 chiều truyền động nâng hạ buồng
thang di chuyến lên xuống.
- Khối cảnh báo: chuông cảnh báo sẽ kêu lên khi có tín hiệu báo cháy hoặc
tín hiệu quá tải.

- Khối điều khiển trung tâm: nhận và xử lý dữ liệu của các khối cung cấp.
Điều khiển trạng thái hoạt động của thang máy sao cho tối uu nhất theo
hành trình của thang máy.
- Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống.

22


3.4.2. Lưu đồ thuật toán

Sau khi bắt đầu, hệ thống sẽ khởi tạo các tín hiệu điều khiển vào ra, giá trị
của tín hiệu, biến. Khởi tạo xong, hệ thống mặc định ở chế độ chờ tín hiệu gọi
thang máy và lúc đó thang máy dừng.
Khi có tín hiệu gọi tầng lên, hệ thống điều khiến sẽ nâng thang máy lên, khi
đến đúng tầng đuọc gọi thang máy sẽ dừng lại và sau đó quay lại kiểm tra tín
hiệu gọi tầng lên. Neu khơng có tín hiệu gọi tầng lên, thang máy sẽ chuyến sang
chế độ chờ.
Tuơng tự đối với tín hiệu gọi tầng xuống, khi có tín hiệu gọi tầng xuống
thang máy sẽ dư c hạ cho đến khi chạm cảm biến tại tầng cần đến và dừng lại.
Nếu khơng có tín hiệu gọi xuống, hệ thống sẽ quay trở về chế độ chờ và chờ tín
hiệu gọi tầng tiếp theo.
23


3.4.3. Tín hiệu vào ra cho mạch điều khiển
♦♦♦ Tín hiệu ngõ vào
- Nút nhấn lên xuống tại mỗi tầng.
- Cảm biến đặt tại mỗi tầng đế xác định điếm dừng của thang máy..
- Tín hiệu đóng cửa buồng thang của thang máy.
- Tín hiệu cảnh báo quá tải buồng thang

- Tín hiệu báo cháy.
- Tín hiệu reset hệ thống.
❖ Tín hiệu ngõ ra
- Tín hiệu điều khiển động cơ lên xuống.
- Tín hiệu điều khiển hiển thị led tại mỗi tầng của thang máy.
Tín hiệu cảnh báo khi buồng thang quá tải và khi có
3.4.4. Nguyên lý hoạt động của hệ thống thang máy
- Dù buồng thang ở bất kỳ tầng nào, khi cấp nguồn cho hệ thống buồng
thang sẽ trở về tầng 1.
- Khối hệ thống nút nhấn, cảm biến, báo cháy, quá tải có nhiệm vụ thu nhận
các tín hiệu u cầu vận hành, tín hiệu thơng báo vê hành trình của buồng thang
và trạng thái hoạt động của thang máy đưa về khối điều khiến trung tâm.
Nhửnng tín hiệu này được cập nhật liên tục, giúp cho việc điều khiến các hoạt
động được linh hoạt, mềm dẻo và chính xác.
- Khi có tín hiệu gọi tầng từ nút nhấn tại các tầng, dữ liệu của tín hiệu gọi
tang sẽ được lưu trữ tại khối điều khiển trung tâm. Dựa vào hành trình lên xuống
của buồng thang, khối điều khiến sẽ tính tốn trạng thái tiếp theo của buồng
24


thang sẽ đến sao cho chặng đường đi là tối ưu nhất.
- Buồn thang sẽ xác định vị trí hiện tại của chúng dựa vào cảm biến đặt tại
mồi tầng và đưa tín hiệu đó về khối điều khiển trung tâm. Khi đến được tầng do
khối điều khiển chỉ định, buồng thang sẽ dừng ngay tại tầng đó đồng thời sẽ xóa
tín hiệu gọi tầng của tầng đang dừng được lưu trữ tại khối điều khiển trung tâm.
- Buồng thang chỉ lên xuống khi có tín hiệu đóng cửa và buồng thang
khơng bị q tải.
- Khi có tín hiệu buồng thang quá tải, hệ thống sè phát ra âm thanh báo quá
tải và buồng thang sẽ không di chuyển cho đến khi hết tín hiệu q tải buồn
thang.

- Khi có tín hiệu báo cháy, hành trình của của buồng thang sẽ là đi xuống,
trong hành trình đó, bất kỳ tầng nào có tín hiệu gọi thang máy, buồng thang sẽ
dừng lại và đón khách đưa xuống tầng 1.
- Thang máy 4 tầng (sử dụng phần lý thuyết mạch máy trạng thái) Khi đang
ở tầng 1 (Led hiển thị 1111) Khi bắt đầu khởi động nhấn nút đi lên (T1=1) Khi
có tín hiệu xung clock (clk-U18)- di chuyển lên/xuống giữa các tầng bắt đầu
thay đổi trạng thái thang máy từ tầng 1 (1111) lên tầng 2 (2222) lên tầng 3
(3333) lên tầng 4 (4444) sau khi lên tầng 4 nếu tiếp tục ấn thì sẽ khơng lên được
tầng khác. Khi có tín hiệu đi xuống (R2=1) Khi có tín hiệu xung clock (clk-U18)
thì thang máy bắt đầu thay đổi trạng thái từ tầng 4 (4444) xuống tầng 3 (3333)
xuống tầng 2 (2222) xuống tầng 1 (1111) Khi có tín hiệu reset thì về tầng 1 . Các
chân linh kiện: V17: chân reset, reset về trạng thái ban đầu U18: chân clock
(clk) tín hiệu =1 thì thay đổi trạng thái tiếp theo T1: thang máy đi lên (Up) R2:
thang máy đi xuống (Down) Led 7 thanh trong sơ đồ (xung clock-clk led 7 thanh
là chân W5 trong sơ đồ Led7 thanh)
3.5. Mô phỏng thiết kế
3.5.1. Quy ước các kết nối vào/ra trên FPGA

25


×