导言
飞思卡尔智能车竞赛现已成功举行4届,以摄像头为首要传感器的参赛部队大多数选用了模仿CCD或模仿CMOS摄像头。本文介绍了数字式CMOS 摄像头MT9M011的功用特征和作业方式,给出了MT9M011在依据HCSl2单片机的智能车操控体系中的运用计划,并剖析了数字摄像头的优势和缺乏。
1 CMOS图画传感器的特征
CMOS图画传感器可经过CMOS技能将像素阵列与外围支撑电路(如图画传感器中心、单一时钟、一切的时序逻辑、可编程功用和A/D转化器)集成在同一块芯片上。与CCD(电容耦合器材)图画传感器比较,CMOS图画传感器将整个图画体系集成在一块芯片上,具有体积小、重量轻、功耗低、编程便利、易于操控等长处;一起,可经过I2C、SPI等接口装备其曝光时刻、增益操控等功用,可控性强。因而,CMOS图画传感器的运用现已变得越来越广泛。
2 MT9M011的功用特征与作业方式
2.1 MT9M011的根本参数
MT9M011是一款:Mieron公司推出的RGB三基色的130万像素数字式CMOS摄像头,具有可编程操控及数字信号输出等功用。其输出为Bayer五颜六色格局,图画尺度为4.6 mm×3.7 mm,像素尺度为3.6 μm×3.6 μm,最大分辨率为1 280×1 024,支撑的最高时钟频率为25MHz;A/D转化精度为10位,最大信噪比为44 dB,在最高分辨率形式下功耗为129 mW。
MT9M011输出为逐行扫描的数字信号,经过内嵌的10位ADC将模仿视频信号采样量化后同步输出10位数据流。一起,MT9M011还供给像素时钟(PIXCLK)、行有用信号(LVAL)、帧有用信号(FVAL),以及装备MT9M011所需的I2C协议引脚SCLK和SDAT。
2.2 MT9M011的编程功用
MT9M011有25个寄存器,触及摄像头的各个方面,经过与I2C兼容的串行总线时序读写。结合智能车竞赛运用要点介绍以下寄存器:
①行开端寄存器(Ox01)和列开端寄存器(Ox02)。这两个寄存器决议输出图画的开端点坐标。运用这两个寄存器能够软件调理摄像头收集到的图画全体方位。
②行宽度寄存器(0x03)和列宽度寄存器(Ox04)。MT9M011的一大特征便是输出数据的图画巨细能够恣意调整。经过这两个寄存器能够针对当时的运用环境(即赛道)设置适宜的图画规模。
③曝光时刻寄存器(Ox09)。该寄存器的值决议了摄像头收集一帧图画时感光元器材的感光时刻。经过调整该寄存器值的巨细能够直接调整图画的成像质量。
④数据读取形式寄存器(Ox20)。该寄存器能够使输出的行数据和列数据削减至1/2或许1/4,也能够使输出的图画镜面对称。
⑤增益设置寄存器。它又包括Greenl重量增益设置寄存器(Ox2B)、Blue重量增益设置寄存器(Ox2C)、Red重量增益设置寄存器 (Ox2D)、Green2重量增益设置寄存器(Ox2E)和大局增益设置寄存器(Ox2F)5个寄存器。由于RGB重量对同一光源表现出不同的数值,因而需求针对不同的光源状况别离调整前4个寄存器的值,而这也是这款摄像头最大的缺陷。
2.3 MT9M011的数字图画输出
2.3.1 Bayer五颜六色格局输出
MT9M011的输出为Bayer五颜六色格局(Bayer color pattern)。这种输出格局直接将滤波阵列上每一个像素点对应的保存基色模仿电平值,经过A/D转化后按时序先后输出。图1展现了这种输出格局对应的部分像素点阵。其间,黑色像素点为输出有用数据的第一个点。
2.3.2 MT9M011的输出信号时序
像素数据输出时序和帧与行有用信号时序别离如图2和图3所示。像素时钟与主时钟同频,在一帧图画开端输出时帧有用信号由低电平变为高电平,一帧输出结束时由高电平变为低电平;而行有用信号则在一行数据输出有用时由低电平变为高电平,一行数据输出完结后由高电平变为低电平。依据MT9M0ll的输出信号时序就能正确地收集整帧图画。图3中,P为帧消隐区,A为有用数据区,Q为行消隐区。
3 MT9M011在智能车操控体系中的运用
3.1 硬件规划
MT9M011的电平是3.3 V,而HCSl2单片机体系的I/O电平是5 V,因而需求经过电平转化芯片将摄像头输出数据的电平提升到5V。结合MT9M011的输出信号时序联系和HCSl2单片机的特征,本文运用HCSl2的 ECT模块提取MT9M011的帧有用信号的上升沿,选用ECT模块对应引脚的一般I/O口功用收集行有用信号的上升沿。MT9M011的数据输出信号有 10位,鉴于赛道环境相对简略,只截取高8位作为摄像头信号输出,既能够确保图画分辨率,又可节省HCSl2的存储空间。HCSl2单片机自身带有一个规范的I2C模块,直接运用这个模块与MT9M011的SCLK和SDAT相接。
3.2 软件规划
3.2.1 HCSl2单片机I2C模块装备
HCSl2单片机供给规范的I2C模块,SCLK引脚能发生多种时钟频率,支撑主从形式,设有多种标志位以供查询。初始化I2C模块时需求完结以下作业:
①设置IBFD寄存器,使发生的SCLK信号能够对MT9M011进行正常的装备;
②设置IBEN寄存器位,使能I2C模块;
③设置IBCR,确认I2C模块的主、从形式,收、发形式以及是否使能中止功用等。
3.2.2 MT9M011图画数据收集
受限于单片机时钟的束缚联系,HCSl2的通用I/O口无法检测摄像头像素时钟信号跳变,本文采纳以固定周期收集一行数据的办法。因而,收集像素数据的关键是精确地收集帧有用信号的上升沿和行有用信号的上升沿。选用的计划是:运用HCSl2单片机的ECT模块收集帧有用信号的上升沿,运用ECT 模块一般端口形式收集行有用信号的上升沿。
收集目标要求纵、横分辨率都不能过低,而HCSl2内部存储空间有限,无法为高分辨率供给有利支撑。针对这一对立,运用一个像素
与其周围点的值的关联性,以及摄像头所具有的隔行和隔列输出功用进行跳收集。确认了1 280x 480的分辨率和队伍均跳4行收集的形式,
一起软件上再进行一次隔行收集,终究可得80×60=4 800个像素数据。收集数据的流程如图4所示。
3.2.3 收集图画时遇到的问题及处理办法
(1)摄像头晶振的挑选
MT9M011晶振的挑选是一个很重要的问题,假如一帧图画的时刻超越20 ms,就无法表现它的首要优势。一起,也要考虑到HCSl2单片机的约束,HCSl2的总线频率最大可到达32 MHz,而在此条件下假如MT9M011的晶振选取过大,则每一行收集到的点数过少。
经过式(1)可计算出MT9M011输出一帧图画所需的时刻:
式中:ColNum+HBlanking和RowNum+VBlanking别离标明包括空白数据的总列数和总行数;fcamera标明摄像头晶振频率,在一帧图画巨细现已确认的状况下,该值越大则一帧时刻越短。
经过式(2)可计算出单片机一行收集像素点的个数:
式中:RowPixNum标明一行能收集到的数据;ColNum标明每一行中输出的像素数据个数;Tcamera是摄像头晶振,fcamera 的倒数;Cycle标明一个收集周期运用的机器周期数,在整个收集过程中固定不变的;fbus标明单片机的总线周期。从式(2)可知,在fbus必定的状况下,camera越小,则一行收集到的数据就越少,这样不利于数据剖析。
归纳考虑,终究确认运用8 MHz的晶振作为MT9M011的时钟,而选用16 MHz晶振作为HCSl2的时钟,单行收集80个点,可满意途径辨认的需求。
(2)摄像头曝光时刻和增益的设置问题MT9M011是一款RGB三基色的五颜六色摄像头,收集到的数据为Bayer五颜六色格局。由于提取的是赛道上的黑线信息,图画环境相对简略,因而这儿直接将每一个重量的值作为该点像素的灰度值处理。
如图5(a)所示,在运用默许曝光时刻和增益时收集得到的图画有显着的隔行噪声效应,并且在一行间也有显着的搅扰噪声存在。这是由于同一光源关于RGB三种重量所表现出的数值不同,直接将其当作灰度值处理睬发生康复的图画不均匀、噪声大的现象。处理办法是经过屡次
实践调整摄像头的曝光时刻和RGB每个重量的增益值,使3个重量在同一光源下反应出的数值根本共同。经过调整后得到的图画如图5(b)所示。
4 数字式CMOS摄像头与模仿摄像头比较
数字式CMOS摄像头MT9M011最大的优势在于节省时刻。选用适宜的晶振及图画巨细能将整个小车操控周期约束在20ms左右。笔者从前做过试验,选用20MHz的晶振作为摄像头时钟,将单片机倍频到32 MHz。在这种条件下,一个操控周期的反应时刻甚至能缩短到4ms左右,与模仿摄像头的40 ms一帧图画比较有显着的优势。MT9M011的另一个优势是图画巨细能够恣意设置,因而笔者能够软件调整图画的巨细和视界的高度,且MT9M011与单片机接口简略,很大程度上减轻了硬件担负。
MT9M011在智能车竞赛运用中也具有一些缺陷。它不能主动习惯各种光源,需求人工进行调整;一起,它的动态特性不如CCD摄像头好,这点能够经过进步摄像头晶振时钟来缩短收集周期处理。
结语
本文介绍了数字式CMOS摄像头MT9MOll在依据HCSl2单片机的智能车中的运用,并针对数字摄像头与模仿摄像头的各自特征进行了比较。实践标明,选用数字式CMOS摄像头作为智能车途径辨认传感器是可行的。