基于I2C总线图像传感器配置的FPGA实现

发布者:梦幻微笑最新更新时间:2016-10-17 来源: ofweek关键字:I2C总线  图像传感器  FPGA 手机看文章 扫描二维码
随时随地手机看文章
  基于FPGA 的嵌入式图像检测系统因其快速的处理能力和灵活的编程设计使得它在工业现场的应用非常广泛,通常这些系统都是通过采集图像数据流并对它实时处理得到所需的特征信息。图像数据的获取是整个系统的第一步,作为整个系统的最前端,它决定了原始数据的质量,是整个系统成功的关键。CMOS 图像传感器采用CMOS 工艺,可以将图像采集单元和信号处理单元集成到同一块芯片上,因而在集成度、功耗、成本上具有很大优势,这使得它在嵌入式图像处理领域的运用越来越多。CMOS 图像传感器芯片大都把 I2C 总线的一个子集作为控制接口,用户可以很方便地对芯片进行编程操作,根据设计要求的不同配置图像传感器内部寄存器数据,以获取期望的图像。本文以Aptina 公司的MT9P031 图像传感器为例,用Verilog 硬件描述语言设计了I2C 总线的接口电路,以FPGA 作为核心控制器实现了对MT9P031 初始化操作,不仅验证了I2C 总线的配置效果,得到了理想的图像数据,还为后续线结构光图像的处理系统奠定了基础。

  1 I2C 总线协议及MT9P031 配置过程介绍

  1.1 I2C 总线协议

  I2C(Inter-Integrated Circuit Bus) 总线是由PHILIPS 公司开发的两线式用于芯片之间连接的总线,由于其接口线少,控制方式简单,通信速率较高等特点,在单片机、串行EEPROM 等器件中有着广泛的使用。I2C 总线用两根信号线来进行数据传输,一根为串行数据(SDA, Serial Data),另一根为串行时钟线(SCL, Serial Clock)。若干兼容器件(如存储器、A/D、D/A、LCD 驱动器等)可以共享I2C 总线。I2C 总线上所有器件依靠SDA 发送的地址信号寻址,不需要片选线。任何时刻总线只能由一个主器件控制,各从器件在总线空闲时启动数据传输。

  1.2 MT9P031 配置时序分析

  由于检测系统需求的不同,图像传感器可能要工作在不同的模式,因此需要通过外部控制器对其内部寄存器进行读写操作,完成具体的配置。典型的写MT9P031 寄存器时序如图1 所示,起始信号过后,FPGA 先写入设备(即MT9P031)的地址0xBA,然后释放SDATA 数据总线,随后MT9P031 返回一个应答信号ACK,FPGA 获取应答信号后,经过一个时钟周期再传送待配置的寄存器地址0x09,在获取应答信号后再传送16 位的寄存器数据,由于每次只能发送8 位数据,所以这16位的寄存器数据要分两次才能发送完毕,先发送的是高八位数据,后发送的为低八位数据,每发送完一个字节的数据,FPGA均会获取一位的应答信号,然后结束一个传送周期,完成一个寄存器的配置,即IDAddress+ SUB-Address + W-Data 总共32位的数据。重复上述过程可以对不同的寄存器进行不同的参数配置。

  图1 写MT9P031 时序图

  2 FPGA 模块设计

  为了实现对图像传感器的正确配置,必须严格按照MT9P031 的配置时序完成设计,本设计中I2C 总线配置模块主要由三个小模块构成,它们分别是I2C_Clock_Generator、I2C_Controller 和Register_Value,各模块之间的连接如图2 所示。

  图2 I2C 总线配置模块结构框图

  I2C_Clock_Generator 主要产生负责产生I2C 串行时钟信号,根据协议数据传输有三种速度模式:正常模式100Kb/s、快速模式400Kb/s、高速模式3.4Mb/s,为了保证配置的准确性和成功率,设计中采用了100Kb/ 的速度模式,即SCLK 的频率为100KHz,因为FPGA 外部输入的时钟为50MHz,所以需要对其分频获得。同时该模块还负责产生数据传输有效信号,保证SDAT 的改变发生在SCLK 的低电平时段。

  Register_Value 其实一个查找表,负责保存MT9P031 内部需要配置的寄存器地址和数据,查找表内数据的位数都是24bit,单独作为一个模块的目的是为了方便用户改变配置数据,决定图像传感器的不同工作状态。
 

  I2C_Controller 是图像传感器配置设计的核心模块,主要完成了启停命令产生、字节发送和读取、应答信号采集等功能。同时,I2C_Controller 模块还产生I2C读写时序,由状态机严格按照I2C 协议实现,将Register Value 部分送出的24 位操作码I2C_DAT 转化成为正确的I2C 时序。一个寄存器的数据传输完成后,模块还将判断寄存器配置数据是否发送顺利,如果一切正常,LUT_INDEX 信号会自动加一,控制Register Value 查找表产生下一个寄存器的地址和数据。

  3 I2C 接口的仿真及调试

  为了验证MT9P031 配置过程中I2C时序的正确性,本设计在Modelsim Se10.1c 版软件平台中对整个模块进行了功能仿真,在Test bench 中模拟了50MHz 控制时钟以及复位信号,观察最终输出端的波形情况。图3 是对MT9P031 的寄存器地址0x00 进行读操作的仿真波形图,图4是对寄存器地址0x01 写入0x01EA 的仿真波形图。

  图3 读取寄存器0x00 的波形仿真

  图4 向寄存器0x01 写入数据0x01EA 的波形仿真

  4 总结

  基于I2C总线的图像传感器配置在视频图像采集处理系统中非常普遍,本设计结合了FPGA 的可编程特性,采用模块化的方法设计方法完成了I2C 配置电路的设计,详细介绍了各个模块的设计流程和实现方式,最后对整个设计进行了仿真,验证了设计的正确性。综合调试后占用资源极小,可靠性高,而且利用Verilog 硬件描述语言的设计使得可移植性很强,具有广泛的应用价值。

关键字:I2C总线  图像传感器  FPGA 引用地址:基于I2C总线图像传感器配置的FPGA实现

上一篇:基于以太网工业总线的微电网控制系统实现方法
下一篇:基于USB总线的心电检测系统设计

推荐阅读最新更新时间:2024-05-03 00:45

ARM7与FPGA相结合的应用
  ARM7与FPGA相结合在工业控制和故障检测中的应用   工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的CPU芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。    各部分功能简介   图1为此系统的结构连接框图。如图所示,ARM芯片与FPGA芯片之间通过数据总线、地址总线及读写控制线相连,而与终端PC则通过串口通信;FPGA与目标设备通过命令控
[嵌入式]
基于FPGA的脉冲压缩仿真与实现
1 引言 随着现代武器与航天技术的发展,要求雷达应具有高精度、远距离、高分辨力等性能。简单矩形脉冲雷达存在雷达探测能力与距离分辨力之间的矛盾。为解决这一矛盾,大多数现代雷达采用脉冲压缩技术,调制信号频率或相位,从而产生大时宽带宽信号,接收端通过具有匹配滤波器的接收机接收,产生窄时间脉冲,提高距离分辨率。以数字方式实现的脉冲压缩具有可靠性高、灵活性好、可编程、便于应用。因此,这里介绍一种分布式算法实现时域脉冲压缩,它是一种基于查找表的计算方法,通过将各输入数据每一对应位产生的部分积预先相加形成相应部分积,然后再对各部分积累加形成最终结果,从而实现乘加功能。与传统算法(所有乘积产生后,再相加完成乘加运算)相比,分布式算法
[嵌入式]
基于<font color='red'>FPGA</font>的脉冲压缩仿真与实现
基于FPGA+ARM的数据采集系统设计
随着计算机技术与现代工业系统的发展,工业领域中对数据采集的精度和数据处理的实时性提出了更加苛刻的要求,以保证后续更加复杂的控制,而传统的数据采集系统一般采用A/D 芯片与主控芯片搭配的方法,处理速度慢、功能单一,当被测对象复杂且数据量较大时,很难满足对数据高精度的采样,而通过RS232 串口与上位机通信则更无法保证数据处理的实时性。针对这一实际情况,设计了基于FPGA 与ARM 搭配的数据采集系统,FPGA 负责保证数据采样的高精度和高速度,而ARM 作为主控芯片,嵌入Linux 内核,负责控制整个系统,并将数据通过USB高速上传到上位机中,借助上位机的强大运算能力,保证数据处理的实时性,同时根据不同的被测信号只需选择相应的数据采
[单片机]
基于<font color='red'>FPGA</font>+ARM的数据采集系统设计
基于FPGA+DSP的多串口数据通信的实现
通用异步接收/发送器(UART)是一种通用串行数据总线,用于异步通信,可以实现全双工通信。UART IP核是用在外部设备和Atera FPGA芯片上的SOPC间进行串行通信的一种实现方式。它可以替代RS-232实现芯片与外设的输入/输出(I/O)操作。   GPS RTK(Real Time Kinematic)可以即时提供厘米级的定位解。在进行动态定位时,基准站将精确已知的GPS坐标和观测数据实时用微波链路传给流动站,在流动站实时进行差分处理,得到基准站和流动站坐标差;坐标差加上基准站坐标得到流动站每个点坐标。基准站向终端用户接收机提供的信息包括对GPS卫星钟、星历数据、用户测量伪距和载波相位等参数的修正。   本文所用的信
[嵌入式]
基于<font color='red'>FPGA</font>+DSP的多串口数据通信的实现
豪威集团发布用于倒车影像和 360 全景的 OX01J 图像传感器
1 月 12 日消息,国产 CMOS 厂商豪威集团今日发布了用于汽车 360 度环视系统(SVS,用于 360 度全景影像)和后视摄像头(RVC,用于倒车影像)的全新 130 万像素 OX01J 图像传感器。 据介绍,OX01J 是一款 RAW 图像传感器,具有 LED 闪烁抑制(LFM)功能和 140db 的动态范围(HDR)。如果汽车厂商已经拥有自己的后端图像信号处理器(ISP)架构,可以仅购买 OX01J 图像传感器。 豪威 OX01J 采用 1/4 英寸光学格式封装,搭载了 3 微米图像传感器,还采用 a-CSP 封装,是一种小尺寸解决方案。这款传感器基于豪威集团的 PureCel Plus 架构,亮点在于弱光灵敏度和
[汽车电子]
按平台模式设计的虚拟I2C总线软件包VIIC
摘要: VIIC是主方式下的虚拟I2C总线软件包,用于80C51系列单片机的单主系统中。只需两根普通I/O口线就可随时扩展I2C总线外围器件。将VIIC1.0装入程序存储器中,对其中的符号单元赋值后,使用三条通用操作命令就可实现任何I2C总线外围器件的应用程序设计。本文以VIIC为例,介绍应用软件形式的广义平台设计方法,给出VIIC1.0程序文本。按照这一思路,也可移植到其他系列的嵌入式系统中。 关键词: 平台模式虚拟I2C总线VIIC应用程序设计 一、 I2C总线及其虚拟应用 1. I2C总线应用呼唤平台模式     目前,单片机应用系统的外围扩展已从并行
[嵌入式]
FPGA如何让工业4.0大放异彩
技术领域最热门的话题之一就是工业4.0,它本质上是指将数字化、自动化和互连计算智能融入制造业。 这背后的思路就是将云计算、物联网(IoT)和人工智能(AI)的价值与功能相融合,从而在制造也和其他工业环境中实现更智能、更可靠、更高效的运营。 工业4.0愿景的一个重要部分是创造智能互联机器。 几十年来,在这类的环境中使用的大部分设备与外界交互的方式非常有限。物理旋钮、仪表和其他简单的视觉机制通常是了解设备当前状态的唯一手段。随着时间的推移,各个行业开发了一些简单的连接和监控形式,包括PLC(可编程逻辑控制器)和SCADA(监控和数据采集),分别用于这些机器的硬件物理连接和软件监控。 随着技术的发展以及对这些不同设备的需求
[焦点新闻]
<font color='red'>FPGA</font>如何让工业4.0大放异彩
艾威图技术有限公司采用莱迪思FPGA开发多轴伺服驱动器FOC电源环加速应用
中国上海——2022年3月29日—— 莱迪思半导体公司 ,低功耗可编程器件的领先供应商,今日宣布国内技术领先的伺服系统专业制造商深圳艾威图技术有限公司采用了莱迪思小尺寸、低功耗FPGA加速了其最新的ID500平台的开发并大大缩短了产品上市时间。 ID500 广泛应用于纺织、包装、塑料、印刷、机床、微电子、自动化产品线、精密机械设备等配套领域。 艾威图与莱迪思紧密合作加速了多轴伺服驱动器FOC电流环加速应用的开发,莱迪思低功耗、可靠的可编程FPGA器件为其赢得了宝贵的市场竞争优势。 艾威图技术硬件研发负责人何星说道,“在我们的伺服驱动器FOC电流环加速应用中采用了莱迪思低功耗FPGA,再加上莱迪思中国出色的现场工程师团队的支
[电源管理]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved