基于ARM的图像采集无线传输系统的设计(修改稿)

上传人:xins****2008 文档编号:56935879 上传时间:2022-02-22 格式:DOCX 页数:51 大小:600.68KB
收藏 版权申诉 举报 下载
基于ARM的图像采集无线传输系统的设计(修改稿)_第1页
第1页 / 共51页
基于ARM的图像采集无线传输系统的设计(修改稿)_第2页
第2页 / 共51页
基于ARM的图像采集无线传输系统的设计(修改稿)_第3页
第3页 / 共51页
资源描述:

《基于ARM的图像采集无线传输系统的设计(修改稿)》由会员分享,可在线阅读,更多相关《基于ARM的图像采集无线传输系统的设计(修改稿)(51页珍藏版)》请在装配图网上搜索。

1、2011届毕业设计(论文)题 目:基于ARM的图像采集无线传输系统的设计专 业 班 级:2007 电子信息工程01 学 号:学号 0704030113 姓 名:姓名 李应兵 指 导 教 师:郑宽磊 讲师 学 院 名 称:电气信息学院 2011年 5 月 25 日基于ARM的图像采集无线传输系统的设计RESEARCH ON IMAGE ACQUISITION AND WIRELESSTRANSMISSION TECHNOLOGY BASED ON ARM学 生 姓 名:姓名 李应兵 指 导 教 师:郑宽磊 讲师 摘 要图像采集技术一直是过内外的一个研究热点,它的应用范围十分广泛,如在银行、商场、

2、质量检测、交通管理等。传统的图像采集系统大多数十有PC和图像采集卡构成的,其功能是将图像信号采集到电脑中,以数据文件的形式保存在硬盘上。这种图像采集系统成本一般较高,而且需要技术人员和维修人员来管理,费用较高并且传输距离有限。例如在偏远的地带、山区等恶劣的环境下,这种图像采集系统很难正常工作。 近年来无线通信技术和嵌入式系统技术的迅速发展,特别是嵌入式微处理器:ARM的出现和Limix在嵌入式系统环境中的广泛应用,使图像采集系统的小型化、低成本、低功耗成为可能。 目前图像监视系统领域内,有线图像监视方式受到了固有物理布线的限制, 随着计算机技术和通信技术的发展,将嵌入式系统技术、无线通信技术和

3、基于TCP/IP的Internet技术结合在一起的无线远程图像监视系统则将实现在无线宽带资源限制的情况下的实时传输视频图像。而图像采集的硬件设计也很重要,主要包括NANDFLASH接口、SDRAM接口、USB接口、UART接口、LCD接口等电路的设计。此外,系统的软件则基于Eilipse的嵌入式集成开发环境的构建,完成系统引导程序、Linux内核和文件系统的移植工作,然后利用Video4linux完成图像数据采集和JPEG压缩编码,最后根据GPRS模块检测信号强度来动态选用传输方式实现图像数据采集无线传输工作,在服务器端由用户控制系统接收图像。关键词:ARM; 图像采集; 嵌入式系统; Lin

4、ux; 无线传输; GPRSAbstract Image acquisition technology has been a hot research topic at homeand abroad,it has wide range of applications,such as banks,shoppingcenters,quality control,traffic management. Most of the traditional imageacquisition system is constitutive of PC and professional image capture

5、card, and by constructing private network for image capture andtransmission. This image acquisition system cost is generally higher,butalso need special maintenance,higher costs, and the transmission distanceis limited. In the remote mountainous harsh environment, the traditionalimage acquisition sy

6、stem is difficult to work. With the rapid development of wireless communication technologyand embedded systems technology in recent years, especially for theemergence of ARM and Linux is widely used in embedded systemenvironment. So its possible that the image acquisition systemminiaturization, low

7、cost, low power.Now picture monitoring system,cable image within the territory by the inheret surveillance way , with the physical wiring limited development of the computer technology and communication technology , embedded system technology ,wireless communication technology and based on TCP/IP in

8、ternet technology together inwireless remote image monitoring system will achieve in wireless broadband resources under the restriction of video images of the real-time transmission .And the image acquisition of handware desige is very important ,mainly including NANDFLASH interfaces , SDRAM interfa

9、ces , USB interfaces ,UART interfaces ,LCD interfaces circuit design. In addition , the system based the software is Eilipse embedded integrated environment constraction complete system boot,Linux Kernel and file system ,and by using the transplantation of work Video4linux complete image data acquis

10、ition and JPEG compression coding ,according to GPRS module testing signal strength to dynamically chosen transmission method realizes image data acquisition wireless transmission work ,in the server is drived by the user control system receive images .Keyword: ARM; image acquisition;embeddedsystem;

11、Linux;wirelesstransmission;GPRS目 录摘 要- I -Abstract- II -第一章 绪论- 1-1.1 选题背景和意义- 1-1.2 国内外研究现状- 2-1.3 本课题的研究内容- 4-第2章 系统总体设计- 6-2.1 系统功能描述- 6-2.2 系统组成- 6-2.3 关键器件的选型-7-2.4 嵌入式操作系统的选型- 10-2.5 本章小结- 11-第3章 硬件系统设计.- 12 -3.1 硬件系统结构框图- 12-3.2 NAND FLASH接口电路设计- 12-3.3 SDRAM接口电路设计- 15-3.4 USB接口电路设计- 17-3.5 U

12、ART接口电路设计-18-3.6 LCD的选择及接口电路设计- 18-3.7 本章小结- 20-第4章 基于Eclipse的软件系统设计- 21-4.1 构建基于Eclipse的嵌入式软件集成开发环境- 21-4.2 嵌入式linux系统的移植- 21-4.3 图像采集程序的实现- 26-4.4 GPRS介绍- 34-4.5 图像数据无线传输的实现- 35-4.6 服务器端程序设计-39-4.7 本章小结- 39-第5章 总结与展望- 40-5.1 总结-40-5.2 展望- 41-致谢- 42-参考文献- 43-第1章 绪论1.1 选题背景和意义图像在人们生活生产中无处不见,它在人类获取的外

13、部信息中占据着十分重要的角色。据统计,在人类接收的信息中,视觉信息占70%以上。“百闻不如一见”,在许多场合中,图像所传递的信息要比其他任何形式更加丰富和真切。由此可见,图像信息的地位是非常重要的。在工作和生活中我们常见的各类图片都属于图像,它们是采用各种设备获取并存储起来的一种实体。而人类的视觉系统本身也是一个图像的采集系统,它可以使呈现在人们眼前的景象在人们的大脑中产生一个具体的图像1。近年来嵌入式系统技术的飞速发展更为图像采集与处理系统的发展提供了无限的动力。嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、使用于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系

14、统2。ARM (Advanced RISC Machines )是嵌入式系统技术发展的一个标志性产物。ARM是目前世界领先的32位嵌入式微处理器,占据了大约75%的市场份额3。本系统采用的就是三星公司生产的基于ARM920T芯核的一款嵌入式微处理器S3C2440。它的主频可以达到400MHz,已经可以满足对图像数据的编码压缩的要求。另外,各种嵌入式操作系统的涌现也极大的促进了嵌入式系统技术的发展4,使用嵌入式操作系统可以大大减小系统的开发周期,提高系统的稳定性。图像采集作为近年来的一个研究热点受到了越来越多的关注5。特别是无线通信技术的发展,使人们的信息沟通实现了“随时随地”,同时也希望能够随

15、时随地了解目标场所的状况6。另外人们生活水平的不断提高,也使得数字化家庭开始诞生。在这种背景下,设计一种轻便小巧、低生产成本、低功耗的图像采集系统来采集、存储、传输并显示所需的图像就显得十分必要。针对这种情况,本课题提出一种基于ARM的图像采集与无线传输系统的设计方案。它是以嵌入式技术为核心,结合网络技术、无线通信技术,迎合了目前市场的需求,可以满足目前人们对生产、生活中对目标场地的随时监控的要求。与传统的图像监控系统相比,它应具有体积小,安装方便,现场无需专人值守,成本低,稳定性高等特点7。在未来的安保、智能交通管理、产品检测、海关检测、环境监督、家庭防护等各个方面都有着广阔的应用前景。1.

16、2 国内外研究现状图像采集与无线传输系统主要分为两个部分:采集部分和传输部分。本文主要从这个两个方面进行分析和设计。1.2.1 图像采集技术目前国内外图像采集与处理将模拟信号转换成数字信号,经PCI或其它总线由上位机进行图像处理。这种方式的优点是:充分利用了PC机丰富的软硬件资源、易于开发等特点,它的缺点是:整个系统硬件连接复杂,不利于小型化,而且对人力、成本等要求较高89。随着嵌入式微处理器技术的发展,嵌入式微处理器的运算速度已经大幅提高。本课题采用图像传感器与微处理器的方式来完成图像的采集模块的设计,并在系统中采用嵌入式操作系统,不仅实现了图像数据的高速采集,而且降低了系统成本,系统功能易

17、于扩充,为系统再次功能扩充留下了空间1011。1.2.2 图像数据的无线传输目前国内外实现数据无线传输的技术主要有:红外线无线技术、蓝牙无线通信技术、GSM, CDMA, GPRS等12。(1)红外线无线技术红外线是波长在750nm1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人用肉眼看不到的光。红外通信一般采用红外波段内的近红外线,波长在0.7um25um之间13。目前使用的家电遥控器几乎都是采用红外线传输技术。使用红外线做信号载波的优点很多:成本低、传播范围和方向及距离可以控制、不产生电磁辐射千扰,也不受干扰等等。随着红外线技术的日益成熟,标准的日益规范,红外线在通讯上的应用也就

18、日益增多14。(2)蓝牙无线通信技术蓝牙是一种技术的名称,它来源于公元10世纪丹麦的一位国王Harold,他的绰号就叫“Bluetooth15。蓝牙是一种低功耗、短距离无线通信技术,其实质内容是建立全球通用的短距离无线电空中接口以及控制软件的公开标准;其目的是要取代现有的传统个人计算机、传真机、打印机、移动电话等设备之间互联的有线电缆,使其形成一个微型的个人小型网络系统,从而方便地实现各个电子设备之间的无线通信16。(3)GSMGSM(Global System for Mobile communications),即全球移动通信系统,是世界上采用最多的数字移动通信制式,我国最大的移动通信运营

19、商一中国移动通信业采用的也是GSM。GSM是第二代(2G)移动通信技术的代表,它可以使用的频率为900MHz, 1800MHz和1900MHz,我们国内主要采用的是900MHz和1800MHz,简称GSM900和DCS 1800。频带宽度为25MHz(对900MHz频段而言);通信方式为FDD频分全双工。双工通信时收、发频率间隔45MHz。信息数字结构为时分多址帧结构。每帧为一个载波,分为8个时隙,全速率信道8个,半速率信道16个;调制方式为高斯低通最小频移键控(GMSK),调制指数为0.3 ;采用数字话音,其编码方式为规则脉冲激励长线性预测编码(RPE-LTP),速率为13kb/s;每时隙信

20、道比特率为22.8kb/s,信道总速率为270.83kb/s;数据速率为9.6kb/s。GSM系统主要由网络交换子系统(NSS),基站子系统(BSS)以及移动终端设备(MS)三大部分组成17。(4)CDMA在上个世纪八十年代,即第二代移动通信迅速发展时期,提出了两个重要的移动通信体制,一种是TDMA体制,另一种就是CDMA。CDMA是一种以扩频通信为基础的调制和多址连接技术。在信号的发送端使用一个自相关性较强而互相关较小的高速伪随机码作为地址码,与要传输的用户信息数据相乘。在接收端,以本地产生的、与发送端相同的地址码与接收到的信号相乘,经过相关检测,就能将扩频信号解扩,将原始用户信息数据给恢复

21、出来。 (5)GPRSGPRS(General Packet Radio Service)即通用分组无线业务,由英国BT Cellnet公司最早在1993年提出,是GSM Phase2+规范定义实现的内容之一。它是一种基于GSM的面向用户提供移动分组的IP或者 X.25连接的移动分组数据业务网。GPRS没有取代目前GSM网络支持的CSD(电路交换数据)和SMS(短消息)等业务,而是对目前GSM网络的补充。GPRS是GSM向3G系统演进的重要一环,它既考虑了向第三代系统的过渡,同时又兼顾了现有的第二代系统,是第二代GSM系统过渡到第三代WCDMA系统的必经之路,所以GPRS又称为2.5G。GPR

22、S分组业务信道采用了与GSM不同的CSICS4等编码方式(其数据速率分别为9.0Skbit/s, 13.4kbit/s, 15.6kbit/s, 21.4kbit/s )。采用编码方式为CS-4时,且无线环境良好,信道充足的情况下,可以实现GPRS网络支持的理论最高速率171.2kbps,这种速率完全可以支持一些多媒体图像传输业务等对带宽要求较高的应用业务。但实际数据传输速率受网络编码方式和终端支持的因素影响,CS3, CS4的接收参考灵敏度较低,这两种编码方式只有在距离基站较近且信号较好的地区才能够真正使用。综合以上几种无线传输技术的比较,并根据本系统对成本和传输距离的要求,另外由于国内GP

23、RS的网络用户远远多于CDMA,且GPRS的信号强度要好于CDMA,本系统选择GPRS作为图像数据的无线传输方式。1.3 本课题的研究内容本课题针对目前国内外图像监控系统的现状提出了一种基于ARM的图像采集与无线传输系统的设计方案,通过研究嵌入式系统技术,结合网络技术、无线通信技术,以及具体的市场需求情况,研究一种适用于图像监控、安全保障的图像采集与无线传输系统。本课题的主要研究内容有:(1)搜集相关资料,分析目前国内外现有的图像采集系统的优缺点。(2)进行系统的总体设计,并对系统进行详细的功能模块划分,选择关键模块器件的型号。(3)进行硬件系统的设计工作,主要有NAND FLASH接口电路、

24、SDRAM接口电路、USB接口电路、DART接口电路、LCD接口电路的设计。(4)构建基于Eclipse的嵌入式集成开发环境。(5)进行嵌入式Linux的移植,主要工作有系统引导程序的移植、Linux内核的移植和文件系统的移植。(6)进行图像采集程序的编写。(7)进行图像数据无线传输程序的编写。(8)进行服务器端接收及控制程序设计。本课题提出的基于ARM及嵌入式linux环境下的图像采集与传输系统具有低成本、低功耗、易布设、系统易扩展等特点。第2章 系统总体设计2.1 系统功能描述本课题设计的基于ARM的图像采集与无线传输系统,主要是为了弥补传统图像采集系统中存在的成本较高、功耗较高、不易布设

25、等缺点。系统采用嵌入式处理器ARM作为控制器,图像数据由图像传感器采集后,由嵌入式处理器对图像数据进行JPEG编码压缩处理后,利用GPRS模块发送至远程服务器中,在服务器端可以实现连续接收或单幅接收的控制。在完成图像采集与无线传输的同时,系统还必须满足低成本、低功耗的要求。2.2 系统组成一个完整图像采集系统应该包括图像数据采集,对图像数据的处理,图像数据的存储以及整个系统的控制等模块。本系统以嵌入式微处理器ARM为控制核心,以图像传感器为图像数据的获取设备,以GPRS模块为图像数据的发送设备。整个系统的体系结构可以分为三层:硬件层、系统软件层和应用层。系统结构如图2-1所示。可以将系统划分为

26、五个主要部分:控制模块、图像采集模块、GPRS模块、显示模块、电源及存储模块。系统在嵌入式微处理器的控制下从图像传感器采集图像数据,采用DMA方式将图像数据传输到内存缓冲区中,由软件将图像数据读出并对图像数据进行JPEG压缩和打包处理后存入Flash中,最后通过GPRS网络发送到远程接收端服务器。本系统的设计难点是如何保证内存中图像数据的读取与图像传感器获取图像数据的同步以及图像数据的实时处理。系统采用的嵌入式处理器ARM必须具备较强的处理能力,以便于完成图像数据的实时处理的需求,并要求系统的成本比传统的图像采集系统低 。 2.3 关键器件的选型2.3.1 嵌入式微处理器ARM的选型ARM公司

27、自从1990年在英国剑桥成立以来,在32位RISC(ReducedInstruction Set Computer)CPU开发领域中不断取得突破,其结构已经从V3发展到V6。目前非常流行的ARM芯核有ARM7TDMI, StrongARM, ARM720T, ARM9TDMI, ARM922T,ARM940T, ARM946T, ARM966T, ARMIOTDMI等。另外ARM芯片还获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较著名的有Windows CE, Linux, pSOS、VxWorks, Nucleus, EPOC, uC/OS、

28、Beos等18。我们在选择ARM芯片时主要参考以下因素:(1) ARM芯核如果希望使用嵌入式操作系统来减少软件开发时间,就需要选择ARM720T以上带有MMU ( Memory Management Unit )功能的ARM芯片。目前只有uCLinux等少数几种Linux不需要MMU的支持。(2)功能不同的系统需要各不相同,在选取就需要考虑处理器本身所能支持的功能,如USB, DART、液晶显示等。(3)性能主要是从处理器的功耗、运算速度、稳定可靠性等方面考虑。(4)价格一般来说,在产品完成预定功能的情况下,都是希望成本越低越好。但在选取时需要考虑处理器的价格以及由处理器而衍生出的开发价格,如

29、开发工具、外围芯片等。(5)熟悉程度和开发资源选择一款自己熟悉的处理器可以大大减少开发的难度和周期,并降低开发风险。在自己熟悉的处理器都无法满足的情况下,则应尽量选择开发资源较丰富的处理器。(6)是否可升级为了系统在以后的升级方便,应尽量选取具有相同封装的不同性能等级的处理器,并考虑系统未来可能会增加的功能。(7)供货稳定性供货是否稳定也是选取处理器时应考虑的一个重要因素,应尽量选取大厂家、通用性较好的芯片。基于以上各种因素,本课题选择三星公司的S3C2440作为嵌入式微处理器。S3C2440采用了ARM920T的内核,0.13um的CMOS标准宏单元和存储器单元,芯片内部集成了16KB的指令

30、Cache和16KB的数据Cache,外部存储控制器,LCD控制器,4通道DMA并有外部请求引脚,3通道DART, 2通道SPI, 1通道IIC-BUS接口,AC97解码器接口,2端口USB主机/1端口USB设备,4通道P WM定时器和1通道内部定时器,看门狗定时器,8通道10位ADC和触摸屏接口等19。2.3.2 图像采集模块的选型目前主要的图像传感器分两类:CCD(Charge Coupled Device)和CMOS(Complementary Metallic Oxide Semiconductor)。CCD使用一种高感光度的半导体材料制成,能把光线转变成电荷,通过模数转换器芯片转换成

31、数字信号。数字信号经过压缩以后由相机内部的闪速存储器或内置硬盘卡保存,因而可以轻而易举地把数据传输给计算机,从而可以借助与计算机中丰富的软硬件资源,根据需要对图像进行处理。CCD主要由一个类似马赛克的网格、聚光镜片,以及垫于最底下的电子线路矩阵所组成。CMOS也是一种可记录光线变化的半导体。CMOS的制造技术相比较与CCD来讲简单的多,与一般计算机芯片没有多大差别,主要是利用硅和锗这两种元素做成,使其在CMOS上共存着带N(带负电)和P(带正电)级的半导体,这两个互补效应所产生的电流即可被处理芯片记录和解读成影像。在相同分辨率下,CMOS的价格比CCD便宜的多,但是CMOS器件产生的图像质量相

32、比CCD来说要低一些20。目前市场上绝大多数高端数码相机都使用CCD作为感应器;CMOS感应器则作为低端产品应用于一些摄像头上。与CCD相比较,CMOS的优势之一在于电源消耗量比CCD低,CCD为了提供高质量的影像品质,付出代价即较高的电源消耗量,为使电荷传输顺畅,噪音降低,需由高压差改善传输效果。但CMOS影像传感器将每一像素的电荷转换成电压,读取前便将其放大,利用3.3V的电压即可驱动,电压消耗量因此要比CCD低的多。CMOS的另一个优势是与周边电路的整合性高,可将ADC与信号处理器整合在一起,使体积大幅缩小。与PC环境下相比,嵌入式系统环境中资源十分有限,另外从成本、电路设计负责度、电源

33、消耗量等方面考虑,本课题选择采用基于CMOS图像传感器作为感光器件及中星微301微处理芯片的USB接口摄像头作为系统的图像采集模块。中星微301系列USB接口摄像头可以在320240和640480及800600的分辨率下轻松的达到30fps/s的速度,30万硬件像素,百万以上插值像素,完全可以实现视频画面或图像的清晰、流畅。2.3.3 GPRS模块的选型目前无线通信品种较多,常见的无线模块分成GPRS, CDMA, GSM, EDGE等模块。这些无线模块广泛应用于无线数据传输,电力GPRS ( CDMA)通信系统、铁路GPRS ( CDMA)通信系统,无线监控,GPRS智能交通系统等无线远程监

34、控领域等行业。目前国内市场上常见的无线模块品牌主要有:西门子、华为、摩托罗拉、飞图、展迅、Enfora、明基、SIMCOM, Wavecom等。本课题选用Wavecom公司的GPRS模块Q2406B,如图2-2所示。 图2-2 Q2406实物图GPRS模块Q2406B是一块双频GSM / GPRS模块,内嵌协议栈,执行ETSIGSM Phase 2+的标准,类别4 ( 2W900MHz ),类别1(1 W 1800/1900MHz )外部3V/SVSIM。由于GPRS模块Q2406内嵌了协议栈,所以进行软件编写时就可以省去协议栈的编写或移植,这样就节省了大量的软件开发时间21。2.4 嵌入式操

35、作系统的选型选择linux的原因有: (1)可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目很有吸引力。原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。(2)Linux可以随意地配置,不需要任何的许可证或商家的合作关系。(3)它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,节省大量的开发费用。(4) Linux它本身内置网络支持。(5)Linux的高度模块化使添加部件非常容易。(6)Linux在台式机上的成功,使大家看到了linux在嵌入式系统中的辉煌前景。2.5 本章小结本章首先介绍了系统要实现的功能,并详细介绍

36、了基于ARM的图像采集与无线传输系统的组成,详细分析了系统关键器件的选择原则,选定了本系统所采用的嵌入式微处理器、图像采集模块、GPRS模块,最后介绍了本系统所采用的嵌入式Linux,以及选择嵌入式Linux作为系统的嵌入式操作系统的原因。第3章 硬件系统设计3.1 硬件系统结构框图本系统以嵌入式微处理器S3C2440为系统控制中心,当USB接口摄像头获取图像数据后,经过S3C2440的压缩处理后,利用串口将图像数据送至GPRS模块Q2406B发送到远程服务器。系统的硬件框图如图3-1所示。3.2 NAND FLASH接口电路设计3.2.1 NAND FLASH和S3C2440 NAND FL

37、ASH控制器分析NAND FLASH在嵌入式系统中的地位与PC上的硬盘类似,用来保存系统运行所必须的操作系统、应用程序、用户数据、运行过程中产生的各类数据,并且在系统电源关闭后NAND FLASH中的数据可以在掉电状态下永久保存。本课题选用的NAND FLASH芯片是三星公司生产的容量为64MB的K9F1208UOM22。K9F1208UOM的封装及外部引脚如图3-2所示。图3-3K9F1208UOM的内部结构图K9F1208UOM的内部结构分为10个功能部件:(1)X-Buffers Latche&Decoders:用于行地址(2)Y Buffers Latche&Decoders:用于行地

38、址。(3)Command Register:用于命令字。(4)Control Logic & High Voltage Generator:控制逻辑及产生Flash所需高压。 (5)Nand Flash:存储部件。 ( 6 ) Page Register & S/A:页寄存器,当读、写某页时,会将数据先读入/写入此寄存器,大小为528字节。(7)Y Gating 。(8)I/O Buffers&Latches 。(9)Global Buffers 。(10)Output Driver 。K9F1208UOM的容量为64M X 8bit,分为131072行(页)、528列;每一页大小为512字节

39、,外加16字节的额外空间。K9F 1208UOM的命令、地址、数据都通过8个I/O口输入/输出,这种形式使得K9F1208UOM引脚得到减少,并易于扩展系统容量。写入命令、地址或数据时,都需要将WE#, CE#信号同时拉低。数据在WE#信号的上升沿被NAND Flash存;命令锁存信号CLE、地址锁存信号ALE用来分辨、锁存命令或地址。NAND Flash时需要发送命令,然后发出地址序列,最后读/写数据;需要使用各个使能信号来分辨是命令、地址还是数据23。S3C2440的NAND Flash控制器提供了NFCONF, NFCONT, NFCMMD, NFADDR, NFDATA, NFSTAI

40、,和其他与ECC有关的寄存器。NAND Flash的读写操作顺序如下:(1)设置NFCONF, NFCONT寄存器,配置NAND Flash。(2)向NFCMD寄存器写入命令。(3)向NFADDR寄存器吸入地址。(4)读/写数据:寄存器写入地址。通过寄存器NFSTAT检测NAND Flash的状态,在启动某个操作后,检测R/nB信号以确定该操作是否完成、是否成功。3.2.2 NAND FLASH接口电路S3C2440与K9F1208UOM的接口电路如图3-4所示。图3-4K9F1208UOM与S3C2400的连线图如图3-4所示,K9F1208UOM与S3C2440的连线有:8个v0引脚(vo

41、owo,S个使能信号(nWE, ALE, CLE, nCE, nRE), 1个状态引脚(RDY/B),另外还有1个写保护引脚(nWP)。地址、数据和命令都是在这些使能信号的配合下,通过8个I/O引脚传输。3.3 SDRAM接口电路设计3.3.1 S3C2440存储控制器分析S3C2440的存储控制器提供了访问外部设备所需的信号,它具有如下特性:支持数据的大端、小端存储模式(可以通过软件设置);每个BANK的地址空间为128MB,总共1 GB(BBANKs);可编程控制的总线位宽(8/16/32-bit),不过BANKO只能选择两种位宽(8/16-bit);共计8个BANK BANKOBANKS

42、可以支持外接ROM, SRAM等,BANK6BANK7除可以支持ROM, SRAM外,还支持SDRAM等;BANKOBANK6共7个BANK的起始地址是固定的;BANK7的起始地址可编程选择;BANK6, BANK的地址空间大小是可编程控制的;每个BANK的访问周期均可编程控制;可以通过外部的“wait”信号延长总线的访问周期;在外接SDRAM时,支持自刷新和省电模式。S3C2440在系统复位后的存储控制器的地址空间分布如图3-5所示3.3.2 SDRAM的选择及接口电路设计目前SDRAM生产厂家众多,所以选择一款合适的SDRAM芯片对整个系统的开发也是十分重要的。选用的SDR.AM是两片三星

43、公司生产的K4S561632A(4M16bit4Banks)。通过并联两片16位的K4S561632A从而组成32位的位宽,与S3C2440的32条数据线(DATAODATA 1)相连。S3C2440的存储控制器中BANK6为扩展SDRAM所用,因为BANK6的起始地址为0x30000000, 所以系统中SDRAM的起始地址也为Ox30000000。 图3-6 两片K4S561632A与S3C2440的连线图3.4 USB接口电路设计S3C2440中集成了2个USB主机接口和1个USB设备接口。USB主机接口遵从OHCI Rev.1.0标准,兼容USB Verl.l标准。USB设备接口具备5个

44、Endpoint兼容USB Verl.l标准。由于本课题中只有USB接口摄像头需要USB接口,所以1个USB主机接口就可以了,另外,为了便于系统调试,再增加1个USB设备接口,用来下载嵌入式Linux镜像使用。S3C2440中扩展USB接口十分方便,只要按照USB Verl.l标准连接即可24。图3-7 S3C2440与USB设备的链接框图3.5 UART接口电路设计S3C2440中集成了3个相互独立的DART (IrDAI.0,64字节Tx FIFO和64字节Rx FIFO ),每个DART都可以单独地在中断或是DMA模式下操作,也就是说DART可以生产一个中断或DMA请求用于CPU和DAR

45、T之间的数据传输。UART使用系统时钟时可以支持最高115.2Kbps的波特率。如果外部设备提供UEXTCLK给UART,则DART可以工作在更高的速率。S3C2440可以通过RS232-C标准接口很容易实现和其他设备、模块的连接,从而进行数据的输入输出。本系统中DART接口的主要用途是连接GPRS模块Q2406B。由于RS232-C标准与S3C2440中所定义的高、低电平信号不同,所以还要进行信号电平的转换。这里我们采用MAX3232来实现。DART接口电路框图:图3-8 DATR的接口电路框图3.6 LCD的选择及接口电路设计S3C2440中集成了LCD控制器,被用来向LCD传输图像数据,

46、并提供必要的控制信号,比如VFRAME, VLINE, VCLK, VM等。S3C2440支持两种LCD:TFT LCD和STN LCD,它们的特性如下(BPP表示bit per pixel,即每个色素使用多少位来表示其颜色)。(1) TFT ( Thin-Film Transistor薄膜晶体管)LCDTFT LCD支持单色(1BPP), 4级灰度( 2BPP ), 16级灰度(4BPP ) , 256色(BBPP)的调色板显示模式;支持64K (16BPP)和16M (24BPP)色非调色板显示模式;支持分辨率为640 X 480,320 X 240及其他多种规格的LCD;虚拟屏幕最大可达

47、4MB;对于64K色,分辨率有2048 X 1024等多种。(2)STN ( Super Twisted Nematic超扭曲相列)LCD。STN LCD支持3种扫描方式:4位单扫描、4位双扫描和8位单扫描;支持单色(1BPP), 4级灰度(2BPP)和16级灰度(4BPP)屏;支持256色(8BPP)和4096色(12BPP)彩色STN屏(CSTN);支持分辨率为640480, 320240, 160160以及其他规格的多种LCD、虚拟屏幕最大可达4MB:对于256色,分辨率有4096 1024, 20482048, 10244096等多种。S3C2440集成的LCD控制器除了提供驱动STN

48、 LCD, TFT LCD所需的所有信号,另外,还特别提供额外的信号以支持SEC公司( Samsung ElectronicsCompany)生产的TFT LCD(称为SEC TFT LCDs )。S3C2440 LCD控制器的内部结构如图REGBANK是LCD控制器的寄存器组,含17个寄存器及一块256 X 16的调色板内存,用来设置各项参数。而LCDCDMA则是LCD控制器专用的DMA信道,可以自动地从系统总线上取到图像数据,这使得显示图像时不需要CPU的干涉。VIDPRCS将LCDCDMA中的数据组合成特点的格式,比如4位单扫描等,然后从VD0:23)发送给LCD屏。同时TIMEGEN和

49、LPC3600负责产生LCD屏所需要的控制时序,例如VSYNC, HSYNC, VCLK, VDEN,然后从VIDEO MUX送给LCD屏。其中LPC3600专用于SEC TFT LCD。为增强系统的可扩展性,特意采用一个50口的LCD接口将S3C2440 LCD控制器提供的LCD控制信号全部引出,只需要通过对LCD控制器编程即可支持不同厂家生产的多种LCD。系统LCD接口如图3-10所示。图中LEND为行结束信号,VCLK为LCD时钟信号,VLINE, VFRAME,VM为LCD提供线信号、帧信号和数据输出使能信号,VSYNC, HSYNC, VDEN为LCD提供垂直同步信号、水平同步信号、

50、数据传输开始信号,LCD LPCOE,LCD LPCREV, LCD LPCREVB为LCD提供时钟控制信号,LCD POWER为LCD提供SV的直流电源25。另外,TSXM, TSXP, TSYM, TSYP为触摸屏控制信号。3.7 本章小结本章首先介绍了系统的硬件结构框图,按照划分的硬件系统模块依次对NAND FLASH接口、SDRAM接口、USB接口、DART接口及LCD接口的设计进行了详细的讨论。第4章 基于Eclipse的软件系统设计4.1 构建基于Eclipse的嵌入式软件集成开发环境Eclipse是著名的跨平台的集成开发环境(IDE),最初是由IBM公司开发替代商业软件Visua

51、l Age For Java的下一代开发环境。2001年,IBM将Eclipse贡献给开源社区,现在由Eclipse基金会管理。2005年7月,Eclipse稳定版3.1.0发布。Eclipse本身只是一个框架平台,最初主要用于java语言的开发。但是众多插件的支持使得Eclipse同样可以用来开发其他的语言,如c/c+, c#, pert, cobol的等等。cdt(c/c+ development toolkit)就是支持c/c一开发的插件。许多软件开发商也以Eclipse为框架推出了自己的集成开发环境。例如风河(Wind River)公司开发的嵌入式IDE(集成开发环境)IDE Work

52、bench2.0就是基于Eclipse平台设计的。Eclipse是一个开放源代码的,基于插件(plug-in)的扩展性框架的最大的特点就是可扩展性。Eclipse的扩展性是通过扩展点机制提供了插件组合的灵活性和扩展性。插件是一个结构化组件,同时也是系统运行时最小的一个管理单元,拥有完整的生命周期,它负责扩展点的定义并贡献扩展。Eclipse的另一个重要的特点就是易升级性。基于Eclipse的集成开发环境具有良好的可升级性,与Eclipse的扩展性类似,对需要升级的插件升级时,只需要在Eclipse的插件目录中加入插件的新版本,重新启动Eclipse就完成了对插件的升级。4.2 嵌入式linux

53、系统的移植4.2.1 系统引导程序Bootloader的移植Bootloader是在系统上电开始时执行的一段小程序,它的基本作用是完成硬件设备的初始化,建立内存空间的映射图,最后将操作系统内核。目前比较成熟的bootloader:除此之外还具有网络功能、从PC上通过串口或网络下载下载文件、烧写文件、将Flash上压缩的文件解压后再运行等功能。对于ARM体系结构的处理器,上电后处理器从地址0x00000000开始执行第一条指令,所以需要把存储器中Bootloader的地址映射到0x00000000,这样ARM上电后Bootloader就开始执行。Bootloader的启动过程可以分为单阶段(Si

54、nge stage)、多阶段(Multi-stage)两种。多阶段启动的Bootloader通常能够提供更加强大、更加复杂的功能以及更好的可移植性。常见的Bootloader的基本上都是两阶段的启动过程。第一阶段的程序代码均是使用汇编语言来实现,它的作用是完成依赖于CPU体系结构的初始化,并为第二阶段程序的执行做准备。第二阶段则是通常采用C语言来实现,这样可以实现更加复杂的功能,而且代码具有更好的可读性和可移植性26。4.2.2 移植linux内核Linux内核是整个软件系统的核心,Linux内核的移植对系统的稳定性等都有着重要的影响。目前市场上主流的Linux内核逐步转向2.6版本,因此本系

55、统选用的Linux内核版本是Linux-2.6.22.6 。Linux的启动过程可以分为两部分:与硬件相关的引导阶段和后续的通用启动过程。不同架构上Linux的启动过程稍有不同,在ARM架构处理器上的启动过程如图4-1所示。引导阶段通常使用汇编语言编写,它首先检查内核是否支持当前架构的处理器,然后检查是否支持当前开发板。在检查通过后,为调用下一阶段的start kernel函数做准备。主要有两个步骤:(1)连接内核时使用的虚拟地址,所以要设置页表、使能MMU。(2)调用C函数start kernel之前的常规工作,包括复制数据段、清楚数据段、清楚BSS段、调用start kernel函数。第二

56、阶段的关键代码主要使用C语言编写,它进行内核初始化的全部工作,最后调用rest init函数启动init过程,创建系统第一个进程:init进程。 在分析Linux在ARM架构处理器上的启动过程后,下面来给出Linux内核在本系统使用的S3C2440上实现移植的过程。登录Linux内核官方网站(http:/www.kernel.org/ )下载Linux内核源码压缩包。解压后即可得到Linux内核源码,执行如下命令即可:$ tar xjf linux-2.6.22.6.tar.bz2 /执行完毕后即可得到文件夹Linux-2.6.22.6 0对于ARM架构的嵌入式微处理器,与其体系相关的代码在L

57、inux内核源码包的子目录arch/arm/目录下,Linux内核的移植工作主要就是修改这个目录下的文件。移植的主要步骤如下:(1)首先修改顶层Makefile,配置、编译内核以确定所下载的内核源码包可以被正确的编译。如下所示: 将185 ARCH ?=$(SUBARCH) /185为代码行号,下同186 CROSSCOMPILE ?=修改为:185 ARCH ?=arm186 CROSS COMPILE ?=arm-linux然后执行make命令配置内核:make smdk2410_ defconfig /smdk2410_ defconfig位于arch/arm/configs/目录下。最

58、后执行make uImage编译内核,即可在顶层目录中生成内核映像文件vmlinux,还可以在arch/arm/boot/目录中生成U-Boot格式的内核映像文件uImage o至此,就可以通过前面已经移植的U-Boot来测试刚刚生成的内核映像文件是否正确。测试通过后,即可向下进行移植工作了。(2)修改内核。在本系统移植过程中对内核代码的修改主要是修改系统晶振频率,使之与本系统所使用的晶振频率相符。需要修改的文件为:arch/arm/mach-s3 c2440/mach-s3 c2440.c 。 将:s3c24xx一nit clocks(16934400); 修改为:s3c24xx_init

59、clocks(1200000);(3)修改MTD分区。MTD(Memory Technology Device),即内存技术设备,是Linux中对ROM, NOR Flash, NAND Flash等存储器设备抽象出来的一个设备层,它向上提供统一的访问接口:读、写、擦除等;屏蔽了底层硬件的操作、各类存储设备的差异。需要修改的文件为:arch/arm/plat-s3 c24xx/common-smdk.c,主要修改的是该文件中的smdk一 default nand_part数据结构。本系统中对NANDFlash的戈d分为:前2MB用于存放Linux内核,剩下的空间用来存放、AFFS文件系统。修改

60、后的smdk_ default nand_part结构如下:static struct mtd-partition smdk default nand-part=0=.name=kernel.size=SIZE 2M.offset=0,1=.name=nYaS.offset=MTDPART OFS APPEND.size=MTDPART SIZ FULLMTDPART OFS APPEND表示当前分区紧接着上一个分区,MTDPART SIZ FULL表示当前分区的大小为剩余的Flash空间。(4)配置Linux内核。在修改内核的配置文件后,就可以直接使用“makemenuconfig”命令来配

61、置内核了。在配置本系统要使用的内核时,主要要选择如下几项:选择System type-S3C2440 Machines。选定系统所用CPU类型。选择Multimedia devices-Video for Linux。此项为Video4Linux编程接口函数提供支持。选择USB Support, OHCI, UHCI。这几项为USB控制器提供支持。选择Network device support-PPP(point-to-point protocol) support此项为GPRS传输提供支持。选择USB Multimedia devices一USB SPCASXX Sunplus Vimic

62、ro SonixCameras。此项为中星微系列的USB摄像头提供了驱动。其提供了基本的I/O操作接口函数open, close, read, write的实现、对终端的处理实现、内存映射功能以及对I/O通道的控制接口函数等另外还有与LCD, UART接口设备等项。(5)编译内核在Linux内核配置完毕后,就可以使用命令“make uImage” 新编译内核,生产内核映像后,下载至系统NAND Flash中即可。 4.2.3 移植YAFFS2文件系统YAFFS(yet another flash file system)专门为NAND Flash设计的嵌入式文件系统,适用于大容量的存储设备。它

63、是一种日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外掉电对文件系统一致性和完整性的影响。YAFFS采用一种多策略混合的垃圾回收算法,结合了谈心策略的高效性和随机选择的平均性,达到了兼顾损耗平均和系统开销的目的。目前YAFFS已经不再维护了,所以本系统采用YAFFS2。首先下载YAFFS文件系统的源代码,网址:http:/www.alephl .co.uk/cgi-bin/viewcvs.cgi,解压后即可得到Development目录,里面有两个子目录:YAFFS和YAFFS2o YAFFS2移植的主要工作如下。(1)将AFFS2代码加入内核中。通过YAFFS2目录下的脚本文件patch-ker.sh来给内核打补丁的方式将YAFFS2代码加入到内核中,如下所示:脚本文件:us

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