Danh mục

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

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

Tài liệu được xem nhiều: