课程设计论文基于ARM9的图像采集系统

上传人:无*** 文档编号:74157457 上传时间:2022-04-13 格式:DOC 页数:18 大小:1.20MB
收藏 版权申诉 举报 下载
课程设计论文基于ARM9的图像采集系统_第1页
第1页 / 共18页
课程设计论文基于ARM9的图像采集系统_第2页
第2页 / 共18页
课程设计论文基于ARM9的图像采集系统_第3页
第3页 / 共18页
资源描述:

《课程设计论文基于ARM9的图像采集系统》由会员分享,可在线阅读,更多相关《课程设计论文基于ARM9的图像采集系统(18页珍藏版)》请在装配图网上搜索。

1、基于ARM9的图像采集系统参赛队员:2010年11月12日摘 要本文基于ARM9的S3C2440A平台设计了一款具有多功能的嵌入式图像采集系统。阐述了嵌入式测控系统的特点。以其价格低、便携式等特点在安防、智能家居等场所得到了越来越广泛的应用。结合目前比较流行的CMOS摄像头技术,以及目前较普遍的SD卡技术,对构建一个既能进行本地图像信息采集又能进行图像浏览、文件管理以及具有人机交互界面的嵌入式系统进行了架构设计,即采用ARM+UCOSII系统架构。重点研究了OV9650 CMOS摄像头芯片流接口驱动的实现过程和开发方法,并应用DMA高速内存传输通道对采集到的图像数据进行传输,提高了大批量图像传

2、输的效率。应用了u C / O S II开源代码系统,实现了实时性多任务的操作系统的移植。本文采用了320x240的点阵型彩色LCD模块,实现了RGB16的真彩色图像的呈现。并选用了电阻技术的触摸屏,通过模/数转换得到坐标,摒弃了传统式键盘体积庞大、操作复杂的缺点。移植了znFAT 文件系统,实现了对FAT32格式的SD卡的存储访问,提供了文件的浏览、打开、删除、磁盘总容量查询等功能。SD卡驱动设计、IIC串行通信技术、RTC时钟设置。操作直观,界面友好,体现了本平台具有一定的应用前景。系统具有集成度高、可靠性高、功耗低、稳定性好等特点,可应用在远程监控、工业控制、视频会议、智能家居等诸多领域

3、。该系统架构也为视频监控系统的发展提供了一种新思路。关键字:ARM9、OV9650、u C / O S II、zn_FAT、TFT、SD、IIC目录1. 总体方案设计11.1方案比较11.2方案选择12. 硬件模块22.1 OV965022.2真彩TFT32.3触摸屏42.4 S D卡42.5 I I C接口53.软件模块63.1系统平台63.1.1COS-II63.1.2 zn-FAT73.2系统任务83.2.1 主菜单显示83.2.2 触屏扫描93.2.3 图像采集93.2.4 文件管理103.2.5 时钟设置113.2.6 背光调整113.2.7 触屏校正113.2.8 图片浏览124.

4、 系统调试135. 设计总结13参考文献14附录一 程序组织结构图15151. 总体方案设计为了适应采集图像的真实性、数据的大量性,我们并针对本设计的要求和目标,经过仔细的分析和考证,结合多方参考,对处理器、操作系统、摄像头模块进行了选型。1.1方案比较以往的8位单片机如51,AVR,430因价格便宜,硬件搭建简单,程序控制方便而广泛应用于工控,消费电子等产品中,但系统主频太低,存储容量小,难以满足高速图像采集及TFT显示。目前流行的32位处理器,具有其完整的体系结构以及较高的处理速度,极小的体积、极低的功耗、极低的成本、极高的性能,已在众多嵌入式微处理器中脱颖而出。对于操作系统,Linux和

5、WindowCE虽然经过多方调试和移植,源码公开,运行稳定,界面友好,但代码容量偏大,不适应本设计大量图像数据的传输,且移植不容易。而u C / O S II操作系统相对于前两者而言,代码容量偏小,移植简单,具有高速稳定的特点。对于摄像头模块,USB摄像头虽然占用的系统资源少,运行简单,但无法满足本系统图像采集清晰度、读取速度、帧速的要求,而支持8位/16位数据总线传输的0V系列摄像头正达到了本系统的要求,且其可通过SCCB串行总线进行控制,操作简单。1.2方案选择在处理器方面,本系统使用了三星公司的S3C 2440A微处理器为主控芯, 采用ARM920T 内核,最高时钟频率533MHz,29

6、8引脚的BGA封装。该芯片具有 MMU 虚拟内存管理,独立的8K指令和 8K 数据缓存,支持DSP指令集,支持数据Cache和质量Cache,LCD控制器,NAND 控制器,3 通道 UART,4 通道 DMA,带脉宽调制的4路定时器,I/O端口,RTC (real time clock),8 路10位ADC和触摸屏接口,IIC总线接口,IIS总线接口,USB主机,USB从机,SD座和多媒体卡接口,2 路 SPI 和同步时钟发生器。在操作系统方面,本系统使用了u C / O S II可抢占实时内核,并结合输入输出设备(触摸屏),以及自制的操作界面,移植了操作直观,界面友好,功耗低、稳定性好的嵌

7、入式图像采集系统界面。在摄像头方面,本系统选用了具有130万像素的OV9650 CMOS摄像头模块,支持8位或16位数据输出,通过 SCCB 接口进行串行控制,图像清晰度好,帧速可调,且可支持320X240、640X480、1280X1024等多种分辨率的图像采集。2. 硬件模块 图 2.1硬件模块连接示意本系统采用OV9650采集图像,使用320x240分辨率的TFT进行图像呈现,同时采用触摸屏进行人机交互,最后将采集到的图像信息保存到SD中,并将系统设置的重要信息参数以IIC方式写入24C02的EEPROM中。 2.1 OV9650 图 2.1.1 摄像头接口OV9650 是美国 Omni

8、Vision 公司推出的 CMOS 图像传感器芯片,支持多种分辨率,包括 VGA QQVGA CIF QCIF 等,以及多种数据输出格式,如 Raw RGB YUV(4:2:2) YcbCr(4:2:2)等 支持8 位或 16 位数据输出,通过 SCCB 接口对其编程,可实现图像处理的各种基本功能,譬如曝光控制 白平衡 色彩饱和伽马控制等 芯片电压要求低,可应用于嵌入式移动设备,采用 两线制 SCCB(Serial Camera Control Bus )双向同步串行总线,基本兼容IIC。原理如图2.1.1所示。CAMDATA07:数据总线,连接到ARM的CAM接口。CAMHRER:行同步。C

9、AMVSYNC:帧同步。CAMPCLK:像素时钟。IICSDA:SCCB数据线。IICSCL:SCCB时钟线。2.2真彩TFTTFT具有低功耗、体积小、显示内容丰富等特点,被广泛应用在消费电子行业。TFT彩色显示器通过利用三种原色混合的原理显示不同的色彩:彩色面板中,每个像素都是由3个液晶单元格构成,其中每个单元格前面都分别有红色、绿色、蓝色的过滤片;光线经过过滤片的处理变成红色、绿色、蓝色,利用三原色的原理组合出不同的色彩。TFT接口如图2.2.1所示。VD0VD23:为数据总线,直接连接到2440的LCD控制器上。LCD_PWREN:为背光使能。VSYNC:帧(垂直)同步。HSYNC:帧(

10、水平)同步。VCLK: LCD时钟。VDEN:数据有效使能。图2.2.1 TFT接口 2.3触摸屏电阻触摸屏是由两层复合膜构成,一层为导电玻璃,另一层为导电薄膜,如图2.3.1所示。在两层导电层之间有许多细小的透明隔离点把他们绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,控制器侦测到这一接触点,ADC后计算出(X,Y)的坐标。本系统采用了四线式触摸屏,接口如图2.2.1所示。 图 2.3.1 触摸屏构成2.4 S D卡SD卡是可靠数字存储卡,由MMC发展而来,他是为满足最新的视听类消费电子产品对安全、容量、性能等有特殊要求的环境而设计的。SD卡基于9针接口,最大可工作在25MHz。

11、其中定义了两种可选择的总线协议,分别是SD和SPI。(1)SD总线:CLK:主机与卡之间的同步时钟。CMD:双向的命令/反馈信号。DAT0DAT3:4位双向的数据传输线。(2)SPI总线:CS:主机到卡芯片之间的片选信号。CLK:主机到卡芯片之间的同步信号。DataIn:主机到卡芯片之间的数据输入信号。DataOut:主机到卡芯片之间的数据输出信号。本系统采用了高速的SD总线方式,硬件接口如图2.4.1所示。图2.4.1 SD卡接口2.5 I I C接口IIC总线为同步串行数据传输总线,可构成多主和主从系统。应用系统中IIC总线多采用主从结构,即总线上只有一个主控节点,总线上的其他设备都作为从

12、设备。IIC总线上的设备寻址由器件地址接线决定,并且通过访问地址最低位来控制读/写方向。本系统挂接了两个IIC从机,即24C02和OV9650。地址分别为:0x40和0x60。24C02的硬件接口如图2.5.1所示:图2.5.1 24C02接口3.软件模块本系统功能强大,界面复杂,为加快项目进程采用了嵌入式实时系统COS-II 为平台搭建了各功能模块,实现了多任务。同时也采用了操作简单的zn_FAT文件系统,使文件读取,管理等功能轻松实现。系统界面全由Photoshop制作而成。3.1系统平台根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置

13、”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3.1.1COS-IIC/OS-II 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统,是专门为计算机的嵌入式应用设计的。其源码绝大部分代码是用C编写,CPU硬件相关部分是

14、用汇编语言编写的。具有很强的移植性。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将C/OS-II嵌人到开发的产品中。C/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至 2KB 。C/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,

15、邮箱,消息队列,内存管理,中断管理等。uC/OS-II任务状态之间的切换如图3.1.1.1所示图 3.1.1.1 uC/OS-II任务状态3.1.2 zn-FATZn-FAT 是由我国年轻的电子工程于振南于两年前开始研发,目前已基本成熟的8位机FS修改后可移植到AVR、STM32、DSP、NIOSII等不同类型的处理器上,本系统将其移植到了32位的ARM9处理器上运行良好。zn-FAT提供了图3.1.2.1所示的软件接口。图3.1.2.1 zn_FAT文件系统功能示意3.2系统任务一个任务也被称为一个线程,可以把它看成是一个完全占有CPU资源的简单程序。对于实时应用程序,这个设计过程就包括了把

16、问题分割成为若干部分,每一部分由相应的任务进行处理。对每一个任务分配一个优先级,它拥有一组CPU寄存器,并且拥有堆栈区。3.2.1 主菜单显示图 3.2.1.1 主菜单界面TaskMainMenu( )部分代码如下所示:switch(i)case 0:OSTaskResume(TaskMainMenu_Priority+1);break;case 1:OSTaskResume(TaskMainMenu_Priority+2);break;case 2:OSTaskResume(TaskMainMenu_Priority+3);break;case 3:OSTaskResume(TaskMain

17、Menu_Priority+4);break;case 4:OSTaskResume(TaskMainMenu_Priority+5);break;case 5:OSTaskResume(TaskMainMenu_Priority+6);break;default:break;OSTaskSuspend(OS_PRIO_SELF); 主菜单任务主要负责功能选择和实时时钟显示。通过点击触摸屏来选择功能,进入相应的程序。如图 3.2.1.1 所示。3.2.2 触屏扫描图 3.2.2.1触摸屏驱动程序流程如图3.2.2.1所示本系统采用了分层思想将硬件层和软件层分开是本驱动程序具有很强的移植性和丰富

18、的功能如长按键,自动重复键等。途中KeyBuf为环形缓冲区,软件接口函数如下:KeyGetKey( int to):以等待信号量的方式获得键值。KeyInit( ):初始化硬件,主要调用Touch_Screen_Init( )。KeyFlush( ):清除键值缓存区。KeyHit( ):判断是否有键按下。KeyGetKeyDownTime( ):获取按键保持时间。Touch_Screen_Init( ):触摸屏初始化。KeyDecode( ):将ADC之后的值转换成LCD的对应坐标。3.2.3 图像采集(1)分辨率:本系统提供三种分辨率的图像捕捉;分别为320240,640480,128010

19、24;保存格式为RGB16格式的BMP位图文件。本系统通过改变Camera寄存器以及SCCB方式配置OV9650,从而改变摄像头分辨率的大小和帧速。(2)Camera接口有2个DMA(direct memory access)端口。P-port(预览端口)和C-port(编解码器端口) 都已经分开且各自保持独立。Preview端口图像可以用来作为预览图像,Codec端口图像可以用来在DSC 内应用作为JPEG图像,H.363 ,MPEG-4,视频格式。本系统将Codec输出的4通道pingpongRAM的地址配置为同一地址,将Preveiw端口设置为输出RGB16格式,并将缓冲区其实地址直接设

20、置在LCD缓冲区,以实现实时显示。(3)格式转换:OV9650支持输RawRGB,RGB(4:2:2),YUV(422),YCbCr(4:2:2)格式等,但是2440的Camera接口只支持输入 YUV(4:2:2) YCbCr(4:2:2)格式。本系统设置OV9650输出为YUV(422)。而LCD只能显示RGB格式,而BMP文件格式也只支持RGB格式 因此需要将2440 Camera DMA通道中的YUV数据转成RGB格式,转换算法通过如下宏实现:#defineYCbCrtoR(Y,Cb,Cr)(1000*Y + 1371*(Cr-128)/1000#define YCbCrtoG(Y,C

21、b,Cr)(1000*Y - 336*(Cb-128) - 698*(Cr-128)/1000#defineYCbCrtoB(Y,Cb,Cr)(1000*Y + 1732*(Cb-128)/1000 (4)BMP文件格式:BMP文件由四个部分构成,如图3.2.3.1所示:位图文件头和位图信息头的数据长度是固定的。 色表是一个 4 字节为一个结构体的数据,也就是说每一个色表的单元为 4 字节,至于一个位图文件有多少个色表单元,取决于该位图的颜色深度,即每个像素点需要多少位的数据来表示。色表的长度将由前面的位图信息头中的参数决定,比如像256色的 BMP 文件,就需要256个数据组构单元来存储色表

22、信息,而单色 BMP文件仅需要 2 个。位图字节阵列实际上就是一个位图数据的数据流,按字节为单位存储的。 图3.2.3.1 BMP文件格式3.2.4 文件管理(1)FAT32FAT32是Windows系统硬盘分区格式的一种。这种格式采用32位的文件分配表,使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2 GB的限制。运用FAT32的分区格式后,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。本系统采用的zn_FAT正支持FAT32格式。(2)接口函数本系统的文件操作由zn_FAT的接口函数组合实现:znFAT_Enter_Dir( ):

23、进入目录nFAT_Open_File( ): 打开文件znFAT_Seek_File( ): 搜索文件znFAT_Read_File( ): 读取文件znFAT_Add_Dat( ): 添加数据znFAT_Create_Dir( ): 创建目录znFAT_Create_File( ): 创建文件znFAT_Del_File( ): 删除目录znFAT_XCopy_File( ): 复制文件znFAT_Rename_File( ): 重命名文件znFAT_Get_Total_Size( ): 获取总容量znFAT_Get_Remain_Cap( ): 获取剩余容量(3)文件操作本系统提供了页面上

24、翻、页面下翻、文件删除、文件大小显示、磁盘容量查询的功能。3.2.5 时钟设置实时时钟(RTC)单元可以为系统提供可靠的时钟,当系统关闭电源后仍可通过备用电池供电。本系统采用了2440自带的实时时钟单元,只需对相应寄存器进行读写即可轻松实现设置年、月、日、时、分、秒。由于二月份的特殊性,用户设置时采用 四年一闰,百年不闰,四百年再闰方法判断月份上线。星期采用了基姆拉尔森计算公式如(式3.1) W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 (式3.1)3.2.6 背光调整通过设定一个背光延时时间来自动关闭LCD的背光,当用户超过此设定时间而没有按下任何

25、一个键则关闭LCD以节约电能。关闭LCD背光后若再点击屏幕的任意处背光再次开启。而且每次按下键后背光延时时间自动调整为设定时间。3.2.7 触屏校正触屏校正的原因:由于触摸屏和它背后的LCD是分开装配的,必然存在机械误差,同时插接电阻的存在,将导致电路参数不一致,因此电阻触摸屏在使用之前需要校准,校准后我们会得到一些参考值,以使我们能够将接收到的原始数据转换成上层软件所需的屏幕像素坐标。触屏校正方法:三点校正法。在LCD上依次画出三个点(32,24)(160,216)(288,120)让用户点击得到触屏坐标存入xt3,yt3数组中推算出七个参数A,B,C,D,E,F,K;如下K=( xt0-x

26、t2)*(yt1-yt2)-(xt1-xt2)*(yt0-yt2);A=( (32-288)*(yt1-yt2)-(160-288)*(yt0-yt2) );B=( (xt0-xt2)*(160-288)-(32-288)*(xt1-xt2) );C=( yt0*(xt2*160-xt1*288)+yt1*(xt0*288-xt2*32)+yt2*(xt1*32-xt0*160) );D=( (24-120)*(yt1-yt2)-(216-120)*(yt0-yt2) );E=( (xt0-xt2)*(216-120)-(24-120)*(xt1-xt2) ) ;F=( yt0*(xt2*21

27、6-xt1*120)+yt1*(xt0*120-xt2*24)+yt2*(xt1*24-xt0*216) );最后将上述七个参数写入24C02固定的地址保存,系统启动后再读出。之后触摸屏和LCD上的坐标转换通过如下宏定义实现:#define TP_Convertx(x,y)(A*x+B*y+C)/K)#define TP_Converty(x,y)(D*x+E*y+F)/K)3.2.8 图片浏览(1)图片文件的筛选:本系统只支持BMP文件格式,通过筛选函数,利用zn_FAT的通配符查找方式,将文件后缀为.bmp的文件从SD卡中筛选出来,在LCD上列表显示。并实现了列表上翻和列表下翻的功能。(2

28、)图片缩放本系统只支持的320X240、640X480、1280X1024 3种分辨率的图像浏览,由于TFT像素大小为320X240,故在预览时需对图片进行缩放,以适合TFT显示。考虑到程序复杂性,因此本系统采用了较为简单的最邻近插值(近邻取样法):对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目的像素的像素值,也就是说,取浮点坐标最邻近的左上角点(对于DIB是右上角,因为它的扫描行是逆序存储的)对应的像素值。最邻近插值算法如下:xratio = srcx / desx;yratio = srcy / desy;for (j=0;

29、jdesy; j+) for (i=0; idesx; i+) x = i*xratio; y = j*yratio; k=(y*srcx+x)1; LCD_BUFFERji = srcbufk | srcbufk+18; 4. 系统调试本系统功能强大涉及到的软硬件模块比比皆是,构件十分复杂,通过单独调试可确保每个模块的正确实现。本系统主要采用了串口输出提示信息的方法来观察程序的执行正确与否,并借助JTAG在线仿真调试。FAT32,SD卡读写时借助了WinHex, UltraEdit等软件观察。5. 设计总结 本次设计我们采用了32位的处理器ARM9 其功能强大,但操作复杂,这给我们编写,调试

30、驱动程序带来了很大的阻碍,尤其是在SD卡的驱动程序编写,在8位zn_FAT文件系统与32位处理器的兼容问题上遇到了很大的困难。此外摄像头方面,对图像的采集、存储、转换、压缩,这方面知之甚少,这让我们的系统设计过程困难重重,不得不看英文原版的数据手册。在读,保存bmp文件,相关的资料的匮乏,也令我们感到难以下手。但是,经过漫长的探索和实践,最终,使得这些问题都迎刃而解,这让我们获得了丰富的经验和信心去解决今后可能会遇到的问题。虽然本系统的设计结束,但我们的探索之路不会就此停滞。此系统仍存在很多不完善之处,尤其是SD卡的存储速度,还有待提高。而且此系统还可以做得更强大。下一阶段,我们希望能够完成图

31、像的JPEG压缩和视频的MPEG压缩,以及实现U盘的存储以及同过TCP/IP协议直接传输到计算机上。参考文献1 王黎明等.ARM9嵌入式系统开发与实践M.北京:北京航空航天大学出版社,2008.2 田泽 ARM9嵌入式系u C / O S II M. 北京:北京航空航天大学出版社,2006. 3 Jean J.Labrosse(美)著,邵贝贝 等译.嵌入式实时操作系统 u C / O S II. 北京:北京航天航空大学出版社 2003.4 Jean J.Labrosse(美)著,袁勤勇 等译.嵌入式系统构件.北京:机械工业出版社,2002.5 S3C2440A 32 32-BIT RISC MICROPROCESSOR USER MANUAL 6 谭浩强著.C语言程序设计 M 北京清华大学出版社,2005.7 TFT彩色液晶屏图像显示方法 M 2009.8 OV9650 DataSheet9 OV9650 software application notes10 OV9650 Implementation Guide11 张传乐译.SD规范 M 2010.附录一 程序组织结构图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!