Thiết kế hệ thống xử lý ảnh video trên FPGA (CycloneII), chương 17
Số trang: 12
Loại file: pdf
Dung lượng: 75.34 KB
Lượt xem: 20
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:
Viết chương trình dịch 8 led từ trái sang phải và ngược lại 1. Mô hình Dùng chương trình Graphic Editor của phần mềm Maxplus có hỗ trợ một số IC đơn giản như: các cổng, IC đếm, đa hợp… và có thể mô phỏng chương trình đã biên soạn. Như bài bên dưới, ta đưa ra mô hình gồm IC đếm 4 bit và IC giải mã 74LS138. Khi có xung thì bộ đếm 4 bit sẽ bắt đầu đếm từ 0000 đến 1111 nhưng ta chỉ cần đếm từ 000 đến 111 nên chỉ chọn 3 ngõ ra...
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 17 Chương 17: THÖÏC HAØNHI. Vieát chöông trình dòch 8 led töø traùi sang phaûi vaø ngöôïc laïi 1. Moâ hình Duøng chöông trình Graphic Editor cuûa phaàn meàm Maxpluscoù hoã trôï moät soá IC ñôn giaûn nhö: caùc coång, IC ñeám, ña hôïp… vaøcoù theå moâ phoûng chöông trình ñaõ bieân soaïn. Nhö baøi beân döôùi,ta ñöa ra moâ hình goàm IC ñeám 4 bit vaø IC giaûi maõ 74LS138. Khi coù xung thì boä ñeám 4 bit seõ baét ñaàu ñeám töø 0000 ñeán1111 nhöng ta chæ caàn ñeám töø 000 ñeán 111 neân chæ choïn 3 ngoõ ratöø QA, QB, QC vaø töø tín hieäu ra cuûa boä ñeám, ta cho noù laø tínhieäu vaøo cuûa IC giaûi maõ 74138 laàn löôït ñöôïc giaûi maõ töø Y0 ñeánY7. Khi ñoù, ñeøn ñöôïc noái vôùi tín hieäu ra Y seõ laøm ñeøn saùng tuaàntöï. 2. Chöông trình Böôùc 1: Vieát caùc chöông trình rieâng a. Chöông trình chia taàn soá Vì taàn soá toaøn cuïc cuûa KIT quaù lôùn (25 MHz) neân ta khoângtheå quan saùt ñöôïc. Do ñoù, ta phaûi chia taàn soá xuoáng khoaûng 1Hz.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div ISPORT ( clock_25Mhz : IN STD_LOGIC; clock_1MHz : OUT STD_LOGIC; clock_100KHz : OUT STD_LOGIC; clock_10KHz : OUT STD_LOGIC; clock_1KHz : OUT STD_LOGIC; clock_100Hz : OUT STD_LOGIC; clock_10Hz : OUT STD_LOGIC; clock_1Hz : OUT STD_LOGIC);END clk_div;ARCHITECTURE a OF clk_div IS SIGNAL count_1Mhz: STD_LOGIC_VECTOR (4DOWNTO 0); SIGNAL count_100Khz, count_10Khz, count_1Khz: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL count_100hz, count_10hz, count_1hz: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL clock_1Mhz_int, clock_100Khz_int, clock_10Khz_int, clock_1Khz_int: STD_LOGIC; SIGNAL clock_100hz_int, clock_10Hz_int, clock_1Hz_int: STD_LOGIC;BEGIN PROCESS BEGIN--Chia 25 WAIT UNTIL clock_25Mhz EVENT AND clock_25Mhz =1; IF count_1Mhz < 24 THEN count_1Mhz END PROCESS;--Chia 10 PROCESS BEGIN WAIT UNTIL clock_1Mhz_int EVENT ANDclock_1Mhz_int = 1; IF count_100Khz /= 4 THEN count_100Khz BEGIN WAIT UNTIL clock_10Khz_int EVENT ANDclock_10Khz_int = 1; IF count_1Khz /= 4 THEN count_1Khz count_10hz LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fft IS PORT (clk : IN STD_LOGIC; B : OUT STD_LOGIC);END fft;ARCHITECTURE bb OF fft ISSIGNAL C: STD_LOGIC;BEGIN PROCESS (clk) BEGIN BUSE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cf IS PORT ( clk_25MHz : IN STD_LOGIC; clk_1Hz : OUT STD_LOGIC);END cf;ARCHITECTURE bb OF cf ISCOMPONENT fft PORT ( clk : IN STD_LOGIC; B : OUT STD_LOGIC);END COMPONENT;SIGNAL B, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22 : STD_LOGIC;BEGIN X1:fft PORT MAP (clk => clk_25MHz, B => B); X2:fft PORT MAP (clk => B, B => B1); X3:fft PORT MAP (clk => B1, B => B2); X4:fft PORT MAP (clk => B2, B => B3); X5:fft PORT MAP (clk => B3, B => B4); X6:fft PORT MAP (clk => B4, B => B5); X7:fft PORT MAP (clk => B5, B => B6); X8:fft PORT MAP (clk =>B6, B => B7); X9:fft PORT MAP (clk => B7, B => B8); X10:fft PORT MAP (clk => B8, B => B9); X11:fft PORT MAP (clk => B9, B => B10); X12:fft PORT MAP (clk => B10, B => B11); X13:fft PORT MAP (clk => B11, B => B12); X14:fft PORT MAP (clk => B12, B => B13); X15:fft PORT MAP (clk => B13, B => B14); X16:fft PORT MAP (clk => B14, B => B15); X17:fft PORT MAP (clk => B15, B => B16); X18:fft PORT MAP (clk => B16, B => B17); X19:fft PORT MAP (clk => B17, B => B18); X20:fft PORT MAP (clk => B18, B => B19); X21:fft PORT MAP (clk => B19, B => B20); X22:fft PORT MAP (clk => B20, B => B21); X23:fft PORT MAP (clk => B21, B => B22); X24:fft PORT MAP (clk => B22, B => clk _1Hz);END; b. Chöông trình ñeám Ta vieát chöông trình ñeám ñeán 8: töø ‘000’ ñeán 111. Do ñoù chæ caàn coù caùc tín hieäu nhö: xung (clk) vaø 1 thanhghi COUNT (3 bit)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Counter IS PORT ( Clock : IN STD_LOGIC; Count : OUT STD_LOGIC_VECTOR (2DOWNTO ...
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 17 Chương 17: THÖÏC HAØNHI. Vieát chöông trình dòch 8 led töø traùi sang phaûi vaø ngöôïc laïi 1. Moâ hình Duøng chöông trình Graphic Editor cuûa phaàn meàm Maxpluscoù hoã trôï moät soá IC ñôn giaûn nhö: caùc coång, IC ñeám, ña hôïp… vaøcoù theå moâ phoûng chöông trình ñaõ bieân soaïn. Nhö baøi beân döôùi,ta ñöa ra moâ hình goàm IC ñeám 4 bit vaø IC giaûi maõ 74LS138. Khi coù xung thì boä ñeám 4 bit seõ baét ñaàu ñeám töø 0000 ñeán1111 nhöng ta chæ caàn ñeám töø 000 ñeán 111 neân chæ choïn 3 ngoõ ratöø QA, QB, QC vaø töø tín hieäu ra cuûa boä ñeám, ta cho noù laø tínhieäu vaøo cuûa IC giaûi maõ 74138 laàn löôït ñöôïc giaûi maõ töø Y0 ñeánY7. Khi ñoù, ñeøn ñöôïc noái vôùi tín hieäu ra Y seõ laøm ñeøn saùng tuaàntöï. 2. Chöông trình Böôùc 1: Vieát caùc chöông trình rieâng a. Chöông trình chia taàn soá Vì taàn soá toaøn cuïc cuûa KIT quaù lôùn (25 MHz) neân ta khoângtheå quan saùt ñöôïc. Do ñoù, ta phaûi chia taàn soá xuoáng khoaûng 1Hz.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div ISPORT ( clock_25Mhz : IN STD_LOGIC; clock_1MHz : OUT STD_LOGIC; clock_100KHz : OUT STD_LOGIC; clock_10KHz : OUT STD_LOGIC; clock_1KHz : OUT STD_LOGIC; clock_100Hz : OUT STD_LOGIC; clock_10Hz : OUT STD_LOGIC; clock_1Hz : OUT STD_LOGIC);END clk_div;ARCHITECTURE a OF clk_div IS SIGNAL count_1Mhz: STD_LOGIC_VECTOR (4DOWNTO 0); SIGNAL count_100Khz, count_10Khz, count_1Khz: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL count_100hz, count_10hz, count_1hz: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL clock_1Mhz_int, clock_100Khz_int, clock_10Khz_int, clock_1Khz_int: STD_LOGIC; SIGNAL clock_100hz_int, clock_10Hz_int, clock_1Hz_int: STD_LOGIC;BEGIN PROCESS BEGIN--Chia 25 WAIT UNTIL clock_25Mhz EVENT AND clock_25Mhz =1; IF count_1Mhz < 24 THEN count_1Mhz END PROCESS;--Chia 10 PROCESS BEGIN WAIT UNTIL clock_1Mhz_int EVENT ANDclock_1Mhz_int = 1; IF count_100Khz /= 4 THEN count_100Khz BEGIN WAIT UNTIL clock_10Khz_int EVENT ANDclock_10Khz_int = 1; IF count_1Khz /= 4 THEN count_1Khz count_10hz LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fft IS PORT (clk : IN STD_LOGIC; B : OUT STD_LOGIC);END fft;ARCHITECTURE bb OF fft ISSIGNAL C: STD_LOGIC;BEGIN PROCESS (clk) BEGIN BUSE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cf IS PORT ( clk_25MHz : IN STD_LOGIC; clk_1Hz : OUT STD_LOGIC);END cf;ARCHITECTURE bb OF cf ISCOMPONENT fft PORT ( clk : IN STD_LOGIC; B : OUT STD_LOGIC);END COMPONENT;SIGNAL B, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22 : STD_LOGIC;BEGIN X1:fft PORT MAP (clk => clk_25MHz, B => B); X2:fft PORT MAP (clk => B, B => B1); X3:fft PORT MAP (clk => B1, B => B2); X4:fft PORT MAP (clk => B2, B => B3); X5:fft PORT MAP (clk => B3, B => B4); X6:fft PORT MAP (clk => B4, B => B5); X7:fft PORT MAP (clk => B5, B => B6); X8:fft PORT MAP (clk =>B6, B => B7); X9:fft PORT MAP (clk => B7, B => B8); X10:fft PORT MAP (clk => B8, B => B9); X11:fft PORT MAP (clk => B9, B => B10); X12:fft PORT MAP (clk => B10, B => B11); X13:fft PORT MAP (clk => B11, B => B12); X14:fft PORT MAP (clk => B12, B => B13); X15:fft PORT MAP (clk => B13, B => B14); X16:fft PORT MAP (clk => B14, B => B15); X17:fft PORT MAP (clk => B15, B => B16); X18:fft PORT MAP (clk => B16, B => B17); X19:fft PORT MAP (clk => B17, B => B18); X20:fft PORT MAP (clk => B18, B => B19); X21:fft PORT MAP (clk => B19, B => B20); X22:fft PORT MAP (clk => B20, B => B21); X23:fft PORT MAP (clk => B21, B => B22); X24:fft PORT MAP (clk => B22, B => clk _1Hz);END; b. Chöông trình ñeám Ta vieát chöông trình ñeám ñeán 8: töø ‘000’ ñeán 111. Do ñoù chæ caàn coù caùc tín hieäu nhö: xung (clk) vaø 1 thanhghi COUNT (3 bit)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Counter IS PORT ( Clock : IN STD_LOGIC; Count : OUT STD_LOGIC_VECTOR (2DOWNTO ...
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ữGợi ý tài liệu liên quan:
-
143 trang 170 0 0
-
Cơ Sở Điện Học Truyền Thông - Tín Hiệu Số part 1
9 trang 167 0 0 -
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 151 0 0 -
Giáo trình môn xử lý tín hiệu số - Chương 5
12 trang 107 0 0 -
Sơ đồ điều khiển và tín hiệu máy cắt SF6– GL.107
4 trang 101 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 74 0 0 -
Giáo án Tin học lớp 8 bài 15: Gỡ lỗi
3 trang 54 0 0 -
Giáo trình Kỹ thuật truyền số liệu: Phần 1
147 trang 35 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 34 0 0 -
Luận văn Đồ án Khảo sát thông số đầu vào tới quá trình phun của vòi phun nhiên liệu
130 trang 30 0 0