




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学华夏学院课 程 设 计 报 告 书题 目: 基于网络视频服务器的移植 系 名: 信息工程系 专业班级: 姓 名: 学 号: 指导教师: 2013 年 12 月 24 日课程设计任务书学生姓名: 专业班级: 10级自动化、测控 指导教师: 工作单位: 信息工程系 题 目: 基于网络视频服务器的移植 基础条件:1. OV9650摄像头模块;2. Ubuntu 12.04系统、工具链3. PC机、ARM开发板及相关应用软件;要求完成的主要任务:1、 了解视频服务器的移植过程;2、 掌握Linux C程序的编写;3、通过移植实现摄像能进行视频监控; 4、撰写课程设计说明书。 5、课程设计说
2、明书要求:引言、设计要求、系统结构、原理设计、各个模块的设计与实现、软件设计、调试过程、体会及总结、参考文献、源程序。说明书使用A4纸打印或手写。时间安排:第15周 下达课程设计任务书和日程安排,根据任务书查找资料;第16周 了解视频服务器的移植过程,并学习掌握Linux C编程的方法;第17周 设计出初步方案,根据设计方案通过移植实现摄像能进行视频监控,并根据要求完成调试; 第18周 结果分析整理、撰写课程设计报告,验收和答辩。指导教师签名: 2013 年 11 月9日系主任(或责任教师)签名: 2013 年 11 月 9 日1 引言随着计算机技术、通信技术、微电子技术、网络技术的进步,嵌入
3、式系统的功能越来越强,建立在各种嵌入式处理器与操作系统之上的嵌入式系统应用于各个专业领域。另外由于压缩算法的不断改进,在现有网络上实时传输视频图像成为可能。嵌入式技术和压缩算法共同推进了视频监控的发展,将安防理念提高到新的高度。本文介绍的内容即以嵌入式系统为核心的网络视频服务器,是嵌入式技术在视频监控领域的一个应用。它以三星公司面向中低端低成本应用,包含高效的ARM7TDMI处理器核的S3C4510B作为嵌入式处理器,结合周边硬件电路构成嵌入式硬件核心,在此基础上通过扩展视频/音频采集电路和编码电路,构成一个性能优良的嵌入式网络视频服务器。并在嵌入式核心平台上采用uClinux操作系统,实现视
4、频高效率的采集和传输。1.1 课题研究背景与意义随着经济水平和科学技术的飞速发展,人们对安全防范的要求也越来越高。监控行业在全球范围内得到迅速发展,为了对付各种各样的经济刑事犯罪,保护国家和人民群众的生命财产的安全,保证各行各业和国家重点部门的正常运转,采用高科技手段预防和制止犯罪已成为安防领域里的共识。随着计算机普及应用,网络通信技术及图像压缩处理技术的快速发展,在视频监控领域中,数字化和网络化成为一种趋势,采用最新的计算机、通信、图像处理技术,通过以太网或其他网络传输实时视频图像,可以为远程视频监控提供高效可行且价格低廉的解决方案。1.2 嵌入式系统的现状及发展趋势在通信领域,数字技术正在
5、全面取代模拟技术。在广播电视领域,由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。在个人消费电子领域,手机、掌上电脑(PDA)、数字机顶盒(STB)相继出现,所有的这些产品都离不开嵌入式系统技术。硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前底层系统和硬件平台经过若干年的研究,已经相对比较成熟,满足各种功能需求的芯片应有尽有。软件方面,也有相当成熟的软件系统。国外商品化的嵌入式操作系统,已进入我国市场。网上也有各种各样的免费资源,从各大厂商的开发文档中得到各种驱动程序源代码。未来嵌入式系统的发展趋势表现在:嵌入式产品将成为互联
6、网的主要终端之一,网上将出现大量的服务于嵌入式产品的软件,网络互联成为必然趋势。芯片功能将更加强大,这样软件硬件的界限更加模糊,产品成本降低。蓝牙无线技术与嵌入式软件相结合,无线通信产品成为嵌入式系统的一个重要应用领域。嵌入式操作系统是在多种操作平台上发展起来的,由此相关的标准问题也将日渐突出,如何建立相关标准成为业界关注的问题。1.3 嵌入式网络视频监控系统的核心技术1.3.1 嵌入式技术嵌入式系统通常包括构成软件的基本运行环境的硬件和操作系统两部分。嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。嵌入式微处理器就是
7、和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola 68000、ARM系列等等。嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。嵌入式DSP专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。嵌入式操作系统被划分为内核层和应用层两个层次。内核
8、只提供基本的功能,如建立和管理进程、提供文件系统、管理设备等,这些功能以系统调用方式提供给用户。一些桌面操作系统,如Windows、Linux等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大,使得占用资源增多,剪裁起来很麻烦。大多数嵌入式操作系统采用了微内核结构,内核只提供基本功能,比如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,比如网络功能、文件系统、GUI系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。1.3.2 视/音频压缩技术未经压缩的图形、图像和数据需要非常可观的存储空间和传输
9、带宽,因此在视频监控系统中,对于图像的压缩编码和解码显得十分重要。视频压缩标准有ITU-T的H.26x ISO/IEC的MPEG-x两大系列。前者主要针对电信网的视频通信,后者重点面向多媒体技术视频信号的存储与传输。在过去,通常应用比较多的视频压缩标准是:H.263标准和MPEG2标准,这两种标准的基本思想都是通过减少每帧图像时间上和空间上的冗余性和相关性信息来减少传输信息量。它们的核心编码都是采用帧间预测+离散余弦变换+可变长编码。虽然这两种标准都是针对低带宽实时图像传输而提出的,可是用于视频监控的实际应用中却有一定的局限性。首先,它们没有充分考虑远程监控的实际特点,如大多数背景图像是静止不
10、动的,传输的信息中仍有大量的冗余,影响了传输速率的提高;其次,这两种标准的适应性较差,不能根据网络情况自适应地调节传输速率,使得网络发生阻塞时性能急剧下降,针对这种情况,课题采用基于MPEG4的视频压缩标准,以克服这些不足。2 系统总体设计概述2.1 嵌入式系统功能需求本课题是为IP网络进行视频监控等应用设计嵌入式解决方案,采用ARM7TDMI体系结构,运行uClinux操作系统,可以在10/100Base-T网络上以25帧/秒的速度传送高质量的MPEG4视频和MPEG-1 Audio Layer2音频信号。远端云台和摄像机可通过RS232或RS485进行控制。2.2 嵌入式系统设计总体思路系
11、统的设计实现包括硬件和软件两部分。在本课题设计中,对于视音频数据采用硬件压缩的方法,因为从成本上,硬件编码芯片的成本低于软件编码所需处理器的成本,从开发周期上,硬件编码芯片的采用省去了大量代码开发的时间。这样由硬件负责视音频的AD转换和压缩编码,软件负责MPEG4的码流的采集和发送。系统软件的实现可分为操作系统的移植和应用程序的开发。uClinux操作系统的移植,方便地提供了进程调度、文件系统管理和网络功能,驱动程序负责视音频码流的采集,应用程序负责对视音频码流网络发送,同时辅以云台控制等。具体的设计任务划分如图2.1所示:视频服务器硬件设计软件实现器嵌入式核心板视音频采集板操作系统移植应用程
12、序图2.1 设计任务图2.3 嵌入式系统的硬件方案硬件设计将分为两部分,一部分为嵌入式核心板的设计,另一部分为视音频采集编码板的设计。嵌入式核心板采用S3C4510B为核心,外围配有FALSH、SDRAM、网卡芯片RTL8201、串口芯片等,构建了功能完备的嵌入式开发平台,通过uClinux操作系统的移植,该嵌入式系统可提供网络传输、数据采集功能。视音频采集编码板主要负责提供视音频的数字化和实时编码功能,其中包括视频AD单元、音频AD单元和MPEG4编码单元。基于MPEG4编码标准的确定,视频AD芯片选择了Philips公司的SAA7114芯片,编码芯片选择了IMTIME公司的IME6410/
13、6400芯片。用三排插针相连,插针包括数据地址线和关键控制线。系统的整体硬件方案如图2.2所示:视频ADSAA7114视音频采集编码板FLASH 2MBSDRAMMPEG4编码芯片IME6400ARM7TDIS3C45108复位芯片嵌入式核心板音频ADCS5340RS485驱动器音频输入端口RS485接口视频输入端口SDRAM 16MRS232驱动器以太网PHYRTL8201RS232接口RJ45接口Internet图2.2 系统设计框图2.4 嵌入式系统的软件方案首先需要确定嵌入式操作系统,对于以往一些相对简单的应用,通常只需要一个应用程序,系统启动后直接执行该程序即可,但对于开发的视频服务
14、器,需要实现复杂的任务处理,文件系统、进程调度、进程通讯等功能,所以特定的操作系统的支持是必需的,但在嵌入式设备中采用传统的操作系统将会造成系统成本升高,综合考虑以上因素,要选择一种合适的嵌入式操作系统,既要满足功能需求又不会引起太多的成本增加。Linux作为一种开放源码的操作系统,其优秀的性能和丰富的免费软件资源深受人们欢迎。 根据S3C4510B不支持MMU的特点, 所以选择了linux的一个嵌入式分支uClinux操作系统。移植uClinux操作系统后,在此基础上进行相应驱动程序和应用程序的开发。3 嵌入式核心板的硬件电路设计嵌入式核心板设计目标是建立一个具有一定处理能力和相对丰富数据存
15、储空间,拥有丰富外设连接能力、便于应用扩展和开发的软硬件系统,并且具有网络功能。其硬件主要包括嵌入式处理器、存储单元、接口电路以及电源和复位电路等部分,其结构框图如图3.1所示:5V稳压电源DC/CD转换器RJ以太网口及网络隔离变压器9针D型串行接口以太网PHYRS232驱动器LED显示器14针JTAG接口20针JTAG接口10MHz有源晶振S3C4510BARM7TDMISDARM2MBFlash2MB系统总线扩展IIC存储器图3.1 核心板结构框图3.1 S3C4510B处理器S3C4510B是基于以太网应用的高性价比16/32位RISC微处理器,具有低成本和高性能的特点。内含一个由ARM
16、公司设计的16/32位ARM7TDMI RISC处理器核,既可执行32位的ARM指令,也可执行16位的Thumb指令。ARM7TDMI为低功耗、高性能的内核,最适合用于对价格及功耗敏感的应用场合,因此核心板选用S3C4510B作为嵌入式处理器。3.2 S3C4510B外围电路3.2.1 串行接口几乎所有的微控制器、PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标准。早期它被应用于计算机和终端通过电话线和MODEM进行远距离的数据传输,随着微型计算机和微控制器的发展,不仅远距离,近距离也采用该通信方式。但是在近距离通信系统中,不再使用电
17、话线和MODEM,而是直接采用点到点的连接。由于RS-232-C标准所定义高、低电平信号与S3C4510B系统的LVTTL电路所定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应2V3.3V电平,标准逻辑“0”对应0V0.4V电平,而RS-232-C标准采用负逻辑方式,标准逻辑“1”对应-5V-15V电平,标准逻辑“0”对应+5V+15V电平,显然,两者间要进行通信必须经过信号电平的转换,目前常使用的电平转换电路为MAX232。本系统采用两个MAX232分别与S3C4510B的UART0和UART1相连。3.2.2 JTAG接口JTAG(Joint Test Action Group
18、,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。JTAG接口还常用于实现ISP(In-System
19、Programmable在系统编程)功能,如对FLASH器件进行编程等。通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。目前JTAG接口的连接有两种标准,即14针接口和20针接口。这里采用的是20针接口,其定义如下:20针JTAG接口引脚定义如表1所示:表1 20针引脚接口定义引脚名称描述1VTref目标板参考电源,接电源2VCC接电源3nTRST测试系统复位信号4、6、8、10、12、14、16、18、20GND接地5TDI测试数据串行输入7TMS测试模式选择9TCK测试时钟11RTCK测试时钟返回信号13TDO测试数据串行输出15nRESET
20、目标系统复位信号17、19NC未连接3.2.3 IIC总线接口S3C4510B提供了一个IIC总线控制器,可方便地与各种带有IIC接口的器件相连。在本系统中S3C4510B处理器的IIC总线主要是用来控制SAA7114器件的初始化和相应配置。因此可将SDA和SCL直接连接到SAA7114的相应的IIC总线。3.2.4 GPIO及外部总线信号线为了让嵌入式核心平台尽可能多的适应各种场合,应尽可能把嵌入式处理器和外围器件提供的功能全部保留出来,供可能的应用使用。因此,除了上述的接口电路外,核心平台的接插件接口还引出了S3C4510B的外部总线的全部,包括地址/数据总线,SDRAM控制信号线、外部I
21、O控制线,GPIO等信号。3.2.5 电源及复位电路1、电源模块在该系统中,需要使用5V和3.3V的直流稳压电源,其中,S3C4510B及部分外围器件需3.3V电源,另外部分器件需5V电源,为简化系统电源电路的设计,要求整个系统的输入电压为高质量的5V的直流稳压电源,有很多DC-DC转换器可完成5V到3.3V的转换,在此选用Linear Technology的LT1085CT。2、晶振电路与复位电路晶振电路用于向CPU及其他电路提供工作时钟。在本系统中,S3C4510B使用有源晶振。根据S3C4510B的最高工作频率以及PLL电路的工作方式,选择10MHz的有源晶振,经过S3C4510B片内的
22、PLL电路倍频后,最高可以达到50MHz。片内的PLL电路兼有频率放大和信号提纯的功能,因此,系统可以以较低的外部时钟信号获得较高的工作频率,以降低因高速开关时钟所造成的高频噪声。有源晶振的1脚接5V电源,2脚悬空,3脚接地,4脚为晶振的输出,可通过一个小电阻(此处为22欧姆)接S3C4510B的XCLK引脚。3.3 存储电路3.3.1 Flash存储器接口电路Flash存储器是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器。它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到
23、了广泛的应用。在大多数的系统中,选用一片16位的Flash存储芯片构建16位的Flash存储系统已经足够,在此采用一片AT49BV1614A构建16位的Flash存储系统,其存储容量为2M。3.3.2 SDRAM接口电路与Flash存储器相比较,SDRAM不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性,因此,SDRAM在系统中主要用作运行程序、数据存储及堆栈的空间。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRA
24、M具有单位空间存储容量大和价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容,它总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C4510B及其他一些ARM芯片在片内具有独立的SDRAM刷新控制逻辑,可方便的与SDRAM接口。3.4 以太网接口电路要实现远程视频监控,现有的串口通信技术因其通信距离小、抗干扰能力差等缺点,不能满足实时要求较高的现代控制要求。本设计通过RTL8201BL和网络变压器PE68515与S3C4510B芯片相连,来实现网络通信。
25、4 MPEG4视频压缩算法4.1 视频压缩编码的主要方法及分类从不同的角度出发,视频压缩编码有不同的方法。第一种是从编码前后信息是否有损失出发,分为有损压缩编码和无损压缩编码,无损编码也称为熵编码,常用的熵编码有霍夫曼编码、算术编码和游程编码。第二种分类方法是按压缩编码技术所依据和使用的数学理论和计算方法,可分为统计编码、预测编码、变换编码和矢量量化编码等。第三种方法是按照描述图像或视频源的信源模型进行分类,可分为基于波形编码和基于内容编码。4.2 MPEG4压缩标准4.2.1 MPEG4标准概述MPEG4和以前的视频标准MPEG1, MPEG2及H.26X系列相比,最重要的特征是基于对象编码
26、和具有精细可伸缩性。MPEG4标准能够将一个视频分成几个独立的视频对象分别进行传送。这样就使得操作和控制对象成为可能,而传统的编码都是基于帧的,显然无法对对象进行操作。另外由于MPEG4的编码是基于对象的,因此可以控制对象的比特率。MPEG4中视频对象的处理过程简述如下:视频对象首先被分别编码,并与场景描述信息和其他同步控制信息合成比特流,经过MPEG4的多媒体集成传输框架DMIF包装后,通过不同的传输设施传送。在应用端复合的比特流被分解,然后视频对象被解码并根据场景描述合成场景。MPEG4视频对象处理过程示意图如图4.1所示:视频对象VO1VO2VOn多路复合多路分解VO1VO2VOn视频对
27、象图4.1 MPEG4视频对象处理过程示意图4.2.2 MPEG4 语法结构MPEG4将视频码流的语法层次分为四层,它们都以类的形式定义,每一类由该类的起始码和结束码界定。 MPEG4语法结构如图4.2所示:图4.2 MPEG4语法结构4.2.3 MPEG4视频编解码框架MPEG-4编码和解码是针对VOP进行的。其逻辑结果如图4.3和4.4所示。编码时首先由输入的视频序列定义出VOP,针对每一个VOP分别进行编码,将所有VOP编码的结果合成在一起,形成压缩视频数据流。解码时首先将压缩视频数据流分解,得到每一个VOP的编码数据流,针对他们分别进行VOP解码,解码结果组合在一起形成输出视频。Inp
28、utVOPDefinitionVOP1CodingVOP0CodingVOP2CodingMUXBitstream.图4.3 MPEG4编码原理图DEMUXBitstreamVOP0DecodingVOP0DecodingVOP0DecodingCompositionOuput图4.4 MPEG4解码原理图5 视音频采集板的硬件电路设计视音频采集电路板主要由三个模块组成:视频AD模块,主要模拟视频的采样,并转换成ITU的数字视频标准;音频AD模块,主要负责对模拟音频信号进行采样;视频/音频编码模块主要负责数字信号压缩编码。其功能图如5.1所示:视频AD视频/音频编码模块音频AD模拟视频模拟音频
29、数字视频数字音频视频/音频编码数据图5.1 采集编码功能模块5.1 视频AD模块Philips公司SAA7114是一款带有梳状滤波器和scaler的主流视频解码器,可把接收到的模拟视频信号解码成标准的数字视频信号,它使用广泛并且具有良好的性能和图像质量。SAA7114的主要功能模块为Decoder,Scaler,VBI decoder,以及4个输出接口,一个IIC接口。这些功能模块和接口的输出特性全部受IIC寄存器的控制。5.1.1 解码器(Decoder)SAA7114的Decoder采用行时钟解码原理,能够将PAL、NTSC等制式的色彩解码转换为兼容ITU-601建议的色彩分量值。其主要包
30、括以下模块:AnalogInputprocessADCY/CseparateChrominancepathLuminanceBCSCtrlITU-656Formatter图5.2 SAA7114的Decoder功能模块5.1.2 ScalerSAA7114的Scaler提供视频尺寸缩放功能,可以为后端电路提供相对灵活的画面尺寸。SAA7114的Scaler接受来自Decoder或Xport的D1尺寸的数字视频,用户可以在有效视频区中选取一个区域做为输入窗口,对其进行放大或缩小,结果图像称为输出窗口。Scaler缩放系数只受制于其输出数据的比特率。经由Scaler处理之后的视频数据通过SAA71
31、14的Iport输出。5.1.3 VBI数据解码器(VBI data decoder)VBI数据解码器用于解码场回扫期间(VBI)电视信号中所携带的文字信息。5.1.4 4个数字I/O接口Xport:8位宽数字视频扩展接口,可以用作输入或者输出。当用作输入时,可以做Scaler输入源,而用做输出时则是SAA7114的decoder输出未缩放的数字视频信号(ITU-656格式)。RTport:实时时钟同步信号的输出,包括锁行时钟信号LLC,锁行象素时钟LLC2,实时控制输出信号RTCO以及实时状态信息输出RTS0/1。Iport:8位数字视频图像接口,用作Scaler输出的经过缩放的视频数据的输
32、出。Hport:8位输入输出扩展接口,用作Xport或Iport扩展为16位宽。5.3.5Iport5.1.5 IIC寄存器SAA7114的IIC寄存器功能设置如下:01H2FH,负责控制SAA7114的视频解码模块,其中01H05H对应模拟前端处理模块,06H19H对应数字解码模块。30H3FH:负责控制SAA7114的音频时钟生成电路40H7FH:负责控制SAA7114的VBI数据解码器80HEFH:负责控制SAA7114 Scaler模块与X/Iport,其中包括一对任务寄存器组TASK A/B5.1.6 单元电路设计SAA7114拥有6个模拟输入管脚,可以输入CVBS或S-Video
33、Y/C两种不同信号。SAA7114的视频输出接口信号包括16位的视频数据总线vd15:0,行/场/象素有效时钟hsync/vsync/dvaild,场奇偶信号field,以及象素采样时钟pclk。当pclk的上升沿到来时,只有三个有效时钟都为高电平,IME6410才判断此时出现在视频数据总线上的数据为有效视频数据,否则判断为无效数据。SAA7114与IME6410接口电路如图5.3所示:SAA7114 VPO15:0 LLC2 HREFSDA VREFSCL CREF RST0IME6410VD15:0PCLKHSYNCVSYNCDYALIDFIELD图5.3 SAA7114与IME6410接
34、口电脑5.2 音频AD模块音频模块的电路连接主要是CS5340与IME6410的IIS音频总线连接。其中IME6410为IIS总线的主设备,CS5340作为从属设备需要三个时钟信号: 由12.2880Mhz晶振提供的IIS总线信号中的主时钟MCLK,由IME6410提供的左右声道LRCK和串行数据时钟SCLK。IME6410与CS5340的IIS总线连接如图5.4所示:CS5340 MCLK LRCK SCLK SDATAIME6410CCLKLRCKSCLKSDATA11.2896MHz图5.4 CS5340与IME6410连接5.3 MPEG4视频/音频编码模块对于MPEG4视频编码在嵌入
35、式系统之上的实现来说,可以采用两种实现方法。一种是使用硬件厂商提供的专用MPEG4的ASIC芯片,另外一种方法是使用高性能DSP芯片在其上运行MPEG4编码代码。对于后者来说,MPEG4编码代码的开发成本与难度都太高,并且高性能的DSP芯片的价格并不会比MPEG4硬件编码芯片低。基于成本与系统开发难易度方面的考虑, 我们选择IME6410做为我们的MPEG4硬件编码芯片。5.3.1 IME6400/IME6410压缩芯片IME6400是一款4通道MPEG4数字声像压缩芯片,IME6410是其单通道版本。它们是现有的MPEG4硬件编码芯片中的主流芯片之一,并具有价格低,实时性好的特点。 5.3.
36、2 IME6410编码芯片的内部结构与功能实现为实现IME6410的MPEG4的编码目的,首先必须了解其内部结构和功能实现,IME6410的内部功能模块框图如图5.5所示:IME6410视频输入搜索引擎SDRAM接口音频DSP视频RISC视频压缩主机接口缓 存启动ROM锁相环视频缓存视频主机图5.5 IME6410内部结构框图5.3.3 IME6410编码芯片的连接编码芯片IME6410的主要电路有视频输入接口电路,IIS音频输入电路,SDRAM接口电路,主控接口电路等,其中视频/音频输入接口电路不再重复,这里将介绍一下后面两个单元电路。l SDRAM接口电路IME6410需要一片片外专用SD
37、RAM作为视频/音频编码的缓存。SDRAM的大小视编码的视频图像尺寸而定。对于一路D1质量的视频来说,IME6410需要一片32位宽8MB大小的SDRAM(HY57V641620),芯片集成SDRAM控制器,其与32宽SDRAM连接如图5.6所示:HY57V641620 CS WE RAS CAS LDQM UDQM BA1:0 A11:0 D15:0 CLK CKEIME6410DNCS DNWENRASNCASDQMDA1:0DA11:0DD15:0CKOCKE图5.6 IME6410与HY57V641620连接l 主控制器接口电路IME6410通过主控制器接口(HI接口)连接在S3C45
38、10B的外部总线上,S3C4510B可以通过它与IME6410进行交互,可以进行下述3种操作:访问HI接口寄存器,访问IME6410内部SRAM,访问IME6410内部视频数据FIFO。IME6410的HI接口支持4种模式,分别对应4种不同类型的外部控制器(CPU),其中S3C4510B属于最后一种异步单步模式,其mode1:0=11,其连接示图如下:S3C4510B nECSnOEnWBEADDR4:0XDATA15:0IME6410MODE1:0ADSFRDNCSNDRNWRHADR4:0DDATA7:0READYUSEOCKBW地3.3V图5.7 S3C4510B与IME6410连接6
39、嵌入式系统软件平台正如第1章所述,当嵌入式系统所提供的功能复杂化以后,简单的流程控制就不再能满足系统的需要,这时就必须考虑使用操作系统。本章将主要介绍uClinux操作系统基本原理。一个嵌入式uClinux系统由下面三个基本部分组成:引导程序、uClinux内核(由内存管理、进程管理和中断处理等构成)和文件系统。uClinux可以通过定制使内核小型化,还可以加上GUI(图形用户界面)和定制应用程序,并将其放在ROM、RAM、FLASH中启动。下面将详细介绍uClinux内核、启动、文件系统原理。6.1 uClinux 内核的基本原理uClinux 的基本架构如图6.1 所示:内核初始化系 统
40、调 用 处 理 函 数调度器虚拟文件系统管理模块Socket驱动文件系统模块网络模块字符设备驱动块设备驱动网络设备驱动Mass存储设备驱动IPC模块MM模块C库Bootloader捕获Hander图6.1 uClinux的基本架构6.1.1 uClinux 内核源文件的组织介绍将uClinux内核源文件解压以后就形成了源文件根目录,主要有以下几个子目录和文件:/bin 存放用户最常用的基本程序/config 存放uClinux的结构文件/Documentation 存放uClinux的HOWTO文档和FAQ文档/freeswan 用于Ipsec方面的应用程序/images 用于存放编译后生成的
41、文件/lib 存放各类库/linux-2.O.x 存放linux-2.0版本的内核源文件/linux-2.4.x 存放linux-2.4版本的内核源文件/tools 存放工具说明文档和其他杂项/uClibc 存放uClinux的库文件/user 存放用户的各种应用程序/vendors 存放有关各种处理器的文件6.1.2 uClinux内存管理uClinux同标准Linux的最大区别就在于内存管理。标准Linux是针对有MMU模块的处理器设计的, 而uClinux将不能使用处理器的虚拟内存进行管理。uClinux仍然采用存储器分页管理,系统在启动时把实际存储器进行分页,在加载应用程序时程序分页加
42、载。但由于没有MMU管理,所以实际上uClinux采用实存储器管理策略,这一点影响了系统工作的很多方面。uClinux系统对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。6.1.3 uClinux系统的进程分析进程是一个运行程序并为其提供执行环境的实体,它包括一个地址空间和至少一个控制点,进程在这个地址空间上执行单一指令序列。进程地址空间包括可以访问或引用的内存单元的集合,进程控制点通过一个称为程序计数器(programcounter)的硬件寄存器控制和跟踪进程指令序列。由于进程为执行程序的环境,因此在执行程序前必须先建
43、立这个能运行程序的环境。Linux系统提供系统调用拷贝现行进程的内容,以产生新的进程。调用fork的进程称为父进程,而所产生的新进程则称为子进程。子进程会承袭父进程的一切特性,但是它有自己的数据段,也就是说,尽管子进程改变了所属的变量,却不会影响到父进程的变量值。6.2 uClinux的文件系统uClinux系统采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自两个方面,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码,其次romfs文件系统相对简单,在建立文件系统超级块(super block)需要更少的存储空间。Romfs文件系
44、统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理,ram盘采用ext2文件系统。6.3 uClinux的启动uClinux的启动分为三个阶段:Bootloader阶段;内核启动初始化阶段;挂载Root文件系统阶段。uCinux的启动通常经历三个阶段,即Bootloader阶段,内核启动初始化阶段,挂载Root文件系统进行系统进程自举阶段。7 基于S3C4510B的uClinux的移植为了实现基于uClinux的应用系统的开发,建立或拥有一个完备的uClinux开发环境是十分必要的。基于uClinux操作系统的应用开发环境一般是由目标系统硬件开发板和宿主PC机所构成
45、。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成。双方之间一般通过串口,并口或以太网接口建立连接关系。7.1 建立交叉编译环境因为目的平台上不允许或不能安装我们所需要编译器,而我们又需要这个编译器的某些特征,为了能够进行目标机上的开发,交叉编译是唯一出路。所谓交叉编译就是说在一个平台上生成另一个平台上的可执行代码。uClinux的开发环境全面的采用GNU开发套件,针对开发板实际上需要,在宿主机上建立交叉编译工具。使用这些工具可以形成可运行嵌入式系统的二进制文件。首先在宿主机上安装操作系统Redhat9.0,并从网
46、址.tw和 下载交叉编译的软包:uClinux-Samsung-20020318.tar.gz : uClinux的源代码和文件系统的源代码。arm-elf-binutils-2.11-5.i386.rpm: 针对ARM体系结构的一些应用程序,例如反汇编、反编译等。arm-elf-gcc-2.95.3-2.i386.rpm:针对ARM体系结构的编译和连接器。arm-elf-gdb-5.0-1.i386.rpm:针对ARM体系结构的调试器。genromfs-0.5.1-1.i386.rmp:制作文件系统的应用软
47、件,可以形成romfs文件系统。在linux环境中执行下列命令:rpm-ivh arm-elf-binutils-2.11-5.i386.rpmrpm-ivh arm-elf-gcc-2.95.3-2.i386.rpmrpm-ivh arm-elf-gdb-5.0-1.i386.rpmrpm-ivh genromfs-0.5.1-1.i386.rmp来安装rmp包。安装完毕后在/usr/local/bin/路径下有gcc, g+, binutils,genromfs, flthdr 和elf2flt等各种实用工具。在linux环境中执行下列命令:tar-xzvfuClinux-Samsung-
48、20020318.tar.gz命令执行后生成uClinux- Samsung目录,该目录下含有以下几个子目录和文件。子目录有/bin,/config,/Documentation,/freeswan,/images,/lib,/linux-2.0x,/linux-2.4x,/tools,/uClibc,/user,/vendors。文件有COPYING,MAINTANERS,Makefile,README,SOURCE.7.2 编译内核1) 键入命令:make menuconfig 就进入了内核配置配置阶段3 4,此时会出现菜单配置对话框,要求进行目标平台的选择。2) 键入命令:make de
49、p 该命令用于寻找依存关系。3) 键入命令:make clean 该命令清除以前构造内核时生成的所有目标文件,模块文件和一些临时文件。4) 键入命令:make lib_only 该命令编译库文件。 5) 键入命令:make user_only 该命令编译用户应用程序文件。6) 键入命令:make romfs 该命令生成romfs 文件系统。7) 键入命令:make image8) 键入命令:make通过各个目录的Makefile文件进行,会在各目录下生成一大堆目标文件。上述步骤完成后,就完成了对uClinux源码的编译工作。7.3 内核的加载运行当内核的编译工作完成之后,会在/ uClinux-Samsung/images目录下看到两个内核文件: image.ram 和image.rom,其中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字媒体技术知识点练习题
- 2025年市政工程考前冲刺试题及答案
- 可行性研究中的市政工程试题及答案
- 行政管理者的公共关系技能试题及答案
- 经济师备考必看试题及答案攻略
- 2025公司级安全培训考试试题及完整答案(典优)
- 2025年安全标准化安全培训考试试题【夺冠】
- 2025新版车间安全培训考试试题及答案(全优)
- 【培训课件】公共技术服务平台概况解析
- 公共关系学的心理效应试题及答案
- MOOC 学术英语写作-东南大学 中国大学慕课答案
- 《老北京四合院》
- 常用化学中英文名词对照表
- 筋膜间室综合征
- 基于UC3842的反激式开关电源的设计
- 生态防护林建设项目建议书范文
- 大学生对美团满意调查问卷
- 原辅材料留样观察记录
- 手语教学(课堂PPT)
- 《城市景观生态》PPT课件.ppt
- 工程停止点检查管理(共17页)
评论
0/150
提交评论