1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI GIẢNG THIẾT KẾ LOGIC SỐ

43 400 1

Đ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 43
Dung lượng 1,47 MB

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

Nội dung

THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM 5.4 THIẾT KẾ GIAO TIẾP TRUYỀN THÔNG UART 5.5 THIẾT KẾ BỘ TRUY NHẬP VỚI SDRAM NGOÀI... 5.1.3 THIẾT KẾ BỘ ĐẾM TẦN SỐ TỰ ĐỘNG THAY ĐỔI THANG ĐOYêu cầu:M

Trang 1

BÀI GIẢNG MÔN

Trang 3

NỘI DUNG CHÍNH CỦA CHƯƠNG

5.1 THIẾT KẾ ĐIỀU KHIỂN HIỂN THỊ LED, MA TRẬN LED, LED 7 ĐOẠN, VGA, LCD.

5.2 THIẾT KẾ MẠCH ĐIỀU KHIỂN MA TRẬN BÀN PHÍM

5.3 THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM

5.4 THIẾT KẾ GIAO TIẾP TRUYỀN THÔNG UART

5.5 THIẾT KẾ BỘ TRUY NHẬP VỚI SDRAM NGOÀI

Trang 5

Nguyên lí quét :

+ Ban đầu LED 1 sẽ được hiển thị bằng cách cấp

nguồn cho LED1, và dữ liệu sẽ được đưa váo các

chân điều khiển của LED1

+ Sau đó lần lượt các LED2, LED3,LED4 được hiển

thị với dữ liệu tương ứng của tưng con LED 7

thanh trong rất nhiều chu kì.

+ Và cứ tiếp tục như vậy các LED được quét theo

thứ tự.

+ Do sự lưu ảnh trên võng mạc nên khi ta quan sát

gần như sáng liên tục

Trang 6

www.ptit.edu.vn

Sơ đồ triển khai ứng dụng

Trang 7

Yêu cầu viết VHDL gồm có các modul sau:

1 Khai báo các tín hiệu

2 Xây dựng bộ chia tần (tần số xung clk

Trang 8

if(CLK_1M'event and CLK_1M='1') then

countmode4<=countmode4+1;

end if;

end process;

Trang 9

5.1.2 Thiết kế mạch điều khiển ma trận LED (8x8)

Trang 10

www.ptit.edu.vn

Nguyên lý quét

Trang 12

when "010" => colum<= "00100000"; when "011" => colum<= "00010000";

when "100" => colum<= "00001000";

when "101" => colum<= "00000100";

when "110" => colum<= "00000010"; when others => colum<= "00000001";

end case;

end process;

5.1.2 (tt)

Trang 13

row <= a(63 downto 56) when count_mode8 =x"0" else a(55 downto 48) when count_mode8 =x"1" else

a(47 downto 40) when count_mode8 =x"2" else

a(39 downto 32) when count_mode8 =x"3" else

a(31 downto 24) when count_mode8 =x"4" else

a(23 downto 16) when count_mode8 =x"5" else

a(15 downto 8) when count_mode8 =x"6" else

a(7downto 0);

end Behavioral;

5.1.2 (tt)

Trang 14

www.ptit.edu.vn

process(clk) xung 2Kz begin

if clk='1' and clk'event then

if dem = 12500 then

dem <= 0;

clk2khz <= not clk2khz; else

Trang 15

5.1.3 THIẾT KẾ BỘ ĐẾM TẦN SỐ TỰ ĐỘNG THAY ĐỔI THANG ĐO

Yêu cầu:Mạch vào sẽ có nhiệm vụ biến đổi tín hiệu vào thành dạng xung có mức logic CMOS và có cùng chu kỳ với tín hiệu vào Dạng xung này được đưa vào bộ đếm tấn để thực hiện

đo tần số, kết quả sẽ được chỉ thị trên cơ cấu chỉ thị số LED

7 đoạn

Trang 16

www.ptit.edu.vn

5.1.3 THIẾT KẾ BỘ ĐẾM TẦN SỐ TỰ ĐỘNG THAY ĐỔI THANG ĐO (tt)

Xây dựng sơ đồ triển khai cho yêu cầu 3.1.3

Trang 17

Lưu đồ thuật toán

điều khiển trong

bộ đếm tần

5.1.3 (tt)

Trang 18

www.ptit.edu.vn

5.1.3 (tt)

entity auto_freq_counter is port( fx : in std_logic;

clk: in std_logic;

Seg : out std_logic_vector(6 downto 0);

dot: out std_logic;

AN : out std_logic_vector(2 downto 0);

Unit : out std_logic_vector(2 downto 0));

end auto_freq_counter;

Trang 19

Tch<='0';

end if;

when others =>

if chiatan=x"F423F" then chiatan<=x"00000";

Tch<='1';

else chiatan<=chiatan+1;

chiatan<=x"00000";

Tch<='1';

else chiatan<=chiatan+1;

Trang 20

if clk='1' and clk'event then fx1<=fx;

Trang 21

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA

a Giới thiệu chuẩn VGA

Sơ đồ khối màn hình VGA

Trang 22

www.ptit.edu.vn

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA (tt)

Kết quả kết hợp màu từ 3 màu cơ bản như bảng

sau

Trang 23

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA (tt)

Đồ thị thời gian xung quát mành

Trang 24

www.ptit.edu.vn

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA (tt)

Đồ thị thời gian điều khiển VGA

Trang 25

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA (tt)

Các tín hiệu Hsync, Vsync kết nối với cổng VGA điều

khiển quét ngang,dọc màn hình

Thiết kế dựa trên 1 VGA 640x480 pixel ,tốc độ quét

mỗi pixel là 25MH

Trang 26

www.ptit.edu.vn

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA (tt)

pixel_x, pixel_y: Hai tín hiệu này cho biết vị trí tương đối của điểm ảnh

tín hiệu video_on dùng để kích hoạt hay vô hiệu hoá màn hình hiển thị

Mạch tạo pixel tạo

ra các tín hiệu tuơng ứng với các màu cơ bản

Trang 27

Xây dựng thuật toán, code

Nếu tần số của thiết bị thực thi là 25MH, mạch đồng

chia tần xuống 25MHz Bộ chia tần này có thể chỉ đơn giản

là một bộ đếm mod2 Chúng ta tạo ra một tín hiệu Tick

25MHz để cho phép hoặc dừng bộ đếm, tín hiệu này cũng được kết nối với p_tick, đưa ra ngoài bộ VGA_sync để kết hợp với bộ tạo pixel.

5.1.4 THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA (tt)

Trang 28

www.ptit.edu.vn

5.1.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD

Sơ đồ khối mạch điều khiển LCD

Trang 29

5.1.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD (tt)

Đồ hình trạng thái điều khiển LCD

Trang 31

5.1.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD (tt)

Ký tự

LCD

Trang 32

www.ptit.edu.vn

5.1.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD (tt)

Mô hình tổng quát của

khối điều khiển

architecture Behavioral of LCD_Controller is 16 state FSM.

type StateType is (Pwr_Up, Pwr_Up_Delay, Off_Pwr_Up_Delay, Write_Data,Data_Setup_Delay, E_Pulse_Hi, E_Hi_Time, E_Pulse_Lo,Proc_Comp_Delay, Load_Next_Data, End_State, End_Pad_12,End_Pad_13, End_Pad_14, End_Pad_15, End_Pad_16 );

signal State, Next_State: statetype := Pwr_Up;

Instruction Counter.

signal Inst_Cnt: STD_LOGIC_VECTOR (3 downto 0) :=

"0000";

signal Inst_Cnt_E: STD_LOGIC;

signal Data_RS_Bus: STD_LOGIC_VECTOR(8 downto 0);

Trang 33

5.2 THIẾT KẾ MẠCH ĐIỀU KHIỂN MA TRẬN BÀN PHÍM

Ma trận bàn phím

Trang 35

5.2 (tt)

entity banphim4x4_vhdl is

Port ( clk : in STD_LOGIC;

colum : out STD_LOGIC_VECTOR (3 downto 0);

row : inout STD_LOGIC_VECTOR (3 downto 0):="0000";

button : out std_logic_vector (3 downto 0));

end banphim4x4_vhdl;

khoi chia tan:

bo dem mode 4 quet hang thu nhat: quet hang thu hai:

quet hang thu ba:

quet hang thu tu:

Trang 36

www.ptit.edu.vn

process(CLK) quet hang thu nhat:

begin

if clk'event and clk='1' and row(0)='0' then

if (colum="1110") then button0<= x"0";

elsif (colum="1101") then button0<= x"1";

elsif (colum="1011") then button0<= x"2";

elsif (colum="0111") then button0<= x"3";

if clk'event and clk='1' and row(1)='0' then

if (colum="1110") then button1<= x"4";

elsif (colum="1101") then button1<= x"5";

elsif (colum="1011") then button1<= x"6";

elsif (colum="0111") then button1<= x"7";

Trang 37

5.3 THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM

Sơ đồ khối mạch giao tiếp ps2

Trang 38

www.ptit.edu.vn

5.3 THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM (tt)

Cấu trúc dữ liệu truyền qua PS2

Mã bàn phím

Trang 39

Entity PS2Rx is

Port ( clk,reset:in std_logic;

ps2d,ps2c:in std_logic; keydata,keyclock rx_en:in std_logic;

rx_done_tick : out std_logic;

dout: out std_logic_vector(7 downto 0)

);

End PS2Rx;

Architecture arch of PS2Rx is

Constant BRK: std_logic_vector(7 downto 0):=x"F0";

Type statetype is(idle,dps,load);

signal state_reg,state_next: statetype;

signal filter_reg,filter_next:std_logic_vector(7 downto 0);

signal f_ps2c_reg,f_ps2c_next:std_logic;

signal n_reg,n_next:unsigned(3 downto 0);

signal fall_edge:std_logic;

signal b_reg,b_next:std_logic_vector(10 downto 0);

5.3 THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM (tt)

Bấm vào đây

để xem toàn

bộ chương trình VHDL

Trang 40

www.ptit.edu.vn

5.4 THIẾT KẾ BỘ ĐIỀU KIỂN TRUYỀN THÔNG NỐI TIẾP UART

UART (universal asynchronous receiver and transmitter) là một giao thức truyền thông nối tiếp bất đồng bộ

Sơ đồ khối bộ nhận dữ liệu UART

Trang 41

- Khối baud rate generator: Tạo điểm đánh dấu lấy

mẫu ( sample ticks).

- Khối receiver : Nhận dữ liệu , chuyển thành các bít

song song

- Interface circuit : cung cấp bộ đệm FIFO, giao tiếp

với hệ thống.

5.4 THIẾT KẾ BỘ ĐIỀU KIỂN TRUYỀN THÔNG NỐI TIẾP UART (tt)

Trong thiết kế này tốc độ truyền nối tiếp baud rate = 19200 do đó tốc độ lấy mẫu = 19200x16=307200 ticks/ second Thiết kế thực hiện trên kit Spartan 3AN của xilinx, có clock system = 50Mhz ,do đó cần có bộ đếm mod (50.000.000/ 307200) = 163

Trang 43

5.5 THIẾT KẾ BỘ TRUY NHẬP VỚI SDRAM NGOÀI

Ngày đăng: 28/08/2017, 01:48

TỪ KHÓA LIÊN QUAN