一、軟件介紹
本系統(tǒng)采用了LATTICE的XP系列芯片,所用軟件為splever7.0,應(yīng)用本軟件有一個新加功能,可以用FPGA的底層資源生成一個簡單CPU的框架,并且在軟件的庫里邊,有很多的模塊可以調(diào)用,例如GPIO接口,I2C接口等。本系統(tǒng)的設(shè)計使用的是I2C接口。
二、系統(tǒng)構(gòu)成
圖1 系統(tǒng)框圖
本系統(tǒng)(系統(tǒng)框圖如圖1)是采用FPGA進行實時運算。從cmos傳感器出來的數(shù)字信號首先經(jīng)過白平衡處理模塊,在這個模塊中,需要對圖象中的R、G、B的分量分別進行計算,求出他們各自的均值。一般情況下,只有當他們各自的均值為128或者129的時候,我們可以認為圖象達到了白平衡的狀態(tài),當然有一個前提就是要對一個白色的背景取圖。如果他們的均值不相等,或者沒有達到128或者129的值時,給I2C模塊一個信號,使之對傳感器的顏色分量寄存器進行設(shè)置,直到完全為我們所期待的數(shù)值為止。
三、部分程序和接口
module send( reset_n,
clk,
vsync,
href,
data_in,
data_out);
input reset_n;
//系統(tǒng)復(fù)位信號
input clk;
//系統(tǒng)時鐘
input vsync;
//廠信號
input href;
//行信號
input [9:0]data_in;
//圖象數(shù)據(jù)
output [29:0]data_out;//色彩分量均值
reg [25:0]count_r;
always@(negedge clk or posedge posevsync)begin
if(posevsync)
count_r 《= 26‘h00000000;
else begin
if(hs_count》=10’d129&&hs_count《=10‘d640)
begin
if((pixcount》=11’d384&&pixcount《=11‘d895)&&row_odd_href)
begin
if(!row_odd_pix)
count_r 《= count_r + data_in;
else
count_r 《= count_r;
end
else
count_r 《= count_r;
end
else
count_r 《= count_r;
end
end
reg [26:0]count_g;
always@(negedge clk or posedge posevsync)begin
if(posevsync)
count_g 《= 27’h00000000;
else begin
if(hs_count》=10‘d129&&hs_count《=10’d640)
begin
if(pixcount》=11‘d384&&pixcount《=11’d895)
begin
if(row_odd_href)
begin
if(row_odd_pix)
count_g 《= count_g + data_in;
else
count_g 《= count_g;
end
else begin
if(!row_odd_pix)
count_g 《= count_g + data_in;
else
count_g 《= count_g;
end
end
else
count_g 《= count_g;
end
else
count_g 《= count_g;
end
end
reg [25:0]count_b;
always@(negedge clk or posedge posevsync)begin
if(posevsync)
count_b 《= 26‘h00000000;
else begin
if(hs_count》=10’d129&&hs_count《=10‘d640)
begin
if((pixcount》=11’d384&&pixcount《=11‘d895)&&(!row_odd_href))
begin
if(row_odd_pix)
count_b 《= count_b + data_in;
else
count_b 《= count_b;
end
else
count_b 《= count_b;
end
else
count_b 《= count_b;
end
end
reg [29:0]data_out;
always@(negedge vsync or negedge reset_n)begin
if(!reset_n)
data_out 《= 30’h0000000000;
else
data_out
《= {count_r[25:16], count_g[26:17], count_b[25:16]};
end
四、仿真圖形
系統(tǒng)的總體仿真圖如圖2
圖2 系統(tǒng)仿真圖
五、結(jié)論
采用FPGA對自動白平衡進行運算的一個最大的優(yōu)點就是所有的操作都是實時進行,不需要先緩存一整張圖象,所以中間沒有延時,不僅運算速度快,而且圖像的相質(zhì)還可以得到很好的改良。
-
傳感器
+關(guān)注
關(guān)注
2551文章
51134瀏覽量
753898 -
FPGA
+關(guān)注
關(guān)注
1629文章
21744瀏覽量
603660 -
芯片
+關(guān)注
關(guān)注
455文章
50851瀏覽量
423980
發(fā)布評論請先 登錄
相關(guān)推薦
評論