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
    +关注

    关注

    1629

    文章

    21742

    浏览量

    603543
  • 芯片
    +关注

    关注

    455

    文章

    50832

    浏览量

    423820
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1488

    浏览量

    123808
收藏 人收藏

    评论

    相关推荐

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

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

    通过DSP的mcbsp和i2c接口实现对AIC34芯片的操作,如何编程?

    通过DSP的mcbsp和i2c接口实现对AIC34芯片的操作如何编程,有没有相关的例程吗?
    发表于 11-07 08:12

    USB总线转I2C总线接口芯片

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

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

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

    i2c接口转串口芯片

    OD2101/OD2101A 通过I2C 实现数据传输、系统参数设置、流控制、状态控制功能。I2C 接口实现这一过程通过命令字节实现。在写数
    发表于 06-13 09:28 59次下载

    I2C总线通信接口的CPLD实现

    介绍采用ALTERA 公司的可编程器件,实现I2C 总线的通信接口的基本原理; 给出部分VHDL语言描述。该通信接口与专用的
    发表于 05-14 13:16 26次下载

    I2C总线在MCS51系列单片机数据采集系统中的实现

    MCS51 系列单片机不带I2C 总线,而许多接口芯片,如存储器芯片、显示驱动、A/D、D/A 等接口
    发表于 08-14 17:24 48次下载

    I2C总线接口模块设计

    本实验是基于EasyFPGA030的I2C总线接口模块设计,用EasyFPGA030开发套件通过I2C协议
    发表于 11-02 17:01 41次下载

    基于EasyFPGA030的I2C总线接口模块

    本实验是基于EasyFPGA030的I2C总线接口模块设计,用EasyFPGA030开发套件通过I2C协议
    发表于 03-11 15:37 29次下载

    基于CPLD的I2C总线接口设计

    在电路设计中,I2C总线是比较常用的两线式串行通信方式,大多数的CPU都擅长于并口操作,不具备直接操作I2C总线接口的能力。为了使不具备I2C总线
    发表于 02-12 16:11 95次下载
    基于CPLD的<b class='flag-5'>I2C</b>总线<b class='flag-5'>接口</b>设计

    图像白平衡原理及实现

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

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

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

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

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

    I2C接口配置ES7243录音芯片,MCU(STM32)收不到I2C ACK的问题

    I2C接口配置ES7243录音芯片,MCU(STM32)收不到I2C ACK的问题
    发表于 12-08 16:36 10次下载
    <b class='flag-5'>I2C</b><b class='flag-5'>接口</b>配置ES7243录音<b class='flag-5'>芯片</b>,MCU(STM32)收不到<b class='flag-5'>I2C</b> ACK的问题

    基于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>设计