基于i2c 总线图像传感器配置的fpga 实现

基于i2c 总线图像传感器配置的fpga 实现

ID:24077773

大小:51.50 KB

页数:4页

时间:2018-11-12

基于i2c 总线图像传感器配置的fpga 实现 _第1页
基于i2c 总线图像传感器配置的fpga 实现 _第2页
基于i2c 总线图像传感器配置的fpga 实现 _第3页
基于i2c 总线图像传感器配置的fpga 实现 _第4页
资源描述:

《基于i2c 总线图像传感器配置的fpga 实现 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于I2C总线图像传感器配置的FPGA实现操亚华合肥工业大学仪器科学与光电工程学院安徽合肥230009【文章】基于I2C总线的图像传感器配置在图像采集处理系统中非常常见,而以FPGA为核心的嵌入式图像处理系统也越来越受重视。本文从视频图像采集中I2C总线协议的特点入手,着重对图像传感器配置实现方法进行介绍,并用Verilog硬件描述语言实现整个模块功能,将其嵌入到FPGA的设计之中。实验仿真结果正确可靠,具有很好的推广性。【关键词】FPGA;CMOS图像传感器;I2C总线0引言基于FPGA的嵌入式图像检测系统因其快速的处理能力和

2、灵活的编程设计使得它在工业现场的应用非常广泛,通常这些系统都是通过采集图像数据流并对它实时处理得到所需的特征信息。图像数据的获取是整个系统的第一步,作为整个系统的最前端,它决定了原始数据的质量,是整个系统成功的关键。CMOS图像传感器采用CMOS工艺,可以将图像采集单元和信号处理单元集成到同一块芯片上,因而在集成度、功耗、成本上具有很大优势,这使得它在嵌入式图像处理领域的运用越来越多。CMOS图像传感器芯片大都把I2C总线的一个子集作为控制接口,用户可以很方便地对芯片进行编程操作,根据设计要求的不同配置图像传感器内部寄存器数据,

3、以获取期望的图像。本文以Aptina公司的MT9P031图像传感器为例,用Verilog硬件描述语言设计了I2C总线的接口电路,以FPGA作为核心控制器实现了对MT9P031初始化操作,不仅验证了I2C总线的配置效果,得到了理想的图像数据,还为后续线结构光图像的处理系统奠定了基础。1I2C总线协议及MT9P031配置过程介绍1.1I2C总线协议I2C(Inter-IntegratedCircuitBus)总线是由PHILIPS公司开发的两线式用于芯片之间连接的总线,由于其接口线少,控制方式简单,通信速率较高等特点,在单片机、串行

4、EEPROM等器件中有着广泛的使用。I2C总线用两根信号线来进行数据传输,一根为串行数据(SDA,SerialData),另一根为串行时钟线(SCL,SerialClock)。若干兼容器件(如存储器、A/D、D/A、LCD驱动器等)可以共享I2C总线。I2C总线上所有器件依靠SDA发送的地址信号寻址,不需要片选线。任何时刻总线只能由一个主器件控制,各从器件在总线空闲时启动数据传输。1.2MT9P031配置时序分析由于检测系统需求的不同,图像传感器可能要工作在不同的模式,因此需要通过外部控制器对其内部寄存器进行读写操作,完成具体的

5、配置。典型的写MT9P031寄存器时序如图1所示,起始信号过后,FPGA先写入设备(即MT9P031)的地址0xBA,然后释放SDATA数据总线,随后MT9P031返回一个应答信号ACK,FPGA获取应答信号后,经过一个时钟周期再传送待配置的寄存器地址0x09,在获取应答信号后再传送16位的寄存器数据,由于每次只能发送8位数据,所以这16位的寄存器数据要分两次才能发送完毕,先发送的是高八位数据,后发送的为低八位数据,每发送完一个字节的数据,FPGA均会获取一位的应答信号,然后结束一个传送周期,完成一个寄存器的配置,即ID-Add

6、ress+SUB-Address+ARGIN:11pt0cm0pt"class=Pa3>2FPGA模块设计为了实现对图像传感器的正确配置,必须严格按照MT9P031的配置时序完成设计,本设计中I2C总线配置模块主要由三个小模块构成,它们分别是I2C_Clock_Generator、I2C_Controller和Register_Value,各模块之间的连接如图2所示。图2I2C总线配置模块结构框图I2C_Clock_Generator主要产生负责产生I2C串行时钟信号,根据协议数据传输有三种速度模式:正常模式100Kb/s、快图

7、1写MT9P031时序图图3读取寄存器0x00的波形仿真图4向寄存器0x01写入数据0x01EA的波形仿真054智能应用IntelligenceApplication电子制作速模式400Kb/s、高速模式3.4Mb/s,为了保证配置的准确性和成功率,设计中采用了100Kb/的速度模式,即SCLK的频率为100KHz,因为FPGA外部输入的时钟为50MHz,所以需要对其分频获得。同时该模块还负责产生数据传输有效信号,保证SDAT的改变发生在SCLK的低电平时段。Register_Value其实一个查找表,负责保存MT9P031内部

8、需要配置的寄存器地址和数据,查找表内数据的位数都是24bit,单独作为一个模块的目的是为了方便用户改变配置数据,决定图像传感器的不同工作状态。I2C_Controller是图像传感器配置设计的核心模块,主要完成了启停命令产生、字节发送和读取、应答信号采集等功能。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。