毕设论文61Word下载.docx
《毕设论文61Word下载.docx》由会员分享,可在线阅读,更多相关《毕设论文61Word下载.docx(38页珍藏版)》请在冰点文库上搜索。
关键词:
图像采集单片机串行接口
Abstract
Imagerecognitionsystemistheuseofroboticcamera'
scaptureimagesinfrontoftherobotneededtoobtainuseful,accurateandtimelyinformation,imagedataistransmittedtotherobotafterprocessingtheunderlyingmovementofthemodule,andrelyontheRS-232serialporttothetopTheaPCacquisitionsystemasthebasisfordebuggingandanalysis.
Thedesignofthemainelements:
thedesignandproductionofimagerecognitionofthedatacollectionrobotmaster.ImagescollectedusingsinglechiptocompleteandimplementthecontrolsignalcalculatedafterimageanalysisbytheserialporttothePC'
swirelessdatacommunications;
mainlybythemicrocontroller,interfacecircuit,camera,powersupplysystemcomponents.
Thispaperdiscussesthedesignprinciplesofroboticimagerecognitionsystem,theimplementationoftheprogram,theresultsandanalysis.Themaincontentsofthedataacquisitionsystem,theregulatortechnology,OV7620cameraprinciple,eachpartoftheprogramdesign.Amongthem,theserialinterface,cameraprinciples,imageacquisitionandanalysisfocuseson.
KeyWords:
imageacquisitionMicrocontrollerSerialInterface
目录
摘要I
AbstractII
引言1
1机器人图像识别系统设计方案1
1.1机器人图像识别系统方案论证1
1.2机器人图像识别系统的结构组成3
1.3摄像头电路设计3
1.7串口设计4
1.8存储器分配5
2机器人图像识别系统程序设计6
2.1机器人图象识别系统的原理6
2.1.1图像采集原理6
2.1.2图像传输原理7
2.1.3CMOS器件的基本结构及工作原理8
2.1.4OV7620芯片介绍8
2.2图像采集系统原理8
2.2.1PAL信号格式9
2.2.2MC9S12XS128MAA介绍9
2.2.3MCU简介10
2.2.4采集流程11
2.3机器人图像识别系统工作过程12
2.3.1配置摄像头13
2.3.2配置中断15
2.3.3时钟超频18
2.3.4I/O初始化18
2.3.5串口初始化19
2.3.6等待场同步20
2.3.7循环处理程序20
3机器人图像识别系统结果分析26
3.1制作过程27
3.2开发问题分析27
结论29
致谢30
参考文献31
引言
图象就是对客观存在的物体的一种相似性的生动模仿或描述。
它是用各种观察系统以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人眼。
照片、各种类型绘画、电视画面等是图象的直观的例子,还包括视觉无法观察的其他物理图象和空间物体图象。
例如,温度、压力、高度等物理量的平面或空间分布,就是无法直接用人眼进行观察的图象。
科学研究和统计表明,人们通过视觉系统所获得的信息量大约占所有信息量总和的75%,这就是从图象中获得。
常见的图象是连续的,随着计算机技术的发展,为了能对图象进行加工和处理,数字图像技术出现了许多有关的新理论、新方法、与新设备,并在科学研究、工业生产、医疗卫生等方面得到了广泛的应用。
因此,数字图像处理自然而然地便成了一门重要的综合学科。
其中,高分辨率、实时的图像处理技术就是较为引人注目的领域之一。
展望21世纪,图象技术必将得到进一步的发展和应用。
1机器人图像识别系统设计方案
图像信息的获取和传输是图像处理系统的重要组成部分,直接影响图像处理系统的性能。
图像信息的采集包括对图像数据、各种附带参数信息以及状态控制信号的采集,一般图像信号和状态参数信号以及控制信号是独立产生的,因此需要设计一种系统能够将外部设备产生的图像数据和状态控制信号同步采集,综合考虑到图像采集系统所要求的实时性,可靠性,以及FPGA在数字电路的设计中的优势,为此利用FPGA实现的图像数据采集传输技术。
1.1机器人图像识别系统方案论证
作为机器人的图像传感器,需要结构简单兼容性良好,而且还要价格低廉运行稳定。
因此使用需要使用一款基于CMOS的数字图像传感器,因为CCD一般需要12V电压,很难在5V系统或者3.3V系统工作,而数字摄像头自带了图像引擎,可以做自动白平衡、曝光时间等控制任务,使得采集系统不需处理就能获得清晰图像。
综合这些条件,OV7620数字CMOS图像传感器。
OV7620是1/3”CMOS彩色/黑白图像传感器。
它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;
最高像素为664×
492,帧速率为30fps;
数据格式包括YUV、YCrCb、RGB三种,能够满足图像采集系统的要求。
而单片机虽然工作速度慢,但是成本低廉,最重要的就是支持C语言。
本方案中使用了MC9S12XS128MAA单片机,工作时钟40MHz,又兼容3.3V和5V系统。
下图1-1所示为一个典型的机器人图像识别系统。
图中的成像部分用的是OV7620CMOS数字图像传感器,目标物通过镜头在CMOS芯片是形成像并,产生信号电压,经由10位AD转换后由内置的图像处理芯片根据SCCB寄存器内的设定进行处理后输出8位图像,能够自动增益和自动白平衡控制,能进行亮度、对比度、饱和度、γ校正等多种调节功能;
其视频时序产生电路可产生行同步、场同步、混合视频同步等多种同步信号和像素时钟等多种时序信号。
图1-1图像识别系统框图
从摄像头传来的图像信号在MC9S12XS128MAA芯片采集之后经过处理和运算产生坐标和控制信号传给PC机。
Pc端可以通过RS-232串口接收单片机采集的图像和处理后的结果。
通过单片机使用I2C连接摄像头配置SCCB寄存器,能进行亮度、对比度、饱和度、γ校正等多种调节功能,还可以根据视野调整镜头焦距,最终得到清晰的图像。
如图1-2所示,OV7620摄像头在8位输出的时候pclk周期只有37ns,处理器读取的读入速度必须要在27MHz以上否则会丢失图像数据。
用于图像处理的单片机频率为40MHz,一般可以稳定超频到80MHz。
4个时钟周期只够执行两条指令,有的指令需要4个周期,用for循环连续的采数也不够,采一次大概需要10-16个周期才能完成。
所以速度不能满足采集的需要。
而MC9S12XS128MAA芯片,不仅速度不够,片内8KRAM也不足以存储一副图像,所以必须在设计之初就考虑到图像的压缩。
图1-2OV7620的8位输出时序图
1.2机器人图像识别系统的结构组成
如下图1-3所示,机器人图像识别系统使用OV7620作为图像传感器,使用MC9S12XS128MAA作为采集和处理芯片,回送处理后的控制信号,并使用串口输出采集图像,以便于调试。
使用开关稳压芯片LM2940CS-5芯片分别提供5V电源。
图1-3机器人图像识别系统框图
1.3摄像头电路设计
OV7620摄像头虽然兼容3.3v和5V电源,但是为了稳定使用5V电源,摄像头接口如下图1-4所示。
飞思卡尔单片机使用5v电源,连接如下表1-1所示,亮度信号接在A口,行场中断接在T口,电路如下图1-5所示。
单片机与图像接口连接表
MC9S12XS128MAA单片机引脚号
视频数据接口引脚号
P48
P1
P47
P2
P46
P3
P45
P4
P44
P5
P43
P6
P42
P7
P41
P8
P14
P16
P11
P13
表1-1单片机与图像接口连接表
图1-4单片机图像接口
图1-5单片机图像接口连接图
1.4串口设计
RS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;
若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
单片机处理完一帧数据后将处理完的数据通过串口传出,使用MAX232做电平转换。
单片机串口使用PS0和PS1。
具体电路如图1-6所示。
图1-6单片机串口电路
1.5存储器分配
MC9S12系列单片机片内有RAM、EEPROM和Flash,MC9S12XS128内有8KBRAM;
2KBEEPROM;
128KBFlash。
如图1-7所示,若地址分配出现重叠,按优先级自动屏蔽级别较低的资源存储器分配优先级
B
A
图1-7图A为单片机存储器分配,图B为存储器优先级
2机器人图像识别系统程序设计
对图像识别系统进行系统的分析与研究需要做三方面的准备。
第一方面对CMOS图象采集系统的原理有深刻的理解。
做为进行研究的入门。
第二方面,CMOS采集到的模拟信息需经过模数转换图像处理后输出8位数字信号,需要使用高速的芯片进行采集解决单片机采集速度过慢的问题。
第三方面,采集后的图像在FPGA中,利用消隐时间产生行场同步信号,把图像数据传送给单片机。
2.1机器人图象识别系统的原理
机器人图象识别系统通过FPGA采集摄像头传出的图像数据,再交给单片机处理得到稳定的机器人位移坐标,对CMOS采集图像原理详细阐述如下:
2.1.1图像采集原理
人眼的彩色视觉具有同色异谱特性,即颜色与光谱分布之间并不是一一对应的关系。
根据三基色原理,自然界的大部分彩色都可以用红、绿、蓝三种基色光按不同的比例相混配而成,这样任何一幅彩色电视图象都可以只传送三种基色颜色,接收端再对三个基色进行复合,便能重现彩色图象。
对于一幅彩色图像,无论其光谱分布如何,都可以分解成红、绿、蓝三幅单色图像,然后利用光电变换和电子束扫描把每一幅单色图像分解成象素并顺序传送,从而得到与三幅单色图像各象素亮度成比例的红、绿、蓝三基色电信号,在接收端利用这三基颜色电信号分别控制三个电子枪的束电流,轰击三色荧光粉,得到彩色的重现。
这就是彩色图像的传送过程。
图2-1彩色图像传送原理框图
图2-1是彩色图像传送原理的典型方框图,在摄像端,分光系统把投射的景物分解为红、绿、蓝三种基色光,分别送到光电转换及处理模块,进行光电转换、编码处理及信号放大,然后再输出。
在接收端,信号在图像显示模块中,经过解码与电光转换,还原为三基色信号电压,分别在彩色显象管的控制下,产生三个电子束流,分别激励各自的荧光粉发光,从而产生三幅单色光象,由于空间混色的结果,虽然产生的是单色图象,可人眼看到的却是一幅彩色图象。
2.1.2图像传输原理
电子扫描,就是在摄像管及显像管中,电子束以某种周期按一定的规律在靶面或荧光屏上来回运动。
摄像管利用电子束的扫描,将靶面上按空间分布的象素变成按随时间变化的电信号;
显像管又利用电子束的扫描,把随时间变化的电信号变成按空间分布的象素,复合成一幅完整的光学图像。
也就是说图像的分解与复合都是通过电子束的扫描来完成的。
根据扫描所形成的光栅特性来分,电子束的扫描可分逐行扫描和隔行扫描。
所谓的逐行扫描就是电子束一行接一行地从上到下扫过整幅(帧)画面;
而隔扫描就是将一帧(幅)图象分成两场进行扫描。
其中,由于逐行扫描在图像清晰度、闪烁感与信号带宽之间有无法解决的矛盾:
为保证图像连续且无闪烁,要求场扫描频率高于临界闪烁频率。
为了保证图像的清晰度,扫描行数应在500行以上,按照这样的计算,图象信号的频带宽度将超过10MHz,这就增加了设备的复杂性。
若减少场频,将引起闪烁;
如若减少行数将使清晰度降低。
解决这一矛盾的方法就是采用隔行扫描。
按照我国的标准,采用的是625行、50场/秒的规格。
为了在接收端正确地无失真地重现图像,接收端电子束的扫描必须与发送端同步。
所谓扫描的同步就是指接收端与发送端的扫描点具有一一对应的几何关系,即收、发对应象素应在同一时刻被扫描。
为了保证同步,就要要求收、发两端具有相同的扫描规律,即要求扫描电流频率相同,相位一致,而且扫描速度保持固定比例。
否则图像将产生严重失真,甚至根本无法观看。
2.1.3CMOS器件的基本结构及工作原理
最基本的CMOS图像传感器是以一块杂质浓度较低的P型硅片作衬底,用扩散的方法在其表面制作两个高掺杂的N+型区作为电极,即场效应管的源极和漏极,再在硅的表面用高温氧化的方法覆盖一层二氧化硅(SiO2)的绝缘层,关在源极和漏极之间的绝缘层的上方蒸镀一层金属铝,作为场效应管的栅极。
最后,在金属铝的上方放置一光电二极管,这就构成了最基本的CMOS图像传感器。
为使CMOS图像传感器工作,必须在P型硅衬底和源极接电源负极,漏极接电源正极。
当无图像光信号照射到光敏二极管上时,源极和漏极之间无电流通过,因此无信号输出;
当有图像光信号照射到光敏二极管上时,光敏元件的价带电子获得能量激发跃迁到导带而形成图像光电子,因而在源极和漏极之间形成电流通路而输出图像电信号。
显然,入射图像光信号越强,在光敏材料中激发的导电粒子(电子与空穴)越多,从而使源、漏极之间的电流越大,因而输出信号越大。
所以,输出信号的大小直接反映了入射光信号的强弱。
CMOS图象传感器也能生成高画质的图像,但其灵敏度与分辨率比CCD低。
在CMOS摄像器件中,电信号是从CMOS晶体管开关阵列中直接读取的,而不需要象CCD那样逐行读取。
2.1.4OV7620芯片介绍
OV7620CMOS数字图像传感器,目标物通过镜头在CMOS芯片是形成像并,产生信号电压,经由10位AD转换后由内置的图像处理芯片根据SCCB寄存器内的设定进行处理后输出8位图像,能够自动增益和自动白平衡控制,能进行亮度、对比度、饱和度、γ校正等多种调节功能;
可以简单的理解成一个CMOS模拟摄像头加上一块AD转换芯片之后的产物来看待。
因为OV7620还是按照PAL制信号传输,只不过Y口和UV口取代了原本的模拟信号。
2.2图像采集系统原理
OV7620的工作原理就像模拟摄像头加上AD,深入了解模拟信号格式就成为设计采集程序中最重要的工作,对视频信号格式和FPGA芯片做重点介绍。
2.2.1PAL信号格式
在采集图像之前,我们首先要知道摄像头输出信号的特性。
目前的模拟摄像头一般都是PAL制式的,输出的信号由复合同步信号,复合消隐信号和视频信号组成。
视频信号:
真正的图像信号,对于黑白摄像头,图像越黑,电压越低,图像越白,电压越高。
在这里我们通过AD采集来得到亮度信号。
复合同步信号:
用于控制电视机的电子枪对电子的偏转。
当电子枪收到行同步信号时,电子束就从上一行的最右端移动到下一行的最左端。
当电子枪收到场同步信号时就从屏幕的最右下角移到最左上角。
在这里我们需要用这个信号来控制采集像素的时序。
复合消隐信号:
在图像换行和换场时电子枪回扫时不发射电子。
即收到复合同步信号后,电子枪要换位置时是不能发射电子束的,这时候就由这个信号来消隐。
在这里我们完全不用理会这个信号。
由于人眼看到的图像大于等于24Hz时人才不会觉得图像闪烁,所以PAL制式输出的图像是25Hz,即每秒钟有25幅画面,说的专业点就是每秒25帧,其中每一帧有625行。
但由于在早期电子技术还不发达时,电源不稳定,容易对电视信号进行干扰,而交流电源是50Hz所以,为了和电网兼容,同时由于25Hz时图像不稳定,所以后来工程师们把一副图像分成两场显示,对于一幅画面,一共有625行,但是电子枪先扫描奇数场1,3,5.....,然后再扫描2,4,6.....,所以这样的话,一副图像就变成了隔行扫描,每秒钟就有50场了。
2.2.2MC9S12XS128MAA介绍
S12XS16位微控制器系列针对一系列成本敏感型汽车车身电子应用进行了优化。
S12X产品满足了用户对设计灵活性和平台兼容性的需求,并在一系列汽车电子平台上实现了可升级性、硬件和软件可重用性、以及兼容性。
S12XS系列可以经济而又兼容地扩展至S12XE系列,从而为用户削减了成本,并缩小了封装尺寸。
S12XS系列帮助设计者迅速抓住市场机遇,同时还能降低移植成本(如果开发过程中应用要求发生了变化)。
图2-2MC9S12X系列内部结构示意图
2.2.3MCU简介
MCU(MicroControlUnit)中文名称为微控制单元,又称单片微型计算机(SingleChipMicrocomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制
MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。
对于无片内ROM型的芯片,必须外接EPROM才能应用(典型芯片为8031)。
带片内ROM型的芯片又分为片内EPROM型(典型芯片为87C51)、MASK片内掩模ROM型(典型芯片为8051)、片内FLASH型(典型芯片为89C51)等类型,一些公司还推出带有片内一次性可编程ROM(OneTimeProgramming,OTP)的芯片(典型芯片为97C51)。
MASKROM的MCU价格便宜,但程序在出厂时已经固化,适合程序固定不变的应用场合;
FALSHROM的MCU程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途;
OTPROM的MCU价格介于前两者之间,同时又拥有一次性可编程能力,适合既要求一定灵活性,又要求低成本的应用场合,尤其是功能不断翻新、需要迅速量产的电子产品。
微控制器在经过这几年不断地研究,发展,历经4位,8位,到现在的16位及32位,甚至64位。
产品的成熟度,以及投入厂商之多,应用范围之广,真可谓之空前。
目前在国外大厂因开发较早,产品线广,所以技术领先,而本土厂商则以多功能为产品导向取胜。
但不可讳言的,本土厂商的价格战是对外商造成威胁的关键因素。
由于制程的改进,8位MCU与4位MCU价差相去无几,8位已渐成为市场主流;
目前4位MCU大部份应用在计算器、车用仪表、车用防盗装置、呼叫器、无线电话、CD播放器、LCD驱动控制器、LCD游戏机、儿童玩具、磅秤、充电器、胎压计、温湿度计、遥控器及傻瓜相机等;
8位MCU大部份应用在电表、马达控制器、电动玩具机、变频式冷气机、呼叫器、传真机、来电辨识器(CallerID)、电话录音机、CRT显示器、键盘及USB等;
16位MCU大部份应用在行动电话、数字相机及摄录放影机等;
32位MCU大部份应用在Modem、GPS、PDA、HPC、STB、Hub、Bridge、Router、工作站、ISDN电话、激光打印机与彩色传真机;
64位MCU大部份应用在高阶工作站、多媒体互动系统、高级电视游乐器(如SEGA的Dreamcast及Nintendo的GameBoy)及高级终端机等。
2.2.4采集流程
通过上面的介绍,对PAL制式信号有了充分的了解,那么就可以开始图像的采集了,PAL输出的信号有复合同步信号,复合消隐信号和视频信号。
那么我们首先就是要从这三种信号中分理出复合同步信号,复合消隐信号和视频信号,以便我们对AD采样到的值进行存储,从而形成一幅画面。
而OV7620整合了AD和行场同步分离的功能,直接就可以通过FPGA采集。
采集过程如图2-6所示
图2-3图像信号采集过程
从图中可以看出,采集的结束标志是场同步信号的产生,这既是结束信号也是开始信号。
所以采集场同步信号为视频采集模块的第一个状态,因为程序开始之初RAM中没有数据,也不知道传送到哪里,所以需要等待可靠场信号,之后再采集。
2.3机器人图像识别系统工作过程
在程序设计中,用到了4个基本功能模块:
时钟模块、外部中断模块、串口通信模块以及普通IO模块。
根据系统实际需求,对各个模块进行了初始化配置,通过对相应数据寄存器或状态寄存器的读写,实现相应的功能。
系统执行流程如图2-4所示:
图2-4处理程序流程图
2.3.1配置摄像头
OV7620有很好的图像引擎,可以应对大多数的环境,选择合适的参数调节图像,但是也有可能需要调整白平衡之类的参数。
这时可以通过配置SCCB寄存器,来获得较好的图像。
对于SCCB的操作,首先必需使能IICB,这个在OV7620上需要跳线解决。
网上很多人用普通IO口模拟SCCB总线的方式,这个方案可行,但比较麻烦,要写很多代码。
通过仔细分析SCCB协议和I2C协议