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

时间:2022-03-15来源:佚名

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

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位的数据。重复上述过程可以对不同的寄存器进行不同的参数配置。

2 FPGA 模块设计

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

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 查找表产生下一个寄存器的地址和数据。

    相关阅读

    城市亮化工程如何设计才能具有层次感?

    城市亮化工程 的主要目地是为夜间带来一体化照明,考虑基础的视觉识别规定,自然环境照明的光层级与光线总数的多少相关,假如空间中的自然环境照明比工作照明低许多 ,在工作...
    2022-10-11
    城市亮化工程如何设计才能具有层次感?

    居民、工业、大工业用户的电费组成及计算实例 阶梯与峰谷电价、单一制与两部制电价 功率因数调整电费表系数对照表

    居民、普通工业用户和大工业用户的电费组成有所不同,主要体现在计费方式和附加费用上,这些不同的计费方式和组成部分反映了电力市场化和精细化管理的趋势,旨在更合理地分配电力...
    2024-10-08
    居民、工业、大工业用户的电费组成及计算实例 阶梯与峰谷电价、单一制与两部制电价 功率因数调整电费表系数对照表

    【标准分享】GB19517-2023 国家电气设备安全技术规范

    ...
    2024-08-30
    【标准分享】GB19517-2023 国家电气设备安全技术规范

    城市道路照明工程主要有哪些?

    在城市建设中,道路照明 是必不可少的基础设施,也是城市夜景的重要组成部分。在某种程度上,它还反映了城市的经济实力,社会进步和现代化的标志。它为夜间在城市中的车辆和行...
    2022-07-12
    城市道路照明工程主要有哪些?

    我国的电力业务大型央企名录 南方电网和国家电网公司主要组织架构 地方独立电网企业名录

    电力业务国有大型企业,根据国务院国资委2023年6月27日公布的《央企名录》,我国较大规模的涉及电力业务的中央企业共有16家左右,其中:发电9家、电网2家、电力建设2家、装备制造3...
    2024-08-21
    我国的电力业务大型央企名录 南方电网和国家电网公司主要组织架构 地方独立电网企业名录

    消防应急灯的寿命有多长?一般可以使用多长时间?

    对于消防应急灯的使用寿命相信很多人都想了解这个问题,因为消防应急灯安装了就不需要时时刻刻盯着,这需要定时检查就可以了,但是很多人都不知道消防应急灯的寿命有多长,不...
    2022-05-21
    消防应急灯的寿命有多长?一般可以使用多长时间?

    安全出口指示标志灯为什么是绿色而不是红色?

    对于安全出口指示标志灯相信大家都不陌生,我们在日常生活中在任何公众场所的紧急疏散的安全出口都可以看到这个安全出口指示标志灯,大家有没有想过安全出口的指示标志为什么...
    2022-05-21
    安全出口指示标志灯为什么是绿色而不是红色?

    路灯照明合理的布置方式

    路灯的布置方式主要有单侧布置、双侧交错布置、双侧对称布置、中心对称布置、横向悬索布置五种形式,随着城市道路的不断拓宽,平交路口转弯半径越来越大,根据《城市道路亮化...
    2022-07-15

    网站栏目