Xem mẫu
- • Xử lý ảnh thời gian thực được ứng dụng nhiều trong
các sản phẩm điện tử như:
– Hệ thống giám sát Video
– Hệ thống công nghiệp
– Thiết bị hình ảnh y tế
– Thiết bị cảm biến hình ảnh của Robot
• Kit DE2 là một kit hỗ trợ xử lý ảnh với các ngõ giao
tiếp VGA, S-Video có thể ứng dụng trong xử lý ảnh
thời gian thực
- 1. Tìm hiểu kit DE2
2. Tìm hiểu điều khiển VGA
3. Tìm hiểu đọc tín hiệu ngõ vào S-Video
4.Thiết kế phần cứng cho bộ xử lý ảnh
+ Lọc đường biên
+ Lọc trung bình
+ Lọc nhiễu Gauss
5.Ứng dụng bộ xử lý ảnh thời gian thực lên kit DE2
- Camera
KIT DE2
Monitor
- SDRAM
YUV
Desize
Video Buffer
Data Horizon
Even422
Odd422
VGA RGB Video
MUX
TV Controller
Timer trì DAC
YUV422
71818 Hoãn ban
7123
đầu
RBG 10b
Filter
YUV422
I2C
Convert
Video
YCrCb to
YUV422 to
Config
YUV444
YUV 444
- Khối I2C_config cài đặt giá trị cho thanh ghi để mã hóa cho
chip ADV7181B, còn khối Timer trì hoãn ban đầu thì dùng để
tính toán thời gian làm việc cho khối khác sau chuỗi khởi động
của ADV7181B
Khối ITU656 sẽ lấy ra chuỗi liên tục các pixel rồi chuyển từ
720x480 sang chuẩn VGA 640x480 sau đó xuất ra cho SDRAM,
SDRAM nhận tín hiệu điều khiển từ VGA controller xuất ra
cho bộ filter và từ đó xử lý các pixel trước khi chuyển
sang YUV444 để convert sang chuẩn RGB 10 bit
để xuất lên monitor
- Trên kit DE2 có 2 chân I2C_SDAT và I2C_SCLK tương ứng
với SDA và SCLK dành cho người dùng có thể thực hiện cấu
hình giao thức I2C.
Ta sẽ tạo ra một bộ I2C Master để cấu hình cho Slave
là ADV7181B, các thông số cấu hình ADV đã được đưa ra
trong tài liệu của nhà sản xuất với ngõ vào là
composite video.
Dữ liệu trên chân I2C_SDAT sẽ được truyền đi từng
byte, 3 byte 1 lần, sau mỗi byte sẽ nhận 1 ACK từ
slave gởi về, bằng cách đưa chân I2C_SDAT
lên Hiz, để xác nhận truyền đúng hay sai.
- RESET
Nạp giá trị
cho thanh ghi
Phát
Chuyể đế
nn No
hiệ ACK từ
n Giữ nguyên
thanh ghi mới ADV7181B vị trí thanh ghi
Yes
No Nạp xong
các thanh ghi
Yes
KẾT THÚC
- RD1_LOAD
RD1_DATA [15:0]
SDRAM RAM
RD1
READ
RD1_CLK
FIFO1
CLK CLK
CLK_27
PLL SDR_CLK
DATA_OUT
SIDE1[8:0]
READ_
WR_RD
FIFO2
[15:0]
DQ[15:0]
RESET
WR_DATA [15:0] SA[11:0]
DATA_IN
CAS_N
Control
SDRAM RAS
WR_LOAD
Center SDR_CLK
WRITE WE_N
WRITE_SIDE
WR
FIFO BA[1:0]
WR_CLK CS_N[1:0]
RD_WR FIFO DQM[1:0]
CLK
SIDE2[8:0]
[15:0]
DATA_OUT
WR_RD
FIFO2
READ_
RD2_LOAD
RD2_DATA [15:0]
SDRAM RAM
RD2
READ
RD2_CLK
FIFO2
CLK
- RESET
Khối SDRAM
gồm các khối Đọc từ SDRAM (Phần chứa các line Odd frame )
Rồi ghi vào SDRAM READ FIFO 1
PLL và FIFO
được tạo từ Sai
Ghi xong một khối vào
SDRAM READ FIFO 1
Mega Wizard Đúng
hỗ trợ bởi Đọc từ SDRAM (Phần chứa các line Even frame )
Rồi ghi vào SDRAM READ FIFO2
Quartus.Ta có
lưu đồ giải Sai
Ghi xong một khối vào
thuật ghi SDRAM READ FIFO 2
Đúng
SD RAM. Đọc từ SDRAM WRITE FIFO và
Ghi vào SDRAM
Sai
Ghi xong một khối
vào SDRAM
Đúng
- CLK
CLK RESET
oRequest
iRed
oVGA_BLANK
oVGA_CLOCK
oVGA_SYNC
oVGA_VS
Khối VGA
iGreen oVGA_HS
Controller
VGA_X[0]
VGA_Y[0]
oVGA_R
iBlue oVGA_G
oVGA_B
- Khối sẽ tạo các tín hiệu điều khiển ADV7123 và đồng
bộ việc truy xuất, xử lý dữ liệu các khối khác dựa trên các
tín hiệu quét dọc quét ngang
RESET
Ta có lưu đồ
giải thuật của Khởi tạo H _cont = 0
Và đế lên sau 1 chu kì
m
VGA_HS Xung clock
Sai
H_FRONT = 1 ≤ H_cont
≤ H_FRONT -H_SYNC- 1
Đúng
VGA_HS=1
VGA_HS=0
H_cont =H_TOTAL
Đúng
- Gồm có khối Line Buffer là bộ đệm để lưu trữ các pixel cần
thiết
và image processing dùng để xử lý lọc biên, lọc trung bình và lọc
nhiễu Gauss RESET CLK RESET CLK
oRequest iX[0]
Resgister oY [7:0]
[1…9] [15:0]
Extract
Image
Line YCbCr to
mYCbCr_d oCb [7:0]
Process
Buffer Y,Cb,Cr
iYCbCr
oCr [7:0]
- Chập ma trận cửa sổ 3x3 theo phương pháp gradient với mặt nạ
Sobel
Với các hệ số âm ta lấy bù rồi dịch bit nếu cần
Giá trị ngõ ra được tính theo công thức
Với các giá trị bình phương được tạo từ Mega Wizard
Và khối sẽ xuất ra các giá trị pixel nằm chính giữa
cửa sổ
- Thực hiện phép tương quan cửa sổ pixel với mặt nạ canary
Ta nhân các thành phần tương ứng của hai cửa sổ lại với nhau
và
chỉ có các hệ số 1,2,4 nên dễ dàng nhận thấy kết quả là 10bit
+ k=1 thì giữ nguyên
+k=2 thì dịch trái 1 bit
+k=4 thì dịch trái 2 bit
=>Chia cho 16 là thực hiện việc lấy 8bit cao
- Giá trị
Thông số
Loại FPGA Cyclone II 2C35
Tổng số Logic Cell Total logic elements:1738
Total combinational funtion:1425
Dedicated logic registers:1169
Tổng bộ nhớ sử 64416 bits
dụng
Tần số hoạt động tối
đa
Độ trễ nhỏ nhất
- Đã cấu hình và sử dụng được chip mã hóa ADV7181B
Sử dụng được SDRAM để lưu trữ dữ liệu
Đã hiển thị được lên VGA ảnh video với kích thước chuẩn
640x480
Thiết kế được bộ lọc trung bình, bộ lọc biên viết bằng ngôn
ngữ verilog
nguon tai.lieu . vn