0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用LATTICE XP系列芯片和I2C接口实现自动白平衡的FPGA

电子设计 来源:大众科技 作者:王志刚 2020-03-12 08:03 次阅读

一、软件介绍

本系统采用了LATTICE的XP系列芯片,所用软件为splever7.0,应用本软件有一个新加功能,可以用FPGA的底层资源生成一个简单CPU的框架,并且在软件的库里边,有很多的模块可以调用,例如GPIO接口I2C接口等。本系统的设计使用的是I2C接口。

二、系统构成

图1 系统框图

本系统(系统框图如图1)是采用FPGA进行实时运算。从cmos传感器出来的数字信号首先经过白平衡处理模块,在这个模块中,需要对图象中的R、G、B的分量分别进行计算,求出他们各自的均值。一般情况下,只有当他们各自的均值为128或者129的时候,我们可以认为图象达到了白平衡的状态,当然有一个前提就是要对一个白色的背景取图。如果他们的均值不相等,或者没有达到128或者129的值时,给I2C模块一个信号,使之对传感器的颜色分量寄存器进行设置,直到完全为我们所期待的数值为止。

三、部分程序和接口

module send( reset_n,

clk,

vsync,

href,

data_in,

data_out);

input reset_n;

//系统复位信号

input clk;

//系统时钟

input vsync;

//厂信号

input href;

//行信号

input [9:0]data_in;

//图象数据

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

四、仿真图形

系统的总体仿真图如图2

图2 系统仿真图

五、结论

采用FPGA对自动白平衡进行运算的一个最大的优点就是所有的操作都是实时进行,不需要先缓存一整张图象,所以中间没有延时,不仅运算速度快,而且图像的相质还可以得到很好的改良。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593275
  • 芯片
    +关注

    关注

    447

    文章

    47821

    浏览量

    409207
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1348

    浏览量

    120880
收藏 人收藏

    评论

    相关推荐

    白平衡自动测量调整仪的工作原理实现设计

    本文介绍了一种基于PC的白平衡自动测量调整仪的系统结构和基本原理。该系统的测试信号发生、调整信号输出、白场色度测量均由PC控制,实现了基于PC的测控一体化。该测量调整仪可用于有I2c
    的头像 发表于 07-31 08:36 4411次阅读
    <b class='flag-5'>白平衡</b><b class='flag-5'>自动</b>测量调整仪的工作原理<b class='flag-5'>实现</b>设计

    USB总线转I2C总线接口芯片

    。通过USB2I2C芯片用户可以非常方便地实现PC<br/>机USB总线和下位机端各种I2C/IIC设备(如,ATMEL公司的AT24CXX
    发表于 12-16 10:39

    FPGA设计实例】在FPGA/CPLD中用I2C实现多个芯片的连接

    本帖最后由 palatree 于 2012-3-22 16:42 编辑 本节将介绍,如何在FPGA/CPLD中用I2C实现多个芯片的连接?I2
    发表于 03-22 16:40

    FPGA实现I2C总线的通信接口的基本原理

    本帖最后由 eehome 于 2013-1-5 09:57 编辑 FPGA实现I2C总线的通信接口的基本原理介绍采用ALTERA公司的
    发表于 08-11 17:57

    高酬聘请相机自动实现白平衡自动增益算法的人才

    项目描述:1。详细需求1.自动白平衡算法可对所有光源的特有颜色进行自动补偿。对多种混合光源也有补偿效果。2。对一些特定环境(日光,阴影,阴天,傍晚,钨丝灯,闪光灯,白色荧光灯等)的
    发表于 04-03 15:30

    采用FPGA自动白平衡进行运算有什么优点?

    自动白平衡FPGA实现采用FPGA自动
    发表于 04-13 06:20

    MCU的I2C采用IO口模拟实现

    调试过程吧。需要做的工作小结如下:1、MCU的I2C采用IO口模拟实现2、MCU作为I2C主设备与定时
    发表于 11-04 07:14

    基于FPGA的BayerCCD相机彩色自动白平衡设计

    针对物体在不同色温光源照射下呈现偏色的现象,用FPGA实现对Bayer CCD数字相机的自动白平衡处理。根据CFA(Color Filter Array)的分布特点,利用双端口RAM(
    发表于 11-22 15:13 45次下载

    什么是自动白平衡

    什么是自动白平衡   所谓自动白平衡技术是使电视幕墙技术要求有良好的色彩一致性,但实际上使用中会不可避免出现漂移。
    发表于 02-10 09:58 628次阅读

    图像白平衡原理及实现

    本文将详细介绍图像白平衡原理及实现,包括内容有白平衡与色温,一种简单的白平衡算法,并且考虑其硬件化实现
    发表于 01-17 11:04 3946次阅读

    自动白平衡算法

    计算机图像处理技术已经广泛的应用于人们的日常生活当中,自动白平衡是计算机图像处理当中的一个重要技术,不同的白平衡算法根据不同的预设校正基准从原始偏色图像中得到图像的偏色信息,然后根据计算所得的偏色
    发表于 01-17 11:23 7448次阅读
    <b class='flag-5'>自动</b><b class='flag-5'>白平衡</b>算法

    采用LATTICEXP系列芯片实现FPGA自动白平衡系统的设计

    本系统采用LATTICEXP系列芯片,所用软件为splever7.0,应用本软件有一个新加功能,可以用
    的头像 发表于 08-28 08:05 1505次阅读

    基于FPGA自动白平衡算法的介绍和实现

    基于FPGA自动白平衡算法的实现 一、白平衡介绍 对于白平衡基本概念的详细介绍请查看文章《
    的头像 发表于 04-08 17:20 1681次阅读

    基于FPGA的Bayer彩色自动白平衡设计

    电子发烧友网站提供《基于FPGA的Bayer彩色自动白平衡设计.pdf》资料免费下载
    发表于 10-08 11:32 0次下载
    基于<b class='flag-5'>FPGA</b>的Bayer彩色<b class='flag-5'>自动</b><b class='flag-5'>白平衡</b>设计

    什么是白平衡?白平衡的作用

    白平衡是指调整相机或摄像机的色温设置,以使图像中的白色与实际场景中的白色看起来一致。 在摄影和摄像中,白平衡的作用非常重要。由于不同光源的色温不同,相机在不同光源下拍摄的照片或视频会呈现出不同的偏色
    的头像 发表于 01-22 15:31 817次阅读