I2C控制lP在成像系统中的应用

1 ip的硬件结构及寄存器
1.1 ip硬件结构
ip内部结构如图1所示。主要由波特率时钟寄存器、寄存器组控制器、并行i/o接口、i2c可编程接口、i2c接口引擎5个模块组成。
波特率时钟产生器用来产生i2c ip工作的基本时钟频率;寄存器组控制器用来对寄存器进行设置,设置数据通过并行i/o接口传送到该模块中;并行i/o接口模块用来处理可编程接口模块传送过来的命令;i2c可编程接口模块用来设置ip各个寄存器的地址;i2c接口引擎模块执行i2c总线上数据的传输。
1.2 寄存器结构
i2c控制ip主要由6个寄存器构成,如表1所列。通过对寄存器的读写可以方便地控制i2c总线数据的传输,从而实现niosii处理器与设备之间的通信。数据寄存器用来存放i2c总线上要传送的数据;波特率产生模块,波特率时钟寄存器和时钟寄存器共同决定i2c总线上scl的频率。scl的计算公式为其中system_clk是系统时钟;value是时钟寄存器的值;divider是波特率时钟寄存器的值所对应的分频数(寄存器的值与分频数相差为1,如寄存器设置为0,则分频数为1;寄存器设置为1,则分频数值为2)。
本地地址寄存器、控制寄存器、状态寄存器的详细介绍略——编者注。
2 i2c控制lp在成像系统中的应用
在成像系统中,cmos传感器应用非常普遍。这些传感器大多数都自带i2c串行通信接口,本文以mt9m011为例介绍i2c控制ip在成像系统中的应用。mt9m011传感器根据读写位数可分为两种方式:16位数据读写方式和8位数据读写方式。这里选用曝光寄存器,采用16位读写方式进行操作,时序如图2所示。
从设备地址(写模式)与从设备地址(读模式)高7位为从器件地址,第8位是读写控制位(r/w),它控制数据的传输方向。
向曝光寄存器0x09写入数据:主器件启动传输,然后发送它所要寻址的从设备地址(写模式)。mt9m011监视总线,当其地址与传送的从器件地址相符时,响应一位应答信号,接着主器件发送曝光寄存器地址,mt9m011再次应答,在向曝光寄存器中写入16位数据后主器件停止写数据。每传送8位数据,从器件mt9m011都会产生一位应答信号。
从曝光寄存器0x09读出数据:开始部分与写数据时序是相同的,当主器件发送完从设备地址(写模式)和寄存器地址后,需要重新启动,并发送从设备地址(读模式),然后才能从寄存器中读出数据。每读完1字节数据,主器件都会产生1位应答信号。当16位数据被读出后,主器件发送1位非应答信号,传输结束。
3 ip应用实例
3.1 硬件设计
本文使用i2c控制ip对图像传感器mt9m011寄存器进行并行配置。硬件设计基于sopc技术,将系统组件库提供的32位nios ii软核处理器、sdram接口模块、timer定时器模块(提供signaltapii中对信号进行采样的频率)、pio模块以及i2c控制ip(配置为主设备)集成在一块fpga内。quartusii顶层原理略——编者注。
3.2 软件设计
软件的编写有两种方式:一种是对i2c控制ip应用程序编程接口(api)函数的操作;另一种是利用altera提供的读写函数对寄存器进行操作。为了提高系统运行的速度,采用第二种方法。系统软件部分是在niosii ide中,通过编写c代码完成的。
对cmos寄存器的并行配置程序主要包括以下两个部分:
①ip初始化设置:包括设置波特率、设置本地址寄存器、设置时钟寄存器值。
②选择cmos1,对其寄存器进行读写;选择cmos2,对其寄存器进行读写。寄存器选择曝光寄存器。
关键代码如下:
函数checkbus查询状态寄存器的丽来判断i2c总线忙/闲状态,checkprogres函数查询状态寄存器的pin来判断总线数据是否传输完成。为了便于观察读出的数据和写入的数据是否一致,通常将程序包含在while语句中。
4 实验验证
将硬件系统生成的下载文件烧写到fpga芯片上并运行c代码程序,用quartusii自带的signahapii逻辑分析仪对i2c总线上的数据进行观察。图3为所得到的波形,信号由上至下分别为cmos2/cmos1上的i2c总线信号m_sclk_2、m_sda_2、m_sclk_1、m_sda_1。前半部分给cmos1写入0x06、0x07,然后读出;后半部分对cmos2写入相同的数并读出。此波形满足mt9m011图像传感器时序读写要求。
5 系统扩展
在需要多路cmos配置的应用中,使用该i2c控制ip可以很容易地实现多路并行cmos寄存器配置。例如,8路并行cmos配置系统:在电路板上焊接8片cmos传感器芯片,通过对分配器3路信号的控制 将使能并行加载到8块cmos芯片,3路控制信号和使能信号通过对sopc系统的pio接口模块的控制来实现,配置数据的传输则在i2c控制ip的控制下完成。电路板结构简单,系统容易实现。
结 语
本文所介绍的i2c ip可作为自定义组件加载到sopc系统中,使系统的设计更为灵活,功能扩展上具有较大的潜力。在采用cmos图像传感器的成像系统中,i2c接口应用普遍,本文通过给出该ip应用实例,说明了该ip的使用具有广阔的前景和较高的应用价值。

乐和游戏推出结合游戏的 3D 电子贺卡
HMD推出全新Nokia X系列
低代码开发平台的主要服务对象和模式
泰凌微电子苹果“查找”网络配件方案介绍
华为拿下“5G核心网标准”制定机构控制权:靠实力击败高通
I2C控制lP在成像系统中的应用
Lattice公司正式任命Jim Anderson为该公司的新任CEO
肖特基二极管4大特性,你都知道吗?
关于USB2.0变成USB Type-C的方法分析介绍
2023北京安博会,精华隆创新驱动与行业一起腾飞
企业如何利用人工智能在竞争激烈的市场环境中保持竞争力
VR/AR满足企业需求 助员工培训并加速生产效率
关于滞回式控制架构的器件设计LED驱动器的注意事项介绍和说明
华南师范大学:设计可穿戴柔性传感器件,可实现三维空间内的运动识别
2018全年销量800万台,小米电视高居国内第一,AIoT战略稳步向前-即刻金服
MySQL监控-Datadog数据库监控调研
新能源车市场PCB需求量分析
智能型医疗可穿戴设备解决方案
工控市场稳中求变,纳芯微提供安“芯”之选
realme X真机曝光采用了4800万像素后置双摄像头支持杜比全景声