Tải bản đầy đủ (.doc) (23 trang)

Mô phỏng bài toán thang máy 6 tầng

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 (1.32 MB, 23 trang )

Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
====o0o====

BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI:

MÔ PHỎNG BÀI TOÁN THANG MÁY 6 TẦNG
GVHD : TS Nguyễn Hoàng Dũng

Hà Nội - 11/2015

2015


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

A. LỜI NÓI ĐẦU

1

2015


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

B. NỘI DUNG



Chương I: Tổng quan về FPGA và Verilog HDL
1.1. Tổng quan về FPGA.
1.1.1

Một vài nét về FPGA

Ngày nay, khi nhắc đến công nghệ FPGA chúng ta thường nghĩ đến các con Chip có thể
tái lập trình được. Các bạn khi tìm hiểu về FPGA qua internet thường bị lạc do có quá nhiều
thông tin và không biết bắt đầu từ đâu. Bài viết này mình sẽ giới thiệu một vài nét cơ bản về
công nghệ FPGA, để các bạn chưa biết gì có một cái nhìn tổng quan về nó. Nếu bạn là sinh
viên năm 3 hoặc trước giờ chỉ làm việc với lập trình trên Vi điều khiển và bây giờ muốn làm
quen với FPGA thì nên đọc bài viết này. Đầu tiên chúng ta cần hiểu rõ cái tên của nó.
Field Programmable Gate Array (FPGA)
Field Programmable Gate Arrays là một chip logic số có thể lập trình được, tức là bạn có
thể sử dụng chúng để lập trình cho hầu hết các chức năng của bất kỳ một thiết kế số nào. Đã có
nhiều tài liệu trên website nói nhiều về FPGA nhưng ở đây mình muốn các bạn chú ý đến cái
tên của nó. Mình thấy trên các website người ta dich chữ FIELD là dạng trường. Nhưng ở đây
không phải như vậy. FIELD nghĩa là nơi sử dụng con chip. Field Programmable nghĩa là có thể
lập trình được tại nơi của người sử dụng khác với một số chip là phải lập trình tại nơi sản xuất.
FPGA được tạo thành từ một mảng (matrix hay array) các phần tử khả trình nên được gọi là
Programmable Gate Array.
Bộ nhớ tĩnh đầu tiên dựa trên FPGA (thường được gọi là SRAM trên nền FPGA) được đề
xuất bởi Wahlstrom vào năm 1967. Sau đó bản thương mại của FPGA được Xilinx giới thiệu
vào năm 1984. Lúc này nó gồm có một mảng của các khối logic có thể tái cấu hình –
Configurable Logic Blocks (CLBs) và các đầu vào ra – I/O (input/output). Chip FPGA đầu tiên
chứa 64 CLBs và 58 I/Os. Ngày nay, FPGA có thể chứa khoảng 330,000 CLBs và khoảng 1100
I/Os. Phần lớn các sản phẩm FPGA trên thị trường hiện nay đều dựa trên công nghệ SRAM với
2



Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

2 hãng sản xuất lớn nhất là Xilinx và Altera. Ngoài ra còn có các hãng khác sản xuất FPGA
nhưng với mục đích chuyên dụng (Atmel, Actel, Lattice, SiliconBlue,..).
Kiến trúc cơ bản của FPGA bao gồm 3 thành phần chính: khối logic có thể tái cấu hình,
Configurable Logic Blocks (CLBs) thực hiện các chức năng logic; các kết nối bên trong,
Porgrammable Interconnect có thể lập trình để kết nối các đầu vào và đầu ra của các CLB và
các khối I/O bên trong; các khối I/O cung cấp giao tiếp giữa các ngoại vi và các được tín hiêu
bên trong.
Dưới đây là một chip FPGA điển hình và từng khối của nó.

Hình 1:Cấu trúc cơ bản của FPGA
1. Khối logic có thể tái cấu hình.
Mục đích của việc lập trình khối logic trong FPGA là để cung cấp các tính toán và các
phần tử nhớ cơ bản được sử dụng trong hệ thống số. Một phần tử logic cơ bản gồm một mạch
tổ hợp có thể lập trình, một Flip-Flop hoặc một chốt (latch). Ngoài khối logic cơ bản đó, nhiều
3


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

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 đó.

2. Kết nối có thể lập trình.
Các liên kết trong một FPGA 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ế. Bao gồm các bộ ghép kênh, các transistor và cổng đệm ba trạng thái. Nhìn
chung, các transistor và bộ ghép kênh được dùng trong một cụm logic để kết nối các phần tử
logic lại với nhau, trong khi đó cả ba đều được dùng cho các cấu trúc định tuyến bên trong
FPGA. Một số FPGA cung cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung
cấp ít kết nối hơn nên định tuyến phức tạp hơn.
3. Khối I/O khả trình.
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ợ.
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 đó.

4


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

Hình 2: Khối I/O khả trình

1.1.2

Ứng dụng của FPGA


Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ,
quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều khiển trực quan,
phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình phần cứng máy tính … Do
tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp những bài toán phức
tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài ra nhờ mật độ cổng logic lớn
FPGA được ứng dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và dùng trong các hệ
thống làm việc theo thời gian thực.

5


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

1.1.3

2015

Ý nghĩa,vai trò của FPGA

Trước đây, khi muốn chế tạo ra một con chip “vi xử lý”, người ta phải thiết kế chip ở
mức logic sử dụng các ngôn ngữ mô tả phần cứng, để kiểm tra công đoạn này cần phải sử dụng
những phần mềm mô phỏng. Sau đó thiết kế phải được tổng hợp dựa trên các thư viện cấp thấp
của hãng sản xuất con Chip sau này, sau đó là quá trình kiểm tra timing (định thời) cho toàn bộ
thiết kế để đảm bảo thiết kế đó sẽ hoạt động ở tần số yêu cầu. Tất cả các công đoạn này đều chỉ
có thể kiểm tra bằng các phần mềm mô phỏng (Điều này dẫn tới nguy cơ xảy ra sai sót rất lớn
khi chuyển thiết kế sang môi trường Chip thực).
Quy trình tiếp theo là gửi thiết kế của mình tới công ty sản xuất Chip và phó mặc cho số
phận, một chip mẫu giá vài triệu đô la sẽ được chuyển trả về, sau đó là bắt đầu quá trình test
chip trong môi trường thực, nếu thất bại, khả năng lớn là chúng ta sẽ phải thực hiện lại hoàn
toàn qui trình thiết kế như đã nói ở trên, và cứ mỗi lần như vậy, phải thanh toán vài triệu đô la

cộng với khỏang thời gian nghiên cứu rất lớn. Quy trình này làm cho các đất nước nghèo như
Việt Nam không thể tham gia vào các cuộc chơi của các đất nước giàu có trong thế giới của
ASIC.
Nhưng với FPGA,chúng ta không những có thể rút ngắn thời gian thực hiện ASIC mà còn
giảm chi phí nghiên cứu tối đa do quá trình kiểm tra thiết kế không các Chip thực trong mội
trường có thể nói là gần với môi trường ASIC thực nhất. Khả năng tái cấu hình cho phép sửa
bản thiết kế cho đến khi đạt yêu cầu mà không phải trả khoản chi phí nào ngoài tiền điện tiêu
thụ

1.2
1.2.1

Ngôn ngữ mô tả phần cứng Verilog HDL
Quá trình phát triển

Verilog được ra đời vào đầu năm 1984 bởi Gateway Design Automation. Khởi đầu, ngôn
ngữ đầu tiên được dùng như là một công cụ mô phỏng và kiểm tra. Sau thời gian đầu ngôn ngữ
này được chấp nhận bởi ngành công nghiệp điện tử, một công cụ mô phỏng, một công cụ phân
tích thời gian, và sau này vào năm 1987, công cụ tổng hợp đã được xây dựng và phát triển dựa
vào ngôn ngữ này. Gateway Design Automation và những công cụ dựa trên Verilog của hãng sau
này được mua bởi Cadence Design System. Từ sau đó, Cadence đóng vai trò hết sức quan trọng
6


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

trong việc phát triển cũng như phổ biến ngôn ngữ mô tả phần cứng Verilog.
Vào năm 1987, VHDL trở thành một chuẩn ngôn ngữ mô tả phần cứng của IEEE. Bởi do sự hỗ

trợ của Bộ quốc phòng (DoD), VHDL được sử dụng nhiều trong những dự án lớn của chính phủ
Mỹ. Trong nỗ lực phổ biến Verilog, vào năm 1990, OVI ( Open Verilog International) được
thành lập và Verilog chiếm ưu thế trong lĩnh vực công nghiệp. Điều này đã tạo ra một sự quan
tâm khá lớn từ người dùng và các nhà cung cấp EDA tới Verilog.
Vào năm 1993, những nỗ lực nhằm chuẩn hóa ngôn ngữ Verilog được bắt đầu. Verilog trở
thành chuẩn IEEE, IEEE Std 1364-1995, vào năm 1995. Với những công cụ mô phỏng, công cụ
tổng hợp, công cụ phân tích thời gian, và những công cụ thiết kế dựa trên Verilog đã có sẵn,
chuẩn Verilog IEEE này nhanh chóng được chấp nhận sâu rộng trong cộng đồng thiết kế điện tử.
Một phiên bản mới của Verilog được chấp nhận bởi IEEE vào năm 2001. Phiên bản mới này
được xem như chuẩn Verilog-2001 và được dùng bởi hầu hết người sử dụng và người phát triển
công cụ. Những đặc điểm mới trong phiên bản mới ñó là nó cho phép bên ngoài có khả năng đọc
và ghi dữ liệu, quản lí thư viện, xây dựng cấu hình thiết kế, hỗ trợ những cấu trúc có mức độ trừu
tượng cao hơn, những cấu trúc mô tả sự lặp lại, cũng
như thêm một số đặc tính vào phiên bản này. Quá trình cải tiến chuẩn này vẫn đang được tiếp tục
với sự tài trợ của IEEE.

1.2.2

Ngôn ngữ verilog HDL

Ngôn ngữ Verilog HDL đáp ứng tất cả những yêu cầu cho việc thiết kế và tổng hợp những
hệ thống số. Ngôn ngữ này hỗ trợ việc mô tả cấu trúc phân cấp của phần cứng từ mức độ hệ
thống đến mức cổng hoặc đến cả mức công tắc chuyển mạch. Verilog cũng hỗ trợ mạnh tất cả
các mức độ mô tả việc định thời và phát hiện lỗi. Việc định thời và đồng bộ mà được đòi hỏi bởi
phần cứng sẽ được chú trọng một cách đặc biệt.
Trong Verilog, một linh kiện phần cứng được mô tả bởi một cấu trúc ngôn ngữ “khai báo
module”. Sự mô tả một module sẽ mô tả danh sách những ngõ vào và ngõ ra của linh kiện cũng
như những thanh ghi và hệ thống bus bên trong linh kiện. Bên trong một module, những phép
gán đồng thời, gọi sử dụng linh kiện và những khối quy trình có thể được dùng để mô tả một linh
kiện phần cứng.

7


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

Nhiều module có thể được gọi một cách phân cấp ñể hình thành những cấu trúc phần cứng
khác nhau. Những phần tử con của việc mô tả thiết kế phân cấp có thể là những module, những
linh kiện cơ bản hoặc những linh kiện do người dùng tự định nghĩa. Để mô phỏng cho thiết kế,
những phần tử con trong cấu trúc phân cấp này nên ñược tổng hợp một cách riêng lẻ.
Hiện nay có rất nhiều công cụ và môi trường dựa trên Verilog cung cấp khả năng chạy mô
phỏng, kiểm tra thiết kế và tổng hợp thiết kế. Môi trường mô phỏng cung cấp những chương
trình giao diện đồ họa cho bước thiết kế trước layout (front-end) và những công cụ tạo dạng sóng
và công cụ hiện thị. Những công cụ tổng hợp thì dựa trên nền tảng của Verilog. Khi tổng hợp
một thiết kế thì thiết bị phần cứng đích như FPGA hoặc ASIC cần phải được xác định trước..

Chương II: Giới thiệu KIT FPGA DE2-70 và môi trường lập trình
Quartus II 9.1

2.1 Tổng quan về kit DE2-70
2.1.1 Tổng quan về Kit FPGA DE2.
Mục đích của Kit DE2 là cung cấp cho sinh viên một phương tiện tối ưu để nghiên
cứu về kĩ thuật số, cấu trúc máy tính và FPGA. Kit này sử dụng những công
nghệ mới nhất cả về phần cứng lẫn công cụ CAD (Computer Aid Design) để giúp
không chỉ sinh viên mà còn cả giáo viên có thể nghiên cứu được nhiều ứng dụng
khác nhau. Kit cung cấp nhiều ñặc ñiểm phù hợp cho công việc nghiên cứu cũng
như phát triển những hệ thống số thông thường lẫn phức tạp trong phòng thí
nghiệm của các trường đại học.


2.1.2 Đặc điểm cơ bản của Kit FPGA DE2-70
Dưới đây là hình ảnh của Kit DE2. Nó thể hiển bề mặt trên của Kit cũng như
vị trí của những linh kiện trên Kit.
8


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

Hình3: Mặt trên của Kit DE2-70 và vị trí các linh kiện trên Kit
Kit DE2 mang những đặc điểm cho phép người sử dụng có thể thiết kế từ những
mạch điện đơn giản cho đến những thiết kế phức tạp như Multimedia.
Kit DE2 gồm những linh kiện sau:
• Chip FPGA Cyclone II 2C70 gồm 896 chân. Tất cả những linh kiện trên kit đều
được kết nối sẵn với những pin của FPGA, điều này cho phép người sử dụng có thể điều
khiển tất cả những linh kiện cũng như ứng dụng của chúng.
• Rom EPCS16: dùng để thiết lập cấu hình ban đầu cho thiết bị, hoạt động nối tiếp.
• USB Blaster: dùng để cài đặt chương trình cho FPGA từ máy tính, hỗ trợ 2 chế
độ là JTAG và AS.
• 1 IC SSRAM 2Mbyte.
• 2 IC SDRAM 32Mbyte.
• Bộ nhớ flash 8Mbyte.
• Khe cắm thẻ nhớ SD.
• 4 nút bấm.
9


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số


2015

• 18 công tắc gạt.
• 18 đèn led đỏ.
• 9 led xanh.
• Nguồn xung clock 50MHz và 28.63MHz.
• Bộ mã hóa/giải mã âm thanh CD 24bit với các đầu cắm line-in, line-out,
microphone-in.
• Bộ chuyển đổi tín hiệu số sang tương tự VGA 10bit với đẩu cắm VGA-out.
• 2 bộ giải mã tín hiệu TV với đầu cắm TV-in.
• Giao tiếp Enthernet 10/100.
• Giao tiếp USB 2.0.
• Giao tiếp chuẩn RS-232 với 9 chân.
• Giao tiếp chuẩn PS/2 cho chuột và bàn phím.
• Giao tiếp hồng ngoại (IrDA).
• 2 cổng kết nối dùng để giao tiếp với các thiết bị ngoại vi khác mà người sử dụng
muốn kết nối vào Kit.
Đi kèm với những đặc tính phần cứng, Altera cũng cung cấp những giao tiếp I/O
chuẩn và bảng ñiều khiển việc truy xuất những linh kiện trên Kit dựa trên phần mềm DE2
Control Panel.

10


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

Hình4: Sơ đồ khối board mạch Kit DE2-70
1.1.1. Ứng dụng trong giảng dạy và học tập.

Những khóa học về thiết kế mạch logic và cấu trúc máy tính thường đề cập đến
những thiết bị và linh kiện điện tử. Ngày nay khi mà công nghệ đang phát triển với tốc độ
chóng mặt thì những giáo trình cũng như những thiết bị trong các phòng thí nghiệm cũng
phải luôn được cập nhật những công nghệ và công cụ thiết kế hiện đại nhất, tuy nhiên nó
vẫn phải đảm bảo giúp sinh viên nắm vững những kiến thức nền tảng cho đến những kiến
thức cao hơn. Kit DE2 được thiết kế để đáp ứng được tất cả những yêu cầu trên.
1.1.2. Ứng dụng trong nghiên cứu và thiết kế.
Với Chip Cyclone II FPGA tân tiến, nhiều loại giao tiếp I/O và nhiều loại bộ nhớ
khác nhau, Kit DE2 sẽ giúp người sử dụng rất linh động trong việc thiết kế nhiều loại ứng
dụng khác nhau. Cùng với những ứng dụng minh họa kèm theo Kit, người thiết kế có thể
tạo ra những thì nghiệm thú vị về những ứng dụng như là audio, video, USB, network và
11


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

memory. Kit DE2 cũng có thể thực thi được những ứng dụng nhúng sử dụng vi xử lí Nios
II.
Một số ứng dụng minh họa:
• Ứng dụng trong xử lý ảnh và truyền hình.

Hình5: Ứng dụng trong xử lý ảnh và truyền hình
• Ứng dụng trong xử lý âm thanh.

Hình6: Ứng dụng trong xử lý âm thanh
• Ứng dụng giao tiếp USB.
12



Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

Hình7: Ứng dụng trong giao tiếp USB

2.2 Môi trường lập trình Quartus II 9.1.
Quartus II là công cụ phần mềm phát triển của hãng Altera, cung cấp môi trường
thiết kế toàn diện cho các thiết kế SOPC (hệ thống trên một chip khả trình - system on a
programmable chip).
Đây là phần mềm đóng gói tích hợp đầy đủ phục vụ cho thiết kế logic với các linh
kiện logic khả trình PLD của Altera, gồm các dòng APEX, Cyclone, FLEX, MAX,
Stratix... Quartus cung cấp các khả năng thiết kế logic sau:
• Môi trường thiết kế gồm các bản vẽ, sơ đồ khối, công cụ soạn thảo các ngôn ngữ:
AHDL, VHDL, và Verilog HDL.
• Thiết kế LogicLock.
• Là công cụ mạnh để tổng hợp logic.
• Khả năng mô phỏng chức năng và thời gian.
• Phân tích thời gian.
• Phân tích logic nhúng với công cụ phân tích SignalTap@ II.
• Cho phép xuất, tạo và kết nối các file nguồn để tạo ra các file chương trình.
• Tự động định vị lỗi.
• Khả năng lập trình và nhận diện linh kiện.

13


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số


2015

• Phần mềm Quartus II sử dụng bộ tích hợp NativeLink@ với các công cụ thiết kế
cung cấp việc truyền thông tin liền mạch giữa Quartus với các công cụ thiết kế phần cứng
EDA khác.
• Quartus II cũng có thể đọc các file mạch (netlist) EDIF chuẩn, VHDL và Verilog
HDL cũng như tạo ra các file netlist này.
• Quartus II có môi trường thiết kế đồ họa giúp nhà thiết kế dễ dàng viết mã, biên
dịch, soát lỗi, mô phỏng...

2.3 Sơ lược cách sử dụng phần mềm Quartus II 9.1.
Để tạo mới một project trong Quartus II 9.1 ta làm như sau:









Chạy phần mềm Quartus II 9.1
File  New project Wizard.
Next.
Chọn vị trí thư mục lưu project và tên project  Next.
Next.
Chọn dòng chíp là Cyclone II và tên chip là EP2C70F896C6  Next.
Next.
Finish.


Hình8: Vào File  New Project Wizard
14


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

Hình9: Chọn Next để tiếp tục

Hình10: Chọn thư mục chứa project và đặt tên cho project rồi Next

15

2015


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

Hình11: Chọn Next để tiếp tục

Hình12: Chọn Cyclone II trong Family và EP2C70F896C6 cho Kit DE2-70 rồi Next

16

2015


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015


Hình13: Chọn Next để tiếp tục

Hình:
Hình14:Chọn Finish để kết thúc

Chương III: Thiết Kế chương trình điều khiển thang máy 6 tầng và mô phỏng
trên modelsim,Kit DE2-70.
17


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

3.1 Sơ đồ khối.

Hình 15: Sơ đồ khối
Sơ đồ khối được chia làm 3 modul nhỏ là khối chia tần DIV,khối điều khiển chính
Control và khối hiển thị Display.
Để điều khiển thang máy 6 tầng,bài toán cần đầu vào(input) là tín hiệu xung clock
50Mhz của KitDE2-70,tín hiệu reset,nút bấm lên(up),nút bấm xuống(down),gọi
tầng(call_floor),chọn tầng(select_floor),giữ cửa mở(hold door) và đóng cửa(close door)
thì cho đầu ra là số tầng thang máy đang ở hiện tại,hướng di chuyển của thang máy hay
trạng thái hiện tại của thang máy.
3.2 Mô tả chi tiết.
3.2.1 Khối chia tần

18



Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

Khối chia tần DIV có đầu vào (input) là xung clock của Kit DE2-70 là 50MHz và
tín hiệu reset.Đầu ra(output) là CLK_1,khối chia tần sẽ chia tần từ 50MHz xuống 1Hz để
thời gian xung CLK_1 có chu kỳ T= 1s.

3.2.2 Khối điều khiển.

Khối Control là khối điều khiển
chính,điều khiển hoạt động cơ bản
của thang máy như gọi tầng(call_floor),chọn tầng(select_floor),mở cửa(OpenDoor),đóng
cửa(CloseDoor) và giữ cửa(HoldDoor).Thang máy có 5 chế độ trạng thái là trạng thái
chờ,trạng thái mở cửa,trạng thái đóng cửa,trạng thái lên và trạng thái xuống. Khi bình
thường hoặc có reset,trạng thái về trạng thái chờ(Swait) khi có tín hiệu của đầu vào là up
hoặc down thì đồng thời với việc gọi tầng đang ở hiện tại tới tầng được gọi. sau đó thang
máy chuyển sang trạng thái mở cửa(OpenDoor),lúc này nếu trong thời gian 5s hoặc bấm
nút close thì cửa sẽ đóng lại và sang trạng thái CloseDoor.Khi cửa được đóng nếu giữ
cửa(hold) thì cửa lại mở và trạng thái quay về trạng thái OpenDoor.còn nếu ko thì lúc này
sẽ bắt đầu việc chọn tầng.tầng chọn là đi lên thì thang máy sẽ đi lên và ngược lại.khi đến
tầng chọn thì thang máy sẽ mở cửa tức là trạng thái lúc này là trạng thái OpenDoor.Khối
này cho đầu ra là tầng mà thang máy đang ở hoặc đang đến,ở với mỗi trạng thái sẽ có tín
hiệu đầu ra báo hiệu hướng mà thang máy đang di chuyển.
3.2.3 Khối hiển thị.
19


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số


2015

Khối hiển thị,hiển thị trạng thái hiện tại của thang máy ra LED 7 thanh và số tầng
hiện tại thang máy đang ở ra LED 7 thanh,LEDG.

20


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

Sơ đồ khối được tạo ra khi xây dựng bằng code

Sơ đồ trạng thái FSM.

21

2015


Bài Tập Lớn Thiết Kế Tổng Hợp Hệ Thống Số

2015

3.3 Kết Luận
Với kết quả này, em đã bước đầu xây dựng một bộ điều khiển hoạt động của thang máy 6
tầng đơn giản.
. Đặc biệt qua quá trình nghiên cứu và thực hiện đề tài em đã tích luỹ được nhiều kiến
thức bổ ích:
Bước đầu nắm được kiến thức cơ bản về FPGA và ngôn ngữ mô tả phần cứng Verilog
HDL

Hiểu được nguyên tắc hoạt động ,thuật toán của tháng máy.
Nắm được cách sử dụng và lập trình bằng phần mềm QUATUS II, và hiểu
cách nạp và chạy môt chương trình trên kit phát triển DE2.
Những điều còn hạn chế và hướng phát triển của đề tài.
Do thời gian thực hiện đề tài có hạn nên em mới chỉ làm được bộ điều khiển thang máy 6
tầng theo nguyện lý đơn giản.
Chương trình mới chỉ được mô phỏng trên phần mềm ModelSim vẫn chưa được thực sự
đúng như yêu cầu.

22



×