1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

đồ án đèn giao thông sử dụng ngôn ngữ VHDL

41 1,7K 18

Đ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

Định dạng
Số trang 41
Dung lượng 3,96 MB

Nội dung

Mạch đèn giao thông hoạt động dựa trên nội dung đã lập trình cho KIT XILINX , khi có tác động từ các nút điều khiển mạch hoạt động theo đúng thời gian yêu cầu . KIT XILINX đưa dữ liệu đến các LED xanh đỏ, vàng để điều khiển các led sang, tắt. Như vậy mỗi khi mạch bắt đầu thực hiện đếm. nếu trục lộ bên này đèn xanh hoặc đèn vàng sang thì trục lộ bên kia đèn đỏ sang và ngược lại. tuỳ theo thời gian yêu cầu mà ta điều khiển các đèn sang. Khi KIT nhân tín hiệu từ các sesor, reset nó sẽ quét và tìm ra chương trình được mã hoá phù hợp với tín hiệu điều khiển để hoạt động .

Trang 2

Mục lục

I CƠ SỞ LÝ THUYẾT: 4

1) GIỚI THIỆU NGÔN NGỮ VHDL: 4

2) GIỚI THIỆU KIT XILINX VÀ HƯỚNG DẪN CÁCH NẠP CODE VÀO KIT XILINX: 5

II THIẾT KẾ: 70

1) GIỚI THIỆU ĐỀ TÀI: 70

2) SƠ ĐỒ KHỐI: 71

3) GIỚI THIỆU CÁC LINH KIỆN CÓ TRONG MẠCH: 72

4) HOẠT ĐỘNG CỦA MẠCH: 73

5) VẼ MẠCH: 73

6) CODE CHƯƠNG TRÌNH: 75

III KẾT QUẢ: 79

1) MÔ PHỎNG: 79

2) HÌNH ẢNH THỰC TẾ: 79

IV NHẬN XÉT CỦA GIÁO VIÊN: 79

Trang 3

Lời mở đầu

Xu hướng hiện nay của thế giới là phát triển mạnh công nghệ bán dẫn Một Chip có thể tích hợp trên nó nhiều cổng logic có thể ứng dụng trong nhiều lĩnh vực Ngày nay ngành công nghệ chế tạo phần cứng luôn có những đột phá không ngừng Từ các mạch điện đơn giản đến các mạch số, mạch tích hợp, kiến trúc mạch trở nên ngày một phức tạp hơn Nhờ những ưu điểm hơn hẳn so với các phương pháp phân tích, mô hình hoá, thiết kế mạch số kiểu truyền thống mà phương pháp sử dụng các ngôn ngữ mô phỏng phần cứng (HDL-Hard ware Description Languages) đang trở thành một phương pháp thiết kế các hệ thống điện tử số phổ biến trên toàn thế giới Đối với em là sinh viên ngành điện tử viễn thông với luận văn tốt nghiệp của mình Việc xác định cho mình một đề tài thiết thực và gắn liền với chuyên ngành của mình là một điều cần thiết Nên em đã chọn

đề tài “Sử dụng ngôn ngữ VHDL xây dựng mạch đèn giao thông đơn giản”,.Bước đầu tìm hiểu ngôn ngữ VHDL, kiểm tra bằng Test bench của phần mềm chuyên dụng XiLinx và cuối cùng là nạp vào KIT để kiểm tra.

Trang 4

I CƠ SỞ LÝ THUYẾT:

1) GIỚI THIỆU NGÔN NGỮ VHDL:

- VHDL là một ngôn ngữ mô tả phần cứng (HDL) được sử dụng để mô tả một hệ thống thiết kế logic Được dùng trong thiết kế CPLD hoặc FPGA, phần mềm sẽ nạp chương trình vào CPLD hoặc FPGA

để có được một hệ thống logic mà chúng ta đã thiết kế.

- VHDL viết tắt của VHSIC Hardware Description Language VHSIC là viết tắt của Very High Speed Integrated Circuit VHDL là ngôn ngữ mô tả phần cứng được phát triển dùng cho chương trình VHSIC (Very High Speed Intergrated Circuit) của bộ quốc phòng Mỹ.

- Hầu hết câu lệnh trong VHDL xảy ra đồng thời (song song với nhau), chứ không phải là xảy ra tuần

tự như C, C++ Điều này là một khó khăn cho những người bắt đầu lập trình VHDL Tuy nhiên, khi

đã quen với cách lập trình của ngôn ngữ mô tả phần cứng, điều này sẽ rất dễ dàng

- Trước khi VHDL ra đời, có nhiều ngôn ngữ mô tả phần cứng được sử dụng nhưng không có một tiêu chuẩn thống nhất Vì các ngôn ngữ mô phỏng phần cứng đó được các nhà cung cấp thiết bị phát triển, nên mang các đặc trưng gắn với các thiết bị của nhà cung cấp đó và thuộc sở hữu của nhà cung cấp.

- Trong khi đó, VHDL được phát triển như một ngôn ngữ độc lập không gắn với bất kỳ một phương pháp thiết kế, bộ mô phỏng hay công nghệ phần cứng nào Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi vẫn sử dụng một ngôn ngữ duy nhất.

- VHDL có một số ưu điểm hơn hẳn các ngôn ngữ mô tả phần cứng khác là:

· Tính công cộng: VHDL được phát triển dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một tiêu

chuẩn của IEEE, VHDL không thuộc sở hữu của bất kỳ cá nhân hay tổ chức nào Do đó VHDL được

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 Ðây là một ưu điểm nổi bật của VHDL, giúp VHDL trở nên ngày càng phổ biến.

· Khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế: VHDL cho phép thiết kế bằng nhiều

phương pháp như phương pháp thiết kế từ trên xuống, hay từ dưới lên dựa vào các thư viện có sẵn Như vậy VHDL có thể phục vụ tốt cho nhiều mục đích thiết kế khác nhau, từ việc thiết kế các phần tử phổ biến đến việc thiết kế các IC ứng dụng đặc biệt (Application Specified IC).

· Ðộc lập với công nghệ: VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng Một mô tả hệ

thống dùng VHDL thiết kế ở mức cổng có thể được chuyển thành các bản tổng hợp mạch khác nhau tuỳ thuộc vào công nghệ chế tạo phần cứng nào được sử dụng (dùng CMOS, nMOS, hay GaAs) Ðây cũng là một ưu điểm quan trọng của VHDL nó cho phép người thiết kế không cần quan tâm đến công nghệ phần cứng khi thiết kế hệ thống, như thế khi có một công nghệ chế tạo phần cứng mới ra đời nó

có thể được áp dụng ngay cho các hệ thống đã thiết kế.

· 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 hệ thống số

(hộp đen) cho đến mức cổng VHDL có khả năng mô tả hoạt động của hệ thống trên nhiều mức nhưng chỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi mức Như thế ta có thể mô phỏng một bản thiết kế bao gồm cả các hệ con được mô tả ở mức cao và các hệ con được mô tả chi tiết.

· Khả năng trao đổi kết quả: Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mô hình VHDL

có thể chạy trên mọi bộ mô phỏng đáp ứng được tiêu chuẩn VHDL và các kết quả mô tả hệ thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưng cùng tuân theo chuẩn VHDL Hơn nữa, một nhóm thiết kế có thể trao đổi mô tả mức cao của các hệ thống con trong một hệ thống; trong khi các hệ con đó được thiết kế độc lập.

Trang 5

USB port

Nút nhấn nút ĐK

J6 J7

J5 J8

J9

Chip Xilinx CX2C256 TQ144

J4 J1

J3 J2

J10

Khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế: VHDL được phát triển như

một ngôn ngữ lập trình bậc cao, vì vậy nó có thể sử dụng để thiết kế một hệ thống lớn với sự tham gia của một nhóm nhiều người Bên trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chia sẻ thiết kế VHDL cũng cho phép dùng lại các phần đã có sẵn

2) GIỚI THIỆU KIT XILINX VÀ HƯỚNG DẪN CÁCH NẠP CODE VÀO KIT XILINX:

A KIT THỰC HÀNH CPLD: X BOARD

X board là board mạch được thiết kế sử dụng cho các thiết kế CPLD dựa trên con chip

CoolRunner-II của hãng Xilinx Với việc sử dụng board này cùng với các modul hiển thị

cho phép người sử dụng có thể thực hành, kiểm tra, tải các chương trình thiết kế VHDL.

Trên board có cổng USB2 sẽ cung cấp nguồn cho board và tải chương trình thiết kế.

Trang 6

Hình 2.2 Đặc điểm của kit thực hành CPLD X Board

Kit thực hành CPLD X Board gồm có:

- Chip CPLD Coolrunner II XC2C256-TQ144.

- Port USB2 cho phép truyền dữ liệu và chương trình JTAG.

- Bộ biến đổi A/D 16bit cho phép đo các đường tín hiệu thực trong quá trình board hoạt động (dữ liệu sẽ được gửi lên PC thông qua card USB).

- Bộ dao động (1000/100/10 KHz).

- 12 LED đơn

- 2 công tắc nhấn.

- 6 port kết nối gồm 6 chân (trong đó có 2 chân nguồn VCC=3.3V,GND)

- Port 26 chân, 16 chân 6 chân.

- Nguồn điện áp hoạt động của board là 3,3V

Trang 7

2.3.1 CHIP CPLD Coolrunner II

Hình 2.3: S¤ đo chân ket noi Coolrunner II v¤i I/O trên board

Kết nối Coolrunner II với 12 LED đơn trên board gồm các chân sau:

Trang 12

J14-TMS-JTAG P65

Trang 13

J14-TDI-JTAG P63 J14-TDO-JTAG P122 J14-TCK-JTAG P67

Cung cấp nguồn cho X Board

X Board được cấp nguồn thông qua port USB (JP3), JP2 cho phép chọn nguồn điện áp sử dụng bên ngoài.

Hình 2.5: Sơ đồ nguyên lý J13

Hình 2.13 Khoi J14 (Khoi JTAG)

Trang 14

Các chân I/O

Trang 15

Hình 2.6 Các port I/O

Trang 16

Các port của CPLD được nối trực tiếp ra các port IO để giao tiếp với các khối khác Ngoài ra còn có các port sử dụng cho chức năng configCPLD

Hình 2.7 Port A có chnc năng

Hình 2.8 port B có chnc năng parallel configuration

Hình 2.9 Port D có chnc năng JTAG

Trang 17

Hình 2.10 Micro Processor CY7C68013L-56

Micro Processor CY7C68013L-56 có một số tính năng như sau:

- Tần số dao động thạch anh tối đa 24 Mhz.

- Bus giao tiếp port A.

Hình 2.11 IC2 có chnc năng JP1

Hình 2.12 Khoi xung J11

Trang 18

Khối J11 tạo ra các tần số 1 Mhz, 100 kHz, 10 kHz

Trang 19

KIT THỰC HÀNH CPLD VÀ HƯỚNG DẪN THỰC HÀNH THIẾT KẾ CHIP

B Hướng dẫn nạp code:

Sau khi tổng hợp thiết kế tạo các file netlist rồi, bước tiếp theo là biên tập các file ràng buộc “ Constraints File” (Mô tả các nguyên tắc thiết kế, các ràng buộc về vật lý như gán vị trí cho các đầu vào/ra trên chip, các ràng buộc về tốc độ, thời gian, tần số…)

Bước 1: Trong cửa sổ Process, chọn User Constraints, chọn Floorplan IO

Trang 20

KIT THỰC HÀNH CPLD VÀ HƯỚNG DẪN THỰC HÀNH THIẾT KẾ CHIP

Hình 4.5 Khai báo các chân I/O

Bước 3: Lưu file ucf.

Bước 4: Chọn top.ucf hoặc top_sch.ucf trên cửa sổ Source Nhấn Open, chương trình của file ucf sẽ xuất hiện như sau:

Hình 4.6 Chư¤ng trình dang text cúa file ucf

Trang 21

KIT THỰC HÀNH CPLD VÀ HƯỚNG DẪN THỰC HÀNH THIẾT KẾ CHIP

Bước 5: Chạy lại Implement Design trong cửa sổ Process.

Bước 6: Kích chuột phải vào Implement Design, chọn Properties Tại đây ta có thể thay đổi các tiêu chuẩn của ngõ I/O CMOS, điện áp ngõ ra từ 1.4 Volt sang 3.3 Volt như sau:

Trang 23

Để nạp chương trình CPLD cho kit Kit thực hành CPLD X Board, ta sử dụng phần mềm

Digilent Adapt thông qua card USB2

Hình 4.9 Card USB2 và X Board

Tải phần mềm DIGILENT ADEP tại trang web sau:

http://www.digilentinc.com/Products/Software/

Hình 4.10 Trang web cho phép tai phan mem Digilent Adep

Trang 24

HƯỚNG DẪN CÀI ĐẶT DIGILENT ADEPT

Trang 25

67Bước 1: Chạy Adept.msi cho setup

Bước 2: Chọn đường dẫn

Bước 3: Đọc nội quy, chọn Đồng ý, chọn Next.

Trang 26

68

Trang 27

Bước 4: Kết nối máy PC với kit Coolrunner thông qua USB Digilent.

Trang 28

Hình: 4.11 Cài đ¾t phan cnng cho kit X Board

TẢI CHƯƠNG TRÌNH CPLD VÀO KIT THỰC HÀNH

Bước 1: Mở Start → ProgramDigilent Adept

Máy tính sẽ nhận dạng phần cứng, địa chỉ IP, tên thiết bị phần cứng là Chip Coolrunner II XC2C256.

Bước 2: Chọn đường dẫn file thiết kế:

Trang 29

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

Chọn file tải chương trình

.jed Bước 3: Chọn

Program.

Chương trình sẽ được cài lên con chip Coolrunner II XC2C256.

II THIẾT KẾ:

1) GIỚI THIỆU ĐỀ TÀI:

minh hiện đại , các đô thị ngày một đi lên Nhu cầu về giao thông ngày trở nên cấp thiết , nhất là các khu vực thành thị Do nhu cầu của đời sống con người, đặc biệt là nhu cầu đi lại, các phương tiện giao thông đã tang lên một cách chóng mặt Riêng tại Việt Nam số lượng xe máy gia tăng một cách đột biến, mật độ xe lưu thông trên đường ngày một nhiều, trong khi đó hệ thống đường

xá tại Việt Nam còn quá nhiều hạn chế nên thường gây ra các hiện tượng như kẹt xe, ùn tắc giao thông, đặc biệt là tai nạn giao thông ngày càng phổ biến trở thành mối hiểm hoạ cho nhiều người

Vì lý do đó các luật giao thông lần lượt ra đời và được đưa vào sử dụng một cách lặng lẽ rồi dần trở nên phổ biến như hiện nay Trong đó đèn giao thông là

Trang 30

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

công cụ điều khiển giao thông thực tế và hiệu quả nhất để đảm bảo an toàn và giảm thiểu tai nạn cho mọi người.

Từ thục tế đó nhóm 7 xin chọn đề tài :” thiết kế đèn giao thông “ sử dụng ngôn ngữ VHDL làm đề tài môn học nhằm giúp cho mọi người nhất là tầng lớp sinh viên có ý thức hơn trong việc chấp hành luật lệ an toàn giao thông.

2) SƠ ĐỒ KHỐI:

NGUỒN

Trang 31

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

3) GIỚI THIỆU CÁC LINH KIỆN CÓ TRONG MẠCH:

- Nếu bạn lấy led ( thường loại 3V ) cắm vào nguồn 5V ===> led sẽ hỏng

- Nếu muốn tính điện trở hạn dòng cho led ( để nó không hỏng và hoạt động bình thường ở 5V ) thì : Giá trị điện trở nhỏ nhất : (5V - 3V ) / 20mA = 0,1 k ôm = 100 ôm.

- Giá trị lớn nhất : (5V-1,8V)/10mA = 0,32 k ôm = 320 ôm

Trang 32

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

4) HOẠT ĐỘNG CỦA MẠCH:

XILINX , khi có tác động từ các nút điều khiển mạch hoạt động theo đúng thời

gian yêu cầu KIT XILINX đưa dữ liệu đến các LED xanh đỏ, vàng để điều

khiển các led sang, tắt

Như vậy mỗi khi mạch bắt đầu thực hiện đếm nếu trục lộ bên này đèn xanh hoặc đèn vàng sang thì trục lộ bên kia đèn đỏ sang và ngược lại tuỳ theo thời

gian yêu cầu mà ta điều khiển các đèn sang Khi KIT nhân tín hiệu từ các

sesor, reset nó sẽ quét và tìm ra chương trình được mã hoá phù hợp với tín hiệu điều khiển để hoạt động

5) VẼ MẠCH:

 Sơ đồ Schematic:

Trang 33

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

 Mạch Pcb 2d:

Trang 34

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

Traffic ligh system for a intersection between highway and farm way

There is a sensor on the farm way side, when there are vehicles,

Traffic light turns to YELLOW, then GREEN to let the vehicles cross the highway

Otherwise, always green light on Highway and Red light on farm way

entity traffic_light_controller is

port ( sensor : in STD_LOGIC; Sensor

clk : in STD_LOGIC; clock

rst_n: in STD_LOGIC; reset active low

light_highway : out STD_LOGIC_VECTOR(2 downto 0); light outputs of high way

light_farm: out STD_LOGIC_VECTOR(2 downto 0) light outputs of farm way

RED_YELLOW_GREEN

Trang 35

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

);

end traffic_light_controller;

architecture traffic_light of traffic_light_controller is

signal counter_1s: std_logic_vector(27 downto 0):= x"0000000";

signal delay_count:std_logic_vector(3 downto 0):= x"0";

signal delay_10s, delay_3s_F,delay_3s_H, RED_LIGHT_ENABLE,

YELLOW_LIGHT1_ENABLE,YELLOW_LIGHT2_ENABLE: std_logic:='0';

signal clk_1s_enable: std_logic; 1s clock enable

type FSM_States is (HGRE_FRED, HYEL_FRED, HRED_FGRE, HRED_FYEL);

HGRE_FRED : Highway green and farm red

HYEL_FRED : Highway yellow and farm red

HRED_FGRE : Highway red and farm green

HRED_FYEL : Highway red and farm yellow

signal current_state, next_state: FSM_States;

when HGRE_FRED => When Green light on Highway and Red light on Farm way

RED_LIGHT_ENABLE <= '0'; disable RED light delay counting

YELLOW_LIGHT1_ENABLE <= '0'; disable YELLOW light Highway delay counting

YELLOW_LIGHT2_ENABLE <= '0'; disable YELLOW light Farmway delay counting

light_highway <= "001"; Green light on Highway

light_farm <= "100"; Red light on Farm way

if(sensor = '1') then if vehicle is detected on farm way by sensors

when HYEL_FRED => When Yellow light on Highway and Red light on Farm way

light_highway <= "010"; Yellow light on Highway

light_farm <= "100"; Red light on Farm way

RED_LIGHT_ENABLE <= '0'; disable RED light delay counting

YELLOW_LIGHT1_ENABLE <= '1'; enable YELLOW light Highway delay counting

YELLOW_LIGHT2_ENABLE <= '0'; disable YELLOW light Farmway delay counting

if(delay_3s_H='1') then

if Yellow light delay counts to 3s,

Trang 36

Học Viện Công Nghệ Bưu Chính Viễn Thông Hệ thống Đèn Giao Thông

turn Highway to RED,

Farm way to green light

next_state <= HRED_FGRE;

else

next_state <= HYEL_FRED;

Remains Yellow on highway and Red on Farm way

if Yellow light not yet in 3s

end if;

when HRED_FGRE =>

light_highway <= "100"; RED light on Highway

light_farm <= "001"; GREEN light on Farm way

RED_LIGHT_ENABLE <= '1'; enable RED light delay counting

YELLOW_LIGHT1_ENABLE <= '0'; disable YELLOW light Highway delay counting

YELLOW_LIGHT2_ENABLE <= '0'; disable YELLOW light Farmway delay counting

light_highway <= "100"; RED light on Highway

light_farm <= "010"; Yellow light on Farm way

RED_LIGHT_ENABLE <= '0'; disable RED light delay counting

YELLOW_LIGHT1_ENABLE <= '0'; disable YELLOW light Highway delay counting

YELLOW_LIGHT2_ENABLE <= '1'; enable YELLOW light Farmway delay counting

if(delay_3s_F='1') then

if delay for Yellow light is 3s,

turn highway to GREEN light

Farm way to RED Light

Ngày đăng: 30/07/2018, 21:11

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w