bg thiet ke logic so chuong 5 cachethongsoungdung_vhdl

43
1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN THIẾT KẾ LOGIC SỐ Giảng viên: TS. Nguyễn Ngọc Minh Điện thoại/E-mail: 84-4- 3351 9391 Bộ môn: KTĐT-Khoa KTĐT Học kỳ/Năm biên soạn: Kỳ 1/2012

Upload: do-toan

Post on 10-Dec-2015

34 views

Category:

Documents


15 download

DESCRIPTION

ettthh

TRANSCRIPT

Page 1: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN

THIẾT KẾ LOGIC SỐ

Giảng viên: TS. Nguyễn Ngọc Minh

Điện thoại/E-mail: 84-4- 3351 9391

Bộ môn: KTĐT-Khoa KTĐT

Học kỳ/Năm biên soạn: Kỳ 1/2012

Page 2: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

2

CHƯƠNG 5THIẾT KẾ CÁC HỆ THỐNG SỐ

ỨNG DỤNG VHDL

TS. Nguyễn Ngọc Minh

Khoa KTĐT1

Page 3: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

3

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 4: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

4

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

5.1. THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LED

5.1.1 Thiết kế mạch điều khiển màn chỉ thị số LED

Page 5: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

5

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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.

Page 6: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

6

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 7: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

7

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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 chuẩn la 50M)

3. Xây dựng bộ điều khiển, thực tế chính là bộ đếm mức 4

4. Xây dựng khối điều khiển quét LED và chọn kênh

5.Xây dựng khối lưu các mã

Page 8: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

8

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

process(count_chiatan)begin

if(count_chiatan="110010") thenCLK_1M<= not CLK_1M;end if;

end process;

process(countmode4)begin

case countmode4 is when "00" => temp<=HN;AN<="1000"; when "01" => temp<=HT;AN<="0100"; when "10" => temp<=HC;AN<="0010"; when others => temp<=HDV;AN<="0001";

end case;end process;

process(CLK_1M,countmode4)begin

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

countmode4<=countmode4+1;end if;

end process;

Page 9: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

9

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 10: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

10

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

Nguyên lý quét

Page 11: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

11

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

Xây dựng mô hình

Mạch điều khiển hiển thị ma trận

LED

5.1.2 (tt)

Page 12: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

12

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

process(count_mode8)begin

case count_mode8 is when "000" => colum<= "10000000"; when "001" => colum<= "01000000";

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)

Page 13: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

13

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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)

Page 14: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

14

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

process(clk) --xung 2Kz begin

if clk='1' and clk'event then

if dem = 12500 thendem <= 0;clk2khz <= not clk2khz;

elsedem <= dem +1;

end if;end if;end process;

5.1.2 (tt)

Page 15: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

15

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 16: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

16

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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

Page 17: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

17

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

Lưu đồ thuật toán điều khiển trong bộ đếm tần

5.1.3 (tt)

Page 18: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

18

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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;

Page 19: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

19

else chiatan<=chiatan+1; Tch<='0'; end if;when "10" => if chiatan=x"0270F" then --1us chiatan<=x"00000"; Tch<='1'; else chiatan<=chiatan+1; Tch<='0'; end if;when others => if chiatan=x"F423F" then chiatan<=x"00000"; Tch<='1'; else chiatan<=chiatan+1; Tch<='0'; end if;

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

process (clk)beginif clk='1' and clk'event then if(over1='0') then case scale is

when "00" => if chiatan=x"F423F" then --

clk=10MHz, T=0,1s. chiatan<=x"00000"; Tch<='1'; else chiatan<=chiatan+1; Tch<='0'; end if;when "01" =>

if chiatan=x"1869F" then --T=0,1ms; chiatan<=x"00000"; Tch<='1'; else

5.1.3 (tt)

Page 20: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

20

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

end case; else chiatan<=x"00000"; Tch<='1'; end if;end if;end process;

-- Tao xung vaoprocess(clk)begin if clk='1' and clk'event then fx1<=fx;

fx2<=fx1; end if;end process; fx3<= fx1 and (not fx2); -- dong bo xung dem fx va clk

5.1.3 (tt)

Page 21: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

21

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 22: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

22

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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

Page 23: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

23

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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 xung quát mành

Page 24: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

24

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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

Page 25: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

25

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Sơ Đồ khối bộ điều khiển VGA

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 .

Page 26: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

26

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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 .

Page 27: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

27

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

Xây dựng thuật toán, codeNếu tần số của thiết bị thực thi là 25MH, mạch đồng

bộ có thể xây dựng bằng 2 bộ đếm . Một bộ đếm mod 800 để đồng bộ quét ngang. Một bộ đếm mod 525 cho việc đồng bộ quét dọc.

Thiết kế trên được thực hiện trên kit spartan 3AN với clock hệ thống là 50MHz, do đó cần phải tạo một bộ 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)

Page 28: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

28

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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

Page 29: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

29

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 30: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

30

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Ký tự LCD

Page 31: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

31

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Ký tự LCD

Page 32: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

32

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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);

Page 33: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

33

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 34: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

34

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

5.2 (tt)

Lưu đồ thuật toán quét bàn phím

Page 35: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

35

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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:

Page 36: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

36

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

process(CLK) -- quet hang thu nhat:beginif 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";else button0<= X"0";end if;

end if;end process;

process(CLK) -- quet hang thu hai:beginif 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";else button1<= X"0";end if;

end if;end process;

Bấm vào đây để xem toàn bộ chương trình VHDL

Page 37: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

37

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

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

Page 38: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

38

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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

Page 39: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

39

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

Entity PS2Rx isPort ( 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

Page 40: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

40

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

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

Page 41: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

41

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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

Page 42: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

42

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

Lưu đồ thuật toán mạch receiver

Bấm vào đây để xem toàn bộ chương trình VHDL

Page 43: BG Thiet Ke Logic So Chuong 5 Cachethongsoungdung_VHDL

43

CHƯƠNG 5- THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG VHDL

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

www.ptit.edu.vn

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