MT9M021/MT9m031在低光照度下和捕捉移动场景有非常优异的表现,属于近红外摄像头,

S1:

Aptina's MT9M021/MT9M031 sensor is capable of a maximum resolution of 1280 x 960
at up to 45fps, or it may be configured to run 720p at 60fps。

Registers y_addr_start,
x_addr_start, y_addr_end, and x_addr_end are used to specify the image window. The
minimum value for x_addr_start is 0 and the maximum value for x_addr_end is 1279.
The minimum y_addr_start and maximum y_addr_end are 0 and 975, respectively.

S2:

row_time = (active_pixels + horizontal_blank_pixels)/ PIXCLK_frequency

S3:

The MT9M021/MT9M031’s outputs can be tri-stated with the OE_BAR pin. Before the
external pin can be used to control output enable, set register R0x301A[6] = 0 to disable
the output drivers. Then set R0x301A[8] = 1 to enable the input pins (OE_BAR, TRIGGER,
and STANDBY). Driving OE_BAR low will enable the output drivers, while driving it high
will tri-state the parallel output pins. The parallel outputs can also be tri-stated by
setting R0x301A[7] = 0.

S4:

芯片内部有一个PLL用来生成内部需要的时钟,最大可以输出pixel rate 74.25Mp/s, 需要一个外部时钟输入时钟,范围是6- 50 Mhz都行.

The MT9M021/MT9M031 works in master (video), trigger (single frame), or Auto Trig-
ger modes. In master mode, the sensor generates the integration and readout timing.
In trigger mode, it accepts an external trigger to start exposure, then generates the
exposure and readout timing. The exposure time is programmed through the two-
wire serial interface for both modes.

S5:

• Window Control
Configurable window size and blanking times allow a wide range of resolutions and
frame rates. Digital binning and skipping modes are supported, as are vertical and
horizontal mirror operations.
• Context Switching
Context switching may be used to rapidly switch between two sets of register values.
Refer to the MT9M021/MT9M031 Developer Guide for a complete set of context swit-
chable registers.
• Gain
The MT9M021/MT9M031 Global Shutter sensor can be configured for analog gain of
up to 8x, and digital gain of up to 8x.
• Automatic Exposure Control
The integrated automatic exposure control may be used to ensure optimal settings of
exposure and gain are computed and updated every other frame. Refer to the
MT9M021/MT9M031 Developer Guide for more details.
• HiSPi
The MT9M021/MT9M031 Global Shutter image sensor supports two or three lanes of
Streaming-SP or Packetized-SP protocols of Aptina's High-Speed Serial Pixel Inter-
face.
• PLL
An on chip PLL provides reference clock flexibility and supports spread spectrum
sources for improved EMI performance.
• Reset
The MT9M021/MT9M031 may be reset by a register write, or by a dedicated input pin.
• Output Enable
The MT9M021/MT9M031 output pins may be tri-stated using a dedicated output
enable pin.
• Temperature Sensor
• Black Level Correction
• Row Noise Correction
• Column Correction
• Test Patterns
Several test patterns may be enabled for debug purposes. These include a solid color,
color bar, fade to grey, and a walking 1s test pattern.

S6:

MT9M021 有两种输出接口,一种是Parallel Pixel Data Interface,另一种是HISPI 接口(High-Speed Serial Pixel Inter-
face, the MT9M021/MT9M031 supports only 2 or 3 lane HiSPi。 从原理图上的连接来看,我们用前者作为输出:

S7:

初始化MT9M021 sensor ,仿照mdk_14.10.1_general/mdk/common/components/CifVxplat/leon/APT_A1000_480p60.h 。

i2c 命令发送仿照:CifGeneric.c:I2CRegConfiguration函数

在一次看datashheet 和 program guide, 有新的收获,继续总结:

S8: Frame Time

  The pixel clock (PIXCLK) represents the time needed to sample one pixel from the array.捕捉一个像素占的时间.

  一行时间表示的是传输一行的第一个像素点到下一行第一个像素点的时间.

  FV: Frame Valid,  LV: Line Valid. 当FV和LV都是高的时候,Dout传输的才是有效的数据,从上图中可以看出.

  

    {0x3002, 0x0078},     // Y_ADDR_START{0x3004, 0x0000},     // X_ADDR_START{0x3006, 0x0347},     // Y_ADDR_END{0x3008, 0x04FF},     // X_ADDR_END{0x300A, 0x02EB},     // FRAME_LENGTH_LINES{0x300C, 0x0672},     // LINE_LENGTH_PCK

上面是实际情况设置的值:

A = 0x04FF - 0x0000 +1 =1280 Active data time是图像的宽度,一行的有效数据  A(time) = 1280/74.25Mhz = 17.23us

P1, P2从FIGURE5能看出每一帧的开始与结束又一段固定的空白时间,这里是6pixclk

Q是水平空白时间 = 0x672 - A = 370 可以看到和table5的默认值是一样的.

A+ Q就是实际一行的时间 = LINE LENGTH PCK

V:垂直空白时间,按照这个公示:  FRAME LENGTH LINES和LINE LENGTH PCK是类似的是由实际的active lines + blank lines构成. 结合Figure4图来看.

V =  (0x300A -  (0x3006 -0x3002 +1)) * (A +Q) = Vertical_blank * Line_length_pck = 1D * 672 = 47859pixel,虽然和表中的不一样,因为数据不同所以不同,另外表格的公式看的也有些问题. 可以看出这一部分是Figure4中 Vertical blanking + vertical/horizontal blanking.

Nrows * (A + Q) = Frame valid time = (0x3006 -0x3002 +1)) * (A +Q) - Q+ P1 + P2 ,这个表达式最让人疑惑的就是减去Q(horizontal blanking),参照Figure9可以看出最后一行只有A并没有Q,所以需要减去一个Q. 这个表示的是V上面 Valid image + Horizontal blanking的数据,

F = Total frame time = V + (Nrows * (A + Q)).

Frame rate = 1/F

S9: Exposure

Coarse integration的解释见image sensor 积分时间

Coarse Integration Time < Window Height + Vertical Blanking ,就是说曝光时间需要小于FRAME LENGTH LINES,否则一帧的时间不在是用上面那种方式来算,而是见下表:

总的曝光时间是总的coarse曝光时间加上Fine曝光时间,而且这依赖于是否开启自动曝光AE

t(INT) = t(INTCoarse) + t(INTFine)= (number of lines of integration * line time) + (number of pixels of integration * pixel), 

t(INTFine)的最大曝光时间是 line_length_pck - 750.

通常情况下曝光事件不能大于lines per frame(包含blanking lines),这种情况下帧率不受曝光时间影响.

exposure_time = coarse_integration_time × row_time

Master Mode
In master mode, the exposure period occurs simultaneously with the frame readout (see
Figures 12 and 13). This makes master mode the fastest mode of operation. When expo-
sure time is greater than the frame length, the number of vertical blanking rows is
increased automatically to accommodate the exposure time

当芯片工作在master模式下时:frame在读的期间会持续曝光,master是最快的操作模式,当曝光时间比frame length大时,vertical blanking rows会自动增增加缓解曝光时间.

自动曝光(AEC):

  自动曝光可以保证在每一帧更新的计算出最佳的曝光和增益设置.寄存器0x3100控制AEC的关闭.当R0x3100[0] =1时,AEC使能,寄存器0x3102设置luma(亮度)值,默认是是0x0500或者是一般.自动曝光的最大范围在寄存器0x311C中定义,最小范围在0x311E中定义,最小是一行.曝光控制是根据计算当前帧的Gr像素点的histogram的值得到当前场景的亮度值,然后和理想的状态值进行比对,最后适当的调整曝光时间和增益. 

S10:

S11:

转载于:https://www.cnblogs.com/biglucky/p/4158256.html

MT9M021/MT9M031总结相关推荐

  1. MT9M031/OV7251 usb 3.0 mipi bridge - AISTARVISION dragonboard 410c

    经过充分的准备,在之前推出了消费电子类camera和树莓派camera的基础上,我们目前又推出应用于工业自动化.机器人.机器视觉和人工智能领域的AISTARVISION USB 3.0 Camera模 ...

  2. Aptina推出三款新的图像传感器以及Janus参考设计

    Business Wire:Aptina公司新推出MT9M031和MT9M021图像传感器,上面集成了更小,更高性能的全局曝光技术到一个1/3英寸光学尺寸的支持高清分辨率的感光芯片上. 3.75um的 ...

  3. Minieye-M3 防撞预警产品硬件系统方案---基于AR0132RGB+MTK架构

    (1).产品规格 (2).硬件系统架构 camera sensor:AR0132RGB datesheet: https://docplayer.net/37244212-1-3-inch-cmos- ...

  4. 96Boards MIPI CSI Camera Mezzanine V2.1

    承接我们2017.7.3的博文"96Boards MIPI CSI Camera Mezzanine",Linaro 96boards官方MIPI CSI Camera Mezza ...

  5. TC358746AXBG/748XBG 桥接器说明

    为什么需要这个mipi csi-2 bridge 芯片,由于我们用的sensor 芯片是美光的MT9m021,这颗芯片并不支持MIPI 下面是网上摘录的说明可能解释这个问题: Because of t ...

最新文章

  1. 网络营销之CPA、CPS、CPM、CPT、CPC 是什么
  2. A股融资融券余额是什么意思?
  3. Ubuntu GNOME单击任务栏图标最小化设置
  4. PHP程序员的技术成长规划(转载)
  5. 前端学习(1692):前端系列javascript之typeof
  6. 枚举生成MVC3: Bind Enum To DropDownList ?-java教程
  7. 数据结构- 栈(实现综合计算器)(一位数计算 扩展到 多位数计算)
  8. es6 作为对象属性的Generator函数
  9. java生产消费线程小例子
  10. MATLAB简单绘图命令,简单的matlab绘图命令
  11. 下载elasticsearch的jdbc包
  12. Unity3D | 经典小游戏Battle City
  13. 多啦a梦的python代码_80行代码!用Python做一个哆来A梦分身
  14. Ubuntu 20:Cadence IC615集成HSPICE
  15. 四阶龙格库塔方法求解一次常微分方程组
  16. Linux命令之dos2unix
  17. 机器学习的思考–计算机的潜意识
  18. JPEG图像压缩探索_zigzag扫描(原创)
  19. http请求HttpServletRequest详解
  20. JAVA企业面试题精选 JDBC 1-10

热门文章

  1. C++:计算有n种情况a,b,c中任意一个使之成为最大数需要额外加多少
  2. POI实现导入导出excel
  3. 那些被岁月遗忘的 UNIX 经典著作
  4. rb格式转换器有哪些
  5. Android相机的角度问题
  6. PHP房贷计算器【附代码、简洁能用、亲测有效】
  7. 每一个程序员需要了解的10个Linux命令
  8. 联想天逸510pro开机故障,迁移主机硬盘
  9. docker挂载宿主机磁盘
  10. Windows XP系统修复功能的具体操作方法