Thiết kế hệ thống xử lý ảnh video trên FPGA (CycloneII), chương 18
Số trang: 11
Loại file: pdf
Dung lượng: 79.95 KB
Lượt xem: 15
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:
Đầu tiên ngõ vào cao và thấp (IN HI và IN LO) không nối các chân và phần bên trong gắn đến COMMON, sau đó các Cref sẽ thay đổi Vref, CAZ bù cho Voffset của mạch đệm khuếch đại, mạch tích phân và mạch so sánh. Trong suốt quá trình tích hợp tín hiệu, các vòng A-Z mở, lúc đó các tín hiệu IN HI và IN LO được nối với các chân ngoài. Khi đó bộ đảo sẽ tích phân tín hiệu giữa IN HI và IN LO trong khoảng thời gian xác định. Nếu trong chế...
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 18 Chương 18: Keát hôïp caùc chöông trình Chöông trình dòch: laø chöông trình keát hôïp caùc chöông trình chia taàn soá, chöông trình ñeám vaø chöông trình ña hôïp 3-8 decode ñeå dòch led LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY dich IS PORT ( clock_25MHz : IN STD_LOGIC; A, B, C, D, E, F, G, H : OUT STD_LOGIC); END dich; ARCHITECTURE xl OF dich IS SIGNAL Count :STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL CLocK_1MHz,CLocK_100KHz,CLocK_10KHz,CLocK_1K Hz, CLocK_100Hz, CLocK_10Hz, CLocK_1Hz : STD_LOGIC; COMPONENT clk_div PORT (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 COMPONENT; COMPONENT counter PORT (Clock : IN STD_LOGIC; Count : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END COMPONENT; COMPONENT dahop PORT (Ai : IN STD_LOGIC_VECTOR (2 DOWNTO 0); A, B, C, D, E, F, G, H : OUT STD_LOGIC); END COMPONENT; BEGIN x1: clk_div PORT MAP (clock_25Mhz=>clock_25Mhz, clock_1MHz=>clock_1MHz, clock_100KHz=>clock_100KHz, clock_10KHz=>clock_10KHz, clock_1KHz=>clock_1KHz, clock_100Hz=>clock_100Hz,clock_10Hz=>clock_10 Hz, clock_1Hz=>clock_1Hz); x2: counter PORT MAP (clock=>clock_1Hz,Count=>Count); x3: dahop PORT MAP Ai=>count (2 DOWNTO 0), A=>A, B=>B, C=>C, D=>D,E=>E, F=>F, G=>G, H=>H); END; *Sau khi vieát chöông trình dòch led xong, ta phaûi thöïc hieän phaàn gaùn chaân cho linh kieän, sau ñoù bieân dòch laïi chöông trình roài môùi naïp chöông trình vaøo chip EPM7128S treân KIT Teân tín hieäu Chaân linh kieän EPM7128S clock_25MHz 83 A 6 B 9 C 11 D 15 E 17 F 20 G 22 H 24 II. Chöông trình ñeám töø 00 ñeán 99 (00000000 ñeán 10011001) treân Led 7 ñoaïn: 1. Moâ hình: 2. Chöông trình a. Chöông trình ñeám ñeán 9 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; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END Counter; ARCHITECTURE behavior OF Counter IS SIGNAL in_count : STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL reset : STD_LOGIC; BEGIN PROCESS (Clock) BEGIN reset PORT ( hex_digit : IN STD_LOGIC_VECTOR (3 DOWNTO 0); data : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)); END dec_7seg; ARCHITECTURE a OF dec_7seg IS SIGNAL segment_data: STD_LOGIC_VECTOR (6 DOWNTO 0); BEGIN PROCESS (Hex_digit) BEGIN CASE hex_digit IS WHEN 0000 => segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY counterb IS PORT ( clock_25MHz : IN STD_LOGIC; Data1 : OUT STD_LOGIC_VECTOR (6 DOWNTO 0); Data2 : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)); END counterb; ARCHITECTURE xuly OF counterb IS SIGNAL Count: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL clock_1MHz, clock _100KHz, clock _10KHz, clock _1KHz, clock _100Hz, clock _10Hz, clock _1Hz: STD_LOGIC; SIGNAL q, ql : STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL clk_out: STD_LOGIC; COMPONENT clk_div PORT(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 COMPONENT; COMPONENT counter PORT ( Clock : IN STD_LOGIC; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END COMPONENT; COMPONENT counter1 PORT ( Clock : IN STD_LOGIC; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END COMPONENT; COMPONENT dec_7seg PORT ( hex_digit : IN STD_LOGIC_VECTOR (3 DOWNTO 0); data : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)); END COMPONENT; BEGIN x1: clk_div PORT MAP (clock_25Mhz=>clock_25Mhz, clock_1MHz=>clock_1MHz, clock_100KHz=>clock_10KHz, ...
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 18 Chương 18: Keát hôïp caùc chöông trình Chöông trình dòch: laø chöông trình keát hôïp caùc chöông trình chia taàn soá, chöông trình ñeám vaø chöông trình ña hôïp 3-8 decode ñeå dòch led LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY dich IS PORT ( clock_25MHz : IN STD_LOGIC; A, B, C, D, E, F, G, H : OUT STD_LOGIC); END dich; ARCHITECTURE xl OF dich IS SIGNAL Count :STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL CLocK_1MHz,CLocK_100KHz,CLocK_10KHz,CLocK_1K Hz, CLocK_100Hz, CLocK_10Hz, CLocK_1Hz : STD_LOGIC; COMPONENT clk_div PORT (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 COMPONENT; COMPONENT counter PORT (Clock : IN STD_LOGIC; Count : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END COMPONENT; COMPONENT dahop PORT (Ai : IN STD_LOGIC_VECTOR (2 DOWNTO 0); A, B, C, D, E, F, G, H : OUT STD_LOGIC); END COMPONENT; BEGIN x1: clk_div PORT MAP (clock_25Mhz=>clock_25Mhz, clock_1MHz=>clock_1MHz, clock_100KHz=>clock_100KHz, clock_10KHz=>clock_10KHz, clock_1KHz=>clock_1KHz, clock_100Hz=>clock_100Hz,clock_10Hz=>clock_10 Hz, clock_1Hz=>clock_1Hz); x2: counter PORT MAP (clock=>clock_1Hz,Count=>Count); x3: dahop PORT MAP Ai=>count (2 DOWNTO 0), A=>A, B=>B, C=>C, D=>D,E=>E, F=>F, G=>G, H=>H); END; *Sau khi vieát chöông trình dòch led xong, ta phaûi thöïc hieän phaàn gaùn chaân cho linh kieän, sau ñoù bieân dòch laïi chöông trình roài môùi naïp chöông trình vaøo chip EPM7128S treân KIT Teân tín hieäu Chaân linh kieän EPM7128S clock_25MHz 83 A 6 B 9 C 11 D 15 E 17 F 20 G 22 H 24 II. Chöông trình ñeám töø 00 ñeán 99 (00000000 ñeán 10011001) treân Led 7 ñoaïn: 1. Moâ hình: 2. Chöông trình a. Chöông trình ñeám ñeán 9 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; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END Counter; ARCHITECTURE behavior OF Counter IS SIGNAL in_count : STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL reset : STD_LOGIC; BEGIN PROCESS (Clock) BEGIN reset PORT ( hex_digit : IN STD_LOGIC_VECTOR (3 DOWNTO 0); data : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)); END dec_7seg; ARCHITECTURE a OF dec_7seg IS SIGNAL segment_data: STD_LOGIC_VECTOR (6 DOWNTO 0); BEGIN PROCESS (Hex_digit) BEGIN CASE hex_digit IS WHEN 0000 => segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data segment_data LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY counterb IS PORT ( clock_25MHz : IN STD_LOGIC; Data1 : OUT STD_LOGIC_VECTOR (6 DOWNTO 0); Data2 : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)); END counterb; ARCHITECTURE xuly OF counterb IS SIGNAL Count: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL clock_1MHz, clock _100KHz, clock _10KHz, clock _1KHz, clock _100Hz, clock _10Hz, clock _1Hz: STD_LOGIC; SIGNAL q, ql : STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL clk_out: STD_LOGIC; COMPONENT clk_div PORT(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 COMPONENT; COMPONENT counter PORT ( Clock : IN STD_LOGIC; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END COMPONENT; COMPONENT counter1 PORT ( Clock : IN STD_LOGIC; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END COMPONENT; COMPONENT dec_7seg PORT ( hex_digit : IN STD_LOGIC_VECTOR (3 DOWNTO 0); data : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)); END COMPONENT; BEGIN x1: clk_div PORT MAP (clock_25Mhz=>clock_25Mhz, clock_1MHz=>clock_1MHz, clock_100KHz=>clock_10KHz, ...
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:
-
Cơ Sở Điện Học Truyền Thông - Tín Hiệu Số part 1
9 trang 184 0 0 -
143 trang 175 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 174 0 0 -
Giáo trình môn xử lý tín hiệu số - Chương 5
12 trang 121 0 0 -
Sơ đồ điều khiển và tín hiệu máy cắt SF6– GL.107
4 trang 106 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 75 0 0 -
Giáo án Tin học lớp 8 bài 15: Gỡ lỗi
3 trang 62 0 0 -
Giáo trình Kỹ thuật truyền số liệu: Phần 1
147 trang 41 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 38 0 0 -
27 trang 34 0 0