基于智能车中摄像头的图像采集的研究
2012-03-17王洪军李永科
刘 明,王洪军,李永科
(1.军械工程学院 导弹工程系,河北 石家庄 050003;2.军械工程学院 光学与电子工程系,河北 石家庄 050003)
智能车模块中最关键的模块是路径识别模块,和前瞻距离较小、只能获取有限的点信息的光电传感器相比,采用CCD摄像头[1]作为寻线传感器的智能车因前瞻距离远,能更远更早的感知赛道的变化而速度相对较高,受到大多数参赛队伍的青睐,但是不可否认,CCD摄像头传感器信号处理比较复杂,如何对摄像头记录的图像进行分割和识别,并快速处理不丢失数据是摄像头方案的难点之一。
1 硬件及原理
1.1 摄像头的主要工作原理
按一定的分辨率,以隔行扫描的方式采样图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度成一一对应关系的电压值,如图1所示,然后将此电压值通过视频信号端输出。具体而言,摄像头连续地扫描图像上的一行,就输出一段连续的电压视频信号,该电压信号的高低起伏正反映了该行图像的灰度变化情况。当扫描完一行,视频信号端就输出一低于最低视频信号电压的电平(如0.3 V),并保持一段时间。这样相当于,紧接着每行图像对应的电压信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。然后,跳过一行后(因为摄像头是隔行扫描的方式),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着就会出现一段场消隐区。此区中有若干个复合消隐脉冲(简称消隐脉冲),在这些消隐脉冲中,有个脉冲,它远宽于(即持续时间长于)其他的消隐脉冲,该消隐脉冲又称为场同步脉冲,它是扫描换场的标志[2-7]。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾部分和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。
图1 摄像头信号采集Fig.1 Signal of CCD
由于摄像头视频信号行的持续时间,以及其在每场信号中的位置,行消隐脉冲的持续时间等重要参数将关系到图像信号的有效实现,因此,我们用单片机对其进行了测试,测试结果显示:摄像头扫描的每场中有320行信号,其中23行到310行是视频信号,311行到下一场的第22行是场消隐信号。在视频信号区,每行信号持续的时间相同,约62微秒,每行的行同步脉冲持续的时间也相同,约为4.7微秒。而在场消隐区,每行持续的时间会有变化。场消隐区的第320行的消隐脉冲的持续时间远长于其他消隐脉冲,为场同步脉冲。
1.2 视频信号采集
在清楚了模拟摄像头输出信号格式及如何对信号进行采样的问题之后,下一步的问题是如何根据场、行同步信号来进行AD转换,即是如何“捕捉”场、行同步信号来作为采样开始和结束的依据,这里有两种可行的方法。1)直接通过单片机AD进行提取。因为行同步脉冲、消隐脉冲或场同步脉冲信号的电平低于这些脉冲以外摄像头信号的电在行中断程序中采集视频信号,当即进行AD转换,并转存至图像数组中,所以据此可设定一个信号电平阈值来判断AD采样到的信号是否为上述3类脉冲。2)给单片机配以合适的外围芯片,此芯片要能够提取出摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲以供单片机作控制之用。
1.3 LM 1881
考虑到单片机的速度有限,而一些脉冲的间隔时间又较短,为了减轻其处理负担,采用了第二种方法进行信号提取。为此,选择LM1881芯片作为视频同步信号分离芯片,该芯片可输出场、行同步信号,可由此芯片的输出信号控制单片机的AD转换开关。LM1881模块如图2所示。
图2 LM1881模块Fig.2 Module of LM1881
LM1881引脚说明:1-行同步信号 2-视频信号 3-场同步信号 4-地 5-空 6-复位 7-奇偶场同步信号8-VCC
由LM1881分离后可得到视频信号、行同步信号、场同步信号、奇偶场同步信号,其中视频信号进入AD转换模块转换成数字信号,行同步信号、场同步信号进行AD开关控制。
经LM1881处理后的图像信息如图3所示。
上图中(a)为原始的视频信号;(b)为行同步信号,(c)为场同步信号,场同步信号控制对每一场信号进行采集,在一场信号到来后,打开行中断,接受行同步信号,行中断中对像素点进行采样;(d)为奇偶场信号,以便确定该场信号为奇场或偶场。
图3 处理后的图像信息Fig.3 Picturemessage after processing
2 软件实现部分
2.1 摄像头初始化
摄像头视频信号行场同步接入S12单片机的T口中断,引脚分配如下:
PT0:行同步信号
PT1;场同步信号
其初始化中断代码如下:
TIOS=0X00;
TCTL4=0X05;//PT0和PT1都是上升沿捕捉,
TFLG1=0X03;//清零 PT0 和 PT1
TIE=0X01;//允许 PT0中断,禁止 PT1中断
2.2 超频设置
S12单片机中有4个不同的时钟,即外部晶振时钟,锁相环时钟,总线时钟和内核时钟。目前电路采用的是16 MHz的外部晶振,默认设置下,锁相环设置为 32 MHz,总线时钟8 MHz,内核时钟为16MHz。通过将PLLSEL置位,可选择总线时钟从锁相环时钟获得,而锁相环时钟与外部晶振的关系由SYNR和REFDV两寄存器决定。通过设置,将总线频率超频到 80MHz。
由于赛道黑线宽为25 mm,若采集的黑线点数少于3个,将无法对中线进行确定,而频率高有助于采集到更多的点数。
ATD0CTL4=0x01;
ATDClock=[BusClock*0.5]/[PRS+1]=0.05 μs
Programmed Sample Time=4AD Clock
AD转换时间=Initial Sample Time+Programmed Sample Time+Resolution Period
=2+4+10=16AD Clock=0.8 μs
行图像信号持续时间为62μs,其中行同步信号时间为4.7 μs,则采集的有效点数为:
这样,在近处能采集到黑点数较多,在远处也能采集到3个黑点,有助于黑线的提取。
2.3 图像采集
具体说来,采集一场的流程是这样的:
第1步,LM1881分离出的场同步信号在T0口产生中断。
第2步,LM1881分离出的行同步信号在T1口产生中断,开启行通道,允许中断,开启AD转换。
第3步,由于一场中有320多个行,设置了一个行计数器,每次行中断都将该计数器加一,当该计数器的值与预存数组里的某个数相等时,表示该行应该采集。我们一共采集40行信息。
第4步,一行采集完后将采集行计数器加1,关闭AD转换。将得到的数据转存入灰度数组。
第5步,下一场中断到,开始下一场的图像信息。
图像采集的流程如图4所示。
图4 图像采集流程Fig.4 Flow path of picture signal collection
3 结束语
通过对图像采集的研究,能够较易通过LM1881对视频信号进行分离,除了得到图像信号,还包括行同步信号,行消隐信号,场同步信号,场消隐信号等,通入芯片的PT口进行中断和AD口转换,从而完成对信号进行分割和量化,得到我们想要的灰度值。接下来只要对其进行二值化处理,就完成了模数转化,得到了想要的图像。
[1]申立琴,马彩文,田新锋,等.基于网络技术的CCD图像采集系统研究[J].现代电子技术,2009(2):151-153.
SHEN Li-qin,MA Cai-wen,TIAN Xin-feng,etal.Research on CCD image acquisition system based on network[J].Modern Electronic Technique,2009(2):151-153.
[2]卓晴,王琎,王磊.基于面阵CCD的赛道参数检测方法[J].电子产品世界,2006(4):27-35.
ZHUO Qing,WANG Jin,WANG Lei.The detection of path parametersbased onmatrix CCD[J].EEPW,2006(4):27-35.
[3]周炯槃.通信原理[M].3版.北京邮电大学出版社,2005.
[4]王威.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社,2007.
[5]王柏盛.C程序设计[M].北京:高等教育出版社,2004.
[6]夏路易,石宗义.电路原理图与电路板设计[M].北京:北京希望电子出版社,2002.
[7]孙同景,陈贵友.Freescale 9S12十六位单片机原理及嵌入式开发技术[M].北京:机械工业出版社,2008.