关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > NiosII的I2C控制IP及其在成像系统中的应用

NiosII的I2C控制IP及其在成像系统中的应用

作者: 时间:2010-06-25 来源:网络 收藏

2 中的
中,CMOS传感器非常普遍。这些传感器大多数都自带串行通信接口,本文以MT9M011为例介绍中的。MT9M011传感器根据读写位数可分为两种方式:16位数据读写方式和8位数据读写方式。这里选用曝光寄存器,采用16位读写方式进行操作,时序如图2所示。


从设备地址(写模式)与从设备地址(读模式)高7位为从器件地址,第8位是读写位(R/W),它控制数据的传输方向。
向曝光寄存器Ox09写入数据:主器件启动传输,然后发送它所要寻址的从设备地址(写模式)。MT9M011监视总线,当其地址与传送的从器件地址相符时,响应一位应答信号,接着主器件发送曝光寄存器地址,MT9M011再次应答,在向曝光寄存器中写入16位数据后主器件停止写数据。每传送8位数据,从器件MT9M011都会产生一位应答信号。
从曝光寄存器0x09读出数据:开始部分与写数据时序是相同的,当主器件发送完从设备地址(写模式)和寄存器地址后,需要重新启动,并发送从设备地址(读模式),然后才能从寄存器中读出数据。每读完1字节数据,主器件都会产生1位应答信号。当16位数据被读出后,主器件发送1位非应答信号,传输结束。

3 应用实例
3.1 硬件设计
本文使用I2C控制IP对图像传感器MT9M01l寄存器进行并行配置。硬件设计基于SOPC技术,将系统组件库提供的32位Nios II软核处理器、SDRAM接口模块、TIMER定时器模块(提供SignaltapII中对信号进行采样的频率)、PI0模块以及I2C控制IP(配置为主设备)集成在一块FPGA内。QuartusII顶层原理略――编者注。
3.2 软件设计
软件的编写有两种方式:一种是对I2C控制IP应用程序编程接口(API)函数的操作;另一种是利用Altera提供的读写函数对寄存器进行操作。为了提高系统运行的速度,采用第二种方法。系统软件部分是在 IDE中,通过编写C代码完成的。
对CMOS寄存器的并行配置程序主要包括以下两个部分:
①IP初始化设置:包括设置波特率、设置本地址寄存器、设置时钟寄存器值。
②选择CMOS1,对其寄存器进行读写;选择CMOS2,对其寄存器进行读写。寄存器选择曝光寄存器。
关键代码如下:



函数checkBus查询状态寄存器的BB来判断I2C总线忙/闲状态,checkProgres函数查询状态寄存器的PIN来判断总线数据是否传输完成。为了便于观察读出的数据和写入的数据是否一致,通常将程序包含在while语句中。

tcp/ip相关文章:tcp/ip是什么




评论


相关推荐

技术专区

关闭