1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế hệ thống xử lý ảnh video trên FPGA (CycloneII), chương 25 doc

9 355 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 74,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 25: Chöông trình lieân keátLIBRARY IEEE; USE IEEE.STD_LOGIC_1164 .ALL; USE IEEE.STD_LOGIC_ARITH .ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; LIBRARY lpm; USE lpm.lpm_components.ALL; PA

Trang 1

Chương 25: Chöông trình lieân keát

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164 ALL;

USE IEEE.STD_LOGIC_ARITH ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

LIBRARY lpm;

USE lpm.lpm_components.ALL;

PACKAGE up1core IS

COMPONENT dec_7seg

PORT(hex_digit: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

segment_a, segment_b, segment_c, segment_d,

segment_e, segment_f, segment_g : OUT

STD_LOGIC);

END COMPONENT;

COMPONENT vga_sync

PORT(clock_25Mhz, red, green, blue : IN STD_LOGIC;

STD_LOGIC;

STD_LOGIC;

STD_LOGIC_VECTOR(9 DOWNTO 0));

END COMPONENT;

COMPONENT mouse

PORT( clock_25Mhz, reset : IN STD_LOGIC;

left_button, right_button : OUT STD_LOGIC;

Trang 2

mouse_cursor_row :OUT STD_LOGIC_VECTOR ( 9 DOWNTO 0);

mouse_cursor_column : OUT STD_LOGIC_VECTOR

(9 DOWNTO 0));

END COMPONENT;

END up1core;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_SIGNED.ALL;

LIBRARY work;

USE work.up1core.ALL;

ENTITY vmouse IS

Generic(ADDR_WIDTH: integer := 12; DATA_WIDTH: integer := 1);

STD_LOGIC;

STD_LOGIC;

STD_LOGIC;

OUT STD_LOGIC;

SIGNAL MSB_e, MSB_f, MSB_g, MSB_dp: OUT

STD_LOGIC;

STD_LOGIC;

Trang 3

SIGNAL Horiz_sync,Vert_sync : OUT STD_LOGIC;

STD_LOGIC;

STD_LOGIC);

ARCHITECTURE behavior OF vmouse IS

SIGNAL Red_Data, Green_Data, Blue_Data, vert_sync_int,

color_on, Direction : STD_LOGIC;

DOWNTO 0);

SIGNAL mouse_cursor_row, mouse_cursor_column:

STD_LOGIC_VECTOR (9 DOWNTO 0);

STD_LOGIC_VECTOR (9 DOWNTO 0);

STD_LOGIC_VECTOR(3 DOWNTO 0);

(6 DOWNTO 0);

SIGNAL left_button, right_button :

STD_LOGIC;

BEGIN

SYNC: vga_sync

PORT MAP(clock_25Mhz => clock,

red => red_data, green => green_data, blue => blue_data,

Trang 4

red_out => red, green_out => green, blue_out => blue,

horiz_sync_out => horiz_sync, vert_sync_out => vert_sync,

pixel_row => pixel_row, pixel_column => pixel_column);

MSD: dec_7seg

PORT MAP(hex_digit => MSB,segment_a =>

MSB_a,

segment_b => MSB_b, segment_c => MSB_c, segment_d => MSB_d,segment_e => MSB_e, segment_f => MSB_f,

segment_g => MSB_g );

LSD: dec_7seg

PORT MAP(hex_digit => LSB,segment_a =>

LSB_a,

segment_b => LSB_b, segment_c => LSB_c, segment_d => LSB_d,segment_e => LSB_e, segment_f => LSB_f,

segment_g => LSB_g );

mous:mouse

PORT MAP(clock_25Mhz=>clock, reset=> reset,

mouse_data=>mouse_data,mouse_clk=>mouse_clk,

left_button=>left_button, right_button=>right_button,

mouse_cursor_row=>mouse_cursor_row, mouse_cursor_column=>mouse_cursor_column ); Size <= CONV_STD_LOGIC_VECTOR(8,10);

Trang 5

Red_Data <= '0';

Green_Data <= color_on;

Blue_Data <= color_on;

LSB_dp <= left_button;

MSB_dp <= right_button;

MSB <= mouse_cursor_row(7 DOWNTO 4);

LSB <= mouse_cursor_column(7 DOWNTO 4);

Chương trình chọn tín hiệu RGB hiển thị

mouse_cursor_column, pixel_column, pixel_row,size)

BEGIN

IF ( '0'&mouse_cursor_column <= pixel_column +size)

AND

(mouse_cursor_column+size >= '0'&pixel_column)

AND

( '0'&mouse_cursor_row <= pixel_row +size) AND (mouse_cursor_row +size >= '0'& pixel_row ) THEN

color_on <= '1';

ELSE

color_on <= '0';

END IF;

END process RGB_Display;

END behavior;

Sau đó lưu lại và biên dịch Rồi chọn linh kiện và gán chân như sau :

MSB_b : 7

MSB_c : 8

MSB_d : 9

Trang 6

MSB_e : 11

MSB_f : 12

MSB_g : 13

MSB_dp : 14

LSB_a : 17

LSB_b : 18

LSB_c : 19

LSB_d : 20

LSB_e : 21

LSB_f : 23

LSB_g : 24

LSB_dp : 25

mouse_clk : 30

mouse_data : 31

reset : 41

Clock : 91

Red : 236

Green : 237

Blue : 238

Vert_sync : 239

Horiz_sync : 240

Lưu và biên dịch lại chương trình rồi nạp lên KIT Tuy nhiên kết quả chưa hoàn chỉnh, con trỏ vẫn chưa thể di chuyển hết toàn bộ màn hình Do kich thước của ROM và của con trỏ chuột không phù hợp với kích thước của màn hình

Trang 8

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận

Qua quá trình tìm hiểu và thực hiện đề tài cùng với các kiến thức mà thầy cô truyền đạt, chúng em nhận thấy rằng FPGAs XC4005XL hãng Xilinx và các chip MAX7000S, chip FLEX10K hãng Altera có khả năng lập trình rất linh hoạt Ta có thể lập trình để thực hiện các mô hình điều khiển từ đơn giản đến phức tạp như điều khiển tốc độ của động cơ, điều khiển nhiệt độ trong lò vi ba sóng, máy giặt, tủ lạnh,…

Trong đề tài này, chúng em đã thực hiện được một số ứng dụng trên KIT UP2 hãng Altera như chương trình dịch led từ phải sang trái và ngược lại, chương trình đếm và hiển thị trên LED 7 đoạn, mạch hiển thị nhiệt độ điều khiển động cơ bên ngoài để giao tiếp với KIT UP2, các chương trình giao tiếp với VGA, Keyboard, mouse

Trong quá trình thực hiện đề tài, chúng em gặp khó khăn về phần mềm của XILINX Vì khi biên dịch chương trình thì linh kiện sẽ được gán chân một cách ngẫu nhiên, không phù hợp với thiết kế nên ta phải gán chân lại cho linh kiện, nhưng phần mềm XILINX lại không hỗ trợ cho phần này nên chúng em phải chuyển sang tìm hiểu và thực hiện trên KIT UP2 của Altera

Tuy nhiên do thời gian và kiến thức có hạn nên chúng em chưa thể thực hiện được những chương trình phức tạp hơn Kính mong sự đóng góp ý kiến của thầy cô và các bạn để đề tài được hoàn thiện hơn

Hướng phát triển:

Trang 9

Nếu như áp dụng điều khiển này bằng logic mờ, ta có thể điều chỉnh tốc độ quay tùy ý theo tín hiệu số thông qua mạch điều biến xung Ứng với nhiệt độ trong khoảng yêu cầu cùng với tốc độ quạt hồi tiếp về mà ta dùng các luật hợp thành của logic mờ để đưa ra một tín hiệu điều khiển Từ tín hiệu đó, thông qua mạch chuyển đổi A/D để chuyển đổi tín hiệu analog đó thành số Từ tín hiệu số ta qua mạch điều biến xung để điều khiển tốc độ quạt nhanh chậm theo tín hiệu

Mô hình điều khiển tốc độ quạt tự động theo nhiệt độ môi

trường

TÀI LIỆU THAM KHẢO

1 www.Xilinx.com

2 www.Altera.com

3 Rapid Prototyping Pf Digital Systems James O.Hamblen Michael D Furman

Ngày đăng: 05/07/2014, 16:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm