Thiết kế hệ thống xử lý ảnh video trên FPGA (CycloneII), chương 23
Số trang: 16
Loại file: pdf
Dung lượng: 76.91 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mouse chứa quả banh để cuộn 2 slotted wheels. Wheels được nối đến hai con mã hoá quang học. Hai đầu dò mã hóa x và y hoạt động do việc đếm xung khi wheels di chuyển. Mouse chứa 2 hay 3 nút nhấn có thể được đọc bởi hệ thống và chip điều khiển. Vi điều khiển sẽ gửi tín hiệu đến máy tính thông báo tình trạng nút nhấn và yêu cầu hoạt động. Dữ liệu của mouse truyền như bàn phím thông qua cổng PS/2. nhưng khi không truyền thì đường xung của mouse sẽ được kéo...
Nội dung trích xuất từ tài liệu:
Thiết kế hệ thống xử lý ảnh video trên FPGA (CycloneII), chương 23Chương 23: Chöông trình keát hôïpLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scancode IS PORT(keyboard_clk, keyboard_data, clock_25Mhz , reset, read : IN STD_LOGIC; dataL,dataM : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); scan_ready : OUT STD_LOGIC);END scancode;ARCHITECTURE a OF scancode ISSIGNAL scan_code : STD_LOGIC_VECTOR(7DOWNTO 0);COMPONENT keyboard PORT( keyboard_clk, keyboard_data, clock_25Mhz , reset, read : IN STD_LOGIC; scan_code : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); scan_ready : OUT STD_LOGIC);END COMPONENT;COMPONENT dec_7seg PORT(hex_digit : IN STD_LOGIC_VECTOR(3DOWNTO 0); data : OUT STD_LOGIC_VECTOR(6DOWNTO 0));END COMPONENT;BEGIN x1:keyboard PORT MAP (keyboard_clk=>keyboard_clk, keyboard_data=>keyboard_data, clock_25Mhz=>clock_25Mhz, reset=>reset,read=>read, scan_code=>scan_code, scan_ready=>scan_ready); x2: dec_7seg PORT MAP(hex_digit=>scan_code(3 downto0),data=>dataL); x3:dec_7seg PORT MAP(hex_digit=>scan_code(7 downto4),data=>dataM);END; Sau ñoù ta gaùn chaân theo caùc chaân ñaõ ñöôïc noái vôùi chip saünnhö sau : dataM6 :6 dataM5 :7 dataM4 :8 dataM3 :9 dataM2 : 11 dataM1 : 12 dataM0 : 13 dataL6 : 17 dataL5 : 18 dataL4 : 19 dataL3 : 20 dataL2 : 21 dataL1 : 23 dataL0 : 24 keyboard_clk : 30 keyboard_data : 31 read : 40 reset : 41 scan_ready : 45 clock_25Mhz : 91VI. Giao tieáp vôùi mouse a. Caùch hoaït ñoäng Mouse chöùa quaû banh ñeå cuoän 2 slotted wheels. Wheelsñöôïc noái ñeán hai con maõ hoaù quang hoïc. Hai ñaàu doø maõ hoùa xvaø y hoaït ñoäng do vieäc ñeám xung khi wheels di chuyeån. Mousechöùa 2 hay 3 nuùt nhaán coù theå ñöôïc ñoïc bôûi heä thoáng vaø chip ñieàukhieån. Vi ñieàu khieån seõ göûi tín hieäu ñeán maùy tính thoâng baùo tìnhtraïng nuùt nhaán vaø yeâu caàu hoaït ñoäng. Döõ lieäu cuûa mouse truyeànnhö baøn phím thoâng qua coång PS/2. nhöng khi khoâng truyeàn thìñöôøng xung cuûa mouse seõ ñöôïc keùo leân cao coøn ñöôøng döõ lieäu ôûtraïng thaùi naøo cuõng ñöôïc. Vaø quaù trình truyeàn phöùc taïp hôn vìmoät leänh cuûa mouse tröôùc khi truyeàn phaûi göûi maõ töï kieåm tratöông öùng vôùi maõ AA hay 00, roài göûi leänh Acknowledge töôngöùng vôùi maõ FA. Roài môùi baét ñaàu göûi 3 bit. b. Chöông trìnhLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MOUSE ISPORT ( clock_25Mhz, reset : INSTD_LOGIC; SIGNAL mouse_data : INOUTSTD_LOGIC; SIGNAL mouse_clk : INOUTSTD_LOGIC; SIGNAL left_button, right_button : OUTSTD_LOGIC; SIGNAL mouse_cursor_row: OUTSTD_LOGIC_VECTOR (9 DOWNTO 0); SIGNAL mouse_cursor_column: OUT STD_LOGIC_VECTOR (9 DOWNTO 0));END MOUSE;ARCHITECTURE behavior OF MOUSE IS TYPE STATE_TYPE IS (INHIBIT_TRANS,LOAD_COMMAND, LOAD_COMMAND2,WAIT_OUTPUT_READY, WAIT_CMD_ACK, INPUT_PACKETS);-- Tín hieäu cho mouse SIGNAL mouse_state : STATE_TYPE; SIGNAL inhibit_wait_count :STD_LOGIC_VECTOR(10 DOWNTO 0); SIGNAL CHARIN, CHAROUT : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL new_cursor_row, new_cursor_column: STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL cursor_row,cursor_column:STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL INCNT, OUTCNT, MSB_OUT:STD_LOGIC_VECTOR (3DOWNTO 0); SIGNAL PACKET_COUNT : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL SHIFTIN : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL SHIFTOUT : STD_LOGIC_VECTOR (10DOWNTO 0); SIGNAL PACKET_CHAR1, PACKET_CHAR2, PACKET_CHAR3 : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL MOUSE_CLK_BUF, DATA_READY,READ_CHAR: STD_LOGIC; SIGNAL i : INTEGER; SIGNAL cursor, iready_set, break, toggle_next, ...
Nội dung trích xuất từ tài liệu:
Thiết kế hệ thống xử lý ảnh video trên FPGA (CycloneII), chương 23Chương 23: Chöông trình keát hôïpLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scancode IS PORT(keyboard_clk, keyboard_data, clock_25Mhz , reset, read : IN STD_LOGIC; dataL,dataM : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); scan_ready : OUT STD_LOGIC);END scancode;ARCHITECTURE a OF scancode ISSIGNAL scan_code : STD_LOGIC_VECTOR(7DOWNTO 0);COMPONENT keyboard PORT( keyboard_clk, keyboard_data, clock_25Mhz , reset, read : IN STD_LOGIC; scan_code : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); scan_ready : OUT STD_LOGIC);END COMPONENT;COMPONENT dec_7seg PORT(hex_digit : IN STD_LOGIC_VECTOR(3DOWNTO 0); data : OUT STD_LOGIC_VECTOR(6DOWNTO 0));END COMPONENT;BEGIN x1:keyboard PORT MAP (keyboard_clk=>keyboard_clk, keyboard_data=>keyboard_data, clock_25Mhz=>clock_25Mhz, reset=>reset,read=>read, scan_code=>scan_code, scan_ready=>scan_ready); x2: dec_7seg PORT MAP(hex_digit=>scan_code(3 downto0),data=>dataL); x3:dec_7seg PORT MAP(hex_digit=>scan_code(7 downto4),data=>dataM);END; Sau ñoù ta gaùn chaân theo caùc chaân ñaõ ñöôïc noái vôùi chip saünnhö sau : dataM6 :6 dataM5 :7 dataM4 :8 dataM3 :9 dataM2 : 11 dataM1 : 12 dataM0 : 13 dataL6 : 17 dataL5 : 18 dataL4 : 19 dataL3 : 20 dataL2 : 21 dataL1 : 23 dataL0 : 24 keyboard_clk : 30 keyboard_data : 31 read : 40 reset : 41 scan_ready : 45 clock_25Mhz : 91VI. Giao tieáp vôùi mouse a. Caùch hoaït ñoäng Mouse chöùa quaû banh ñeå cuoän 2 slotted wheels. Wheelsñöôïc noái ñeán hai con maõ hoaù quang hoïc. Hai ñaàu doø maõ hoùa xvaø y hoaït ñoäng do vieäc ñeám xung khi wheels di chuyeån. Mousechöùa 2 hay 3 nuùt nhaán coù theå ñöôïc ñoïc bôûi heä thoáng vaø chip ñieàukhieån. Vi ñieàu khieån seõ göûi tín hieäu ñeán maùy tính thoâng baùo tìnhtraïng nuùt nhaán vaø yeâu caàu hoaït ñoäng. Döõ lieäu cuûa mouse truyeànnhö baøn phím thoâng qua coång PS/2. nhöng khi khoâng truyeàn thìñöôøng xung cuûa mouse seõ ñöôïc keùo leân cao coøn ñöôøng döõ lieäu ôûtraïng thaùi naøo cuõng ñöôïc. Vaø quaù trình truyeàn phöùc taïp hôn vìmoät leänh cuûa mouse tröôùc khi truyeàn phaûi göûi maõ töï kieåm tratöông öùng vôùi maõ AA hay 00, roài göûi leänh Acknowledge töôngöùng vôùi maõ FA. Roài môùi baét ñaàu göûi 3 bit. b. Chöông trìnhLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MOUSE ISPORT ( clock_25Mhz, reset : INSTD_LOGIC; SIGNAL mouse_data : INOUTSTD_LOGIC; SIGNAL mouse_clk : INOUTSTD_LOGIC; SIGNAL left_button, right_button : OUTSTD_LOGIC; SIGNAL mouse_cursor_row: OUTSTD_LOGIC_VECTOR (9 DOWNTO 0); SIGNAL mouse_cursor_column: OUT STD_LOGIC_VECTOR (9 DOWNTO 0));END MOUSE;ARCHITECTURE behavior OF MOUSE IS TYPE STATE_TYPE IS (INHIBIT_TRANS,LOAD_COMMAND, LOAD_COMMAND2,WAIT_OUTPUT_READY, WAIT_CMD_ACK, INPUT_PACKETS);-- Tín hieäu cho mouse SIGNAL mouse_state : STATE_TYPE; SIGNAL inhibit_wait_count :STD_LOGIC_VECTOR(10 DOWNTO 0); SIGNAL CHARIN, CHAROUT : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL new_cursor_row, new_cursor_column: STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL cursor_row,cursor_column:STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL INCNT, OUTCNT, MSB_OUT:STD_LOGIC_VECTOR (3DOWNTO 0); SIGNAL PACKET_COUNT : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL SHIFTIN : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL SHIFTOUT : STD_LOGIC_VECTOR (10DOWNTO 0); SIGNAL PACKET_CHAR1, PACKET_CHAR2, PACKET_CHAR3 : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL MOUSE_CLK_BUF, DATA_READY,READ_CHAR: STD_LOGIC; SIGNAL i : INTEGER; SIGNAL cursor, iready_set, break, toggle_next, ...
Tìm kiếm theo từ khóa liên quan:
Thiết kế hệ thống xử lý ảnh tín hiệu số tín hiệu điều khiển điều khiển tốc độ IOB lập trình công tắc DIP cấu trúc MAX7000 chương trình gỡ lỗi thiết kế ngôn ngữTài liệu có liên quan:
-
Báo cáo thí nghiệm Lý thuyết điều khiển tự động: Xác định thông số bộ điều khiển PID
24 trang 202 0 0 -
Cơ Sở Điện Học Truyền Thông - Tín Hiệu Số part 1
9 trang 186 0 0 -
143 trang 183 0 0
-
Giáo trình môn xử lý tín hiệu số - Chương 5
12 trang 127 0 0 -
Sơ đồ điều khiển và tín hiệu máy cắt SF6– GL.107
4 trang 111 2 0 -
Giáo trình Vi điều khiển PIC16F và ngôn ngữ lập trình Hi-Tech C: Phần 1
78 trang 82 1 0 -
Giáo án Tin học lớp 8 bài 15: Gỡ lỗi
3 trang 71 0 0 -
Điều khiển PID tích hợp mạng nơ ron thích nghi cho tốc độ động cơ diesel tàu thủy
6 trang 45 0 0 -
Giáo trình Kỹ thuật truyền số liệu: Phần 1
147 trang 43 0 0 -
CHƯƠNG 4: CỔNG LOGIC VÀ CÁC ĐẶC TÍNH KỸ THUẬT CỦA IC SỐ
28 trang 42 0 0