实验八.docx
《实验八.docx》由会员分享,可在线阅读,更多相关《实验八.docx(23页珍藏版)》请在冰豆网上搜索。
实验八
信息科学与技术系
实验报告
前言3
第一章绪论3
1.1嵌入式系统概述3
1.2项目内容和实现关键部分说明4
第二章系统总体设计4
2.1系统概述4
2.2服务器端设计5
2.2.1FTP服务器5
2.2.2目录服务器5
2.3客户端设计框架5
2.4ARM微处理器6
2.4.1ARM概述6
2.4.2ARM微处理器的特点6
2.5嵌入式操作系统7
2.5.1嵌入式系统软件结构体系7
2.5.2嵌入式操作系统简介7
2.5.3Linux操作系统简介8
2.6Qt/Embedded用户界面9
第三章系统硬件设计11
3.1嵌入式系统硬件结构11
3.2ARM简介11
第四章用户界面部分12
4.1各响应函数流程图分析12
4.1.1窗口1各响应函数流程图分析12
4.1.2窗口2各响应函数流程图分析13
4.1.3窗口3各响应函数流程图分析15
4.1.4窗口5各响应函数流程图分析17
|4.2各用户界面操作概述19
总结20
前言
随着我国电子工业越来越发达,尤其是消费电子方面表现爆发式的发展,但又面临存储资源的制约,为了弥补这一资源缺口,工程师们都想出了各自的办法,往资源共享方面开发实用的项目,其中比较流行的是多媒体网络共享。
利用网络载体,可以方便快捷的传输想要的信息和资源,比如利用网络教学,可以减轻师资、教材、实验设备等教学资源的压力,学生可以根据自己的实际情况安排学习计划和学习进度,做到个性化教育。
然而学校为了能使学生享受网络教学,就要建设多大型机房和购买大量的计算机,那将耗费一笔不少的费用,这对于普通的学校来说,是比较难于承受的。
同时,学生在接受多媒体网络教学时,都要随身带着体积庞大的计算机,这样就难以达到随时随地学习的目的;还有就是手机点播功能人们就不用携带大容量的存储设备都可以随时随地的享受语言图像带来的视觉听觉享受,大量节省人们的费用。
本文设计的嵌入式视频点播系统将有效地缓解消费电子存储资源的困难,本系统把嵌入式和流媒体技术结合在一起,具有体积小、操作方便、成本低、稳定性好等优点,能安装在图书馆、教学、手机视频播放等场合。
第一章绪论
1.1嵌入式系统概述
嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
目前国内一个普遍被认同的定义是:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
当前先进的嵌入式系统,通常由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及嵌入式应用程序四个部分组成,实现对其它设备的控制、监视、管理等功能。
在物理结构和外观上,可根据具体应用的特点,以箱体、单板、单片或者分布结点等形式嵌埋于应用系统或者设备中。
狭义而言,人们一般将深埋在宿主设备中的、使用者不可见的微处理器系统,称为嵌入式系统,常见的单片机系统就是一种典型的初级嵌入式系统。
广义而言,若计算机作为某种技术过程的核心处理环节,直接与外界自然的接口和互动,按照环境事件的节拍主动、协调地做出响应,则可以认为该计算机被“嵌入”到这个具体的技术过程中,称为一种嵌入式计算机。
根据应用所强调的属性的不同,可以将这种计算机基于ARMLinux和Qt/Embedded的嵌入式视频点播系统的研究和实现应用系统,称为嵌入式系统、实时系统或者嵌入式实时系统。
包含嵌入式计算机,实现这种技术过程的系统,就可以看作为嵌入式系统。
嵌入式计算机系统广泛地应用于办公自动化、消费、通信、汽车、工业和军事领域。
典型应用包括:
过程控制、网络通信、智能仪器、消费电子、计算机外设以及军事电子等。
嵌入式系统的核心是嵌入式微处理器。
嵌入式微处理器一般就具备以下4个特点:
1)对实时任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
2)具有功能很强的存储区保护功能。
这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
3)可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。
这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
7.目前,嵌入式系统多用于手机等操作系统的开发。
具有巨大的市场潜力
1.2项目内容和实现关键部分说明
根据目前国内外对嵌入式的研究和开发,结合实际的实验条件,本文用硬件平台为扬创科技有限公司开发的utu2440开发板作为目标机,使用安装WindowsXP的PC机作为宿主机,并在宿主机Windows平台上安装了一个虚拟机软件,虚拟机里安装的是操作系统fedora10作为开发环境。
主要实现工作包括:
在宿主机上安装交叉编译工具,建立交叉编译环境,配置FTP、超级终端以建立嵌入式软件平台。
针对项目需求实现对驱动程序的完善和移植,制作适合此开发板的根文件系统,应用qtcreator工具设计VOD-UI(视频点播系统的图形界面)。
第二章系统总体设计
2.1系统概述
交互式网络VOD构架如图2.1所示:
图2.1交互式VOD
共有四个部分组成:
(1)ftp服务器,主要提供片源服务,流媒体服务,这里选择fedora10自带FTP服务器软件。
此软件为一个ftp服务器软件,可将本机的指定文件夹对外提供ftp服务。
(2)目录服务器软件,主要提供服务器上各个影片信息,主要包括片名,演员表,内容简介,影片大小以及完成片名和影片实际地址的转换。
应与ftp服务器为同一台机器。
(3)VOD客户端,主要采用QTE图形界面,用来显示服务器上的影片列表,和影片信息,取得各影片的实际地址。
调用播放器播放影片。
(4)Mplayer播放器,由VOD客户端调用,播放影片。
2.2服务器端设计
2.2.1FTP服务器
本设计网络服务器的FTP服务器,采用的FTP服务器软件为fedora10自带FTP服务器软件,fedora10自带FTP服务器软件应用起来方便快捷而且安全,支持9x/ME/NT/2K等全Windows系列。
它设置简单,功能强大,性能稳定。
FTP服务器用户通过它用FTP协议能在internet上共享文件。
它并不是简单地提供文件的下载,还为用户的系统安全提供了相当全面的保护。
2.2.2目录服务器
由于FTP服务器采用的软件是基于Linux操作系统的,对目标机的兼容性更好,而目录服务器和FTP服务器必须为同一个IP地址。
2.3客户端设计框架
网络机顶盒原型系统体系结构如图2.2:
图2.2机顶盒原型系统体系结构
2.4ARM微处理器
本设计选用的底层硬件为基于ARM9的硬件构架。
现对ARM做简单介绍。
2.4.1ARM概述
ARM即AdvancedRISCMachines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州SanJoseVLSI技术公司制造。
20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。
1990年成立了AdvancedRISCMachinesLimited(后来简称为ARMLimited,ARM公司)。
20世纪90年代,ARM32位嵌入式RISC(ReducedlnstructionSetComputer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。
目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器的应用大约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到人们生活的各个方面。
2.4.2ARM微处理器的特点
采用RISC架构的ARM微处理器一般具有如下特点:
(1)体积小、低功耗、低成本、高性能;
(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
(3)大量使用寄存器,指令执行速度更快;
(4)大多数数据操作都在寄存器中完成;
(5)寻址方式灵活简单,执行效率高;
(6)指令长度固定。
基于这一系列优点,ARM处理器适用于多种领域,比如嵌入式控制、消费/教育类多媒体、DSP和移动式应用等。
2.4.3ARM微处理器系列
ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器。
除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。
(1)ARM7系列
(2)ARM9系列
本文所用的ATMEL公司的AT91RM920T即属于该系列的处理器。
(3)ARM9E系列
(4)ARM10E系列
(5)SecurCore系列
(6)Intel的Xscale处理器
(7)Intel的StrongARM
2.5嵌入式操作系统
2.5.1嵌入式系统软件结构体系
现代嵌入式系统软件结构可以分为四个层次:
设备驱动、操作系统、应用中间件和应用程序,如图2.3所示。
图2.3嵌入式系统软件结构体系
2.5.2嵌入式操作系统简介
嵌入式操作系统(EmbeddedOperatingSystem,EOS),是操作系统的一种,是在传统操作系统基础上加入符合嵌入式应用的元素发展而来,它负责嵌入式系统的全部软、硬件资源的分配、调度、控制和协调。
嵌入式操作系统必须体现它所在系统的特征,能够通过加载或卸载某些模块来达到系统所要求的功能。
嵌入式操作系统除了具备一般操作系统最基本的功能(如任务调度、同步机制、中断处理、文件处理等)外,还有以下的特点:
(1)强稳定性。
(2)较强的实时性:
嵌入式操作系统一般实时性较强,可用于各种设备的控制中。
(3)可伸缩性:
开放、可伸缩的体系结构。
(4)外设接口的统一性:
提供各种设备驱动接口。
目前国际上用于信息电器的嵌入式操作系统有40种左右。
国内常见的嵌入式操作系统有Linux、uClinux、WindowsCE、VxWorks、QNX、eCos、PalmOS、Symbian、uC/OS-Ⅱ等。
其中嵌入式Linux和WindowsCE都是从台式机的操作系统演变而来。
而VxWorks、QNX、eCos,、PalmOS、和Symbian等则是专门根据嵌入式系统应用需求设计的操作系统。
嵌入式操作系统又可按实时性要求分为两大类:
(1)实时操作系统(Real-TimeOperatingSystem,RTOS):
是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,也就是对时序与稳定性的要求十分严格。
目前较为知名的实时操作系统有VxWorks、NucleusPlus、OS/9、VRTX、RT-Linux、BlueCatRT等。
(2)通用性操作系统:
也叫非实时性操作系统,这类操作系统在执行性能和反应速度方面,比起实时操作系统没有那么严格。
目前较知名的通用型操作系统有WindowsCE、PalmOS、TimeSysLinux/GPL和BlueCatLinux等等[2]。
2.5.3Linux操作系统简介
Linux是一种类UNIX操作系统。
兼容POSIX1003.1标准,并包含了UNIXSystemV和BSD4.3的大部分特征。
它充分体现了操作系统的方展趋势,即开放、稳定、标准。
Linux具有如下的特征:
(1)真正的多用户、多任务操作系统。
(2)符合POSIX(可移植操作系统接口)标准。
(3)采用页式存储管理。
(4)支持动态链接库。
(5)提供具有内置安全措施的分层文件系统。
(6)提供Shell命令解释程序和编程语言。
(7)提供强大的管理功能,包括远程管理功能。
(8)提供内核编程接口。
(9)具备图形用户接口。
(10)具备大量的实用程序和通信、联网工具。
(11)大量高级程序设计语言已经被移植到Linux系统上,因此它是理想的应用程序开发平台[3]。
Linux作为桌面操作系统的应用正在不断增长。
而在服务器市场,Linux已经可以同各种传统的商业操作系统分庭抗礼,占据了相当大的市场份额。
同时,在嵌入式领域Linux的应用也得到的飞速的发展,这与Linux本身的优良特性[4]密不可分:
(1)开放源码,丰富的软件资源。
Linux遵循GPL,保障用户可以免费获得内核源代码。
由于嵌入式系统千差万别,往往需要针对具体应用修改和优化系统,此时能否获得源代码就至关重要。
Linux上的软件资源十分丰富。
在Linux上开发应用程序可以借鉴已有的类似的自由软件,可以节省开发的工作量,缩短开发时间。
(2)功能强大的内核,性能高效、稳定、多任务。
并且Linux的内核小巧灵活,易于裁减。
使得Linux适合嵌入式系统的应用。
(3)支持多种体系结构:
X86、ARM、MIPS、SPARC等。
目前,Linux已经被移植到数十种硬件平台之上。
几乎所有流行的CPU,Linux都支持。
(4)完善的网络通信、图形和文件管理机制。
Linux本身就是Internet的产物,网络是Linux的强项。
另外,Linux支持ext2、fat16、fat32、romfs等多种文件系统。
在图形系统方面,Linux上既有成熟的XWindow,也有Qt/Embedded、MiniGUI等嵌入式图形系统。
(5)支持大量的周边硬件设备,驱动程序资源丰富。
Linux上的驱动已经非常丰富,支持各种主流硬件设备和最新的硬件技术。
并且随着Linux的广泛应用,许多芯片厂商已经开始提供针对Linux的驱动程序。
(6)易于针对具体应用定制。
Linux内核与用户界面完全独立,各部分的第3章嵌入式系统与嵌入式Linux可定制性都很强,能适合多种需求,特别是硬件资源有限的嵌入式系统。
目前,世界上许多大学、研究机构和知名公司都加入到嵌入式Linux的开发工作中,较成熟的嵌入式Linux版本不断涌现,如RT-Linux、Embedix、XLinux、uClinux以及本研究中使用的、运行在ARM平台上的ARMLinux。
2.6Qt/Embedded用户界面
当前嵌入式Linux在手机、PDA等手持信息设备领域的应用十分广泛。
各种手持设备是否拥有图形用户界面[15](GUI)己经成为其人机交互技术的关键体现,所以一个十分友好的图形用户界面(GUI)是必不可少的。
嵌入式GUI是嵌入式系统广泛应用的人机交互接口。
嵌入式系统有限的硬件资源要求嵌入式GUI必须简单、直观、可靠、占用资源小且反应快速。
由于嵌入式系统硬件本身的多样性,嵌入式GUI应具备高度可移植性与可裁减性。
一个具备良好移植性的嵌入式GUI系统,其底层接口应该在很大程度上隐藏具体硬件的实现细节,抽象出以GAL与IAL层。
GAL层完成系统对具体的显示硬件设备的操作,为程序开发人员提供统一的图形编程接口。
IAL层则需要实现对于各类不同输入设备的控制操作,提供统一的调用接口。
一个典型的嵌入式GUI系统结构如图2.4所示。
图2.4嵌入式GUI系统结构
Qt/Embedded是著名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。
因为Qt是KDE等项目使用的GUI支持库,许多基于Qt的XWindow程序因此可以非常方便地移植到Qt/Embedded上。
Qt/Embedded采用framebuffer(帧缓冲)作为底层图形接口。
同时,将外部输入设备抽象为keyboard和mouse输入事件。
Qt/Embedded的应用程序可以直接写内核缓冲帧,这避免开发者使用繁琐的XLIB/Server系统。
QT/Embedded和QT/X的对比见图2.5。
图2.5QT/Embedded和QT/X的对比
Qt/Embedded类完全采用C++封装。
丰富的控件资源和较好的可移植性是Qt/Embedded最为优秀的一方面。
它的类库接口完全兼容于同版本的Qt-X11,使用XWindow下的开发工具可以直接开发基于Qt/Embedded的应用程序GUI界面。
第三章系统硬件设计
3.1嵌入式系统硬件结构
如图3.1所示,嵌入式系统的硬件部分可以分成三层:
核心处理器、外围电路和外部设备。
图3.1嵌入式系统硬件结构
核心处理器(CPUcore)是嵌入式系统的核心部件,负责控制整个嵌入式系统的运作。
外围电路包括嵌入式系统的内存、I/O端口、复位和电源电路、对外设的接口电路等。
随着,微电子技术的发展,许多常用的接口电路已经被集成到核心处理器中。
外部设备:
嵌入式系统与真实环境交互的各种设备,包括存储设备(如FlashCard)、I/O设备(如键盘、鼠标、LCD等)和打印设备(打印机、扫描仪等)。
实际中,嵌入式设备的硬件配置非常灵活。
除了CPU和基本的外围电路,其余部分都可以根据不用应用进行裁减。
3.2ARM简介
ARM是Samsung公司推出基于ARM920T内核的16/32位RISC处理器,稳定主频400MHz,最高466Mhz。
该处理器最大的特点是低价格、低功耗、高性能小型微控制器。
为了降低整个系统的成本,ARM提供了以下丰富的内部设备:
分开的16KB的指令Cache和16KB数据Cache,MMU虚拟存储器管理,LCD控制器(支持STN&TFT),支持NANDFlash系统引导,系统管理器(片选逻辑和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定时器,I/O端口,RTC,8通道10位ADC和触摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主机,USB设备,SD主卡&MMC卡接口,2通道的SPI以及内部PLL时钟倍频器。
第四章用户界面部分
4.1各响应函数流程图分析
4.1.1窗口1各响应函数流程图分析
图4.1窗口1“LocalPlay”键响应函数流程图
图4.2窗口1“NetPlay”键响应函数流程图
4.1.2窗口2各响应函数流程图分析
图4.3窗口2“Open”键响应函数流程图
图4.4窗口2“Back”键响应函数流程图
4.1.3窗口3各响应函数流程图分析
图4.5窗口3“1”键响应函数流程图
图4.6窗口3“Del”键响应函数流程图
图4.7窗口3“Connect”键响应函数流程图
图4.8窗口3“Play”键响应函数流程图
4.1.4窗口5各响应函数流程图分析
图4.9窗口5“Pause”键响应函数流程图
图4.10窗口5“Play”键响应函数流程图
图4.11窗口5“Exit”键响应函数流程图
|4.2各用户界面操作概述
默认打开的窗口1;有两个按钮可以选择,若按”LocalPlay”,窗口2打开,本地播放,若按”NetPlay”,则打开窗口3,网络播放。
窗口2为本地播放窗口,文本输入框显示当前进去的本地文件系统路径,按”Open”可以打开列表中对应的目录,若列表中选中的是文件,则打开窗口5,窗口5是播放控制界面,同时调用mplayer播放该文件;按”Back”可以返回上一层目录,若已经是顶层目录,则打开窗口4(如图5.4),窗口4是警告窗口;按”Exit”退出当前窗口。
窗口3为网络登录界面,按数字键和’.’可以输入服务器IP地址,然后按”Connect”就可以连到服务器,并将服务器返回的文件列表显示到清单中,选中清单中一个文件,再按”Play”就可以打开窗口5播放控制窗口,同时调用mplayer播放服务器上对应的文件;按”Exit”退出当前窗口。
窗口5为播放控制窗口,“Pause”是暂停播放,然后按”Play”可以继续播放,按”Exit”退出当前窗口。
图4.12窗口1效果图
图4.13顶层目录按”Back”效果图图4.14播放界面效果图
总结
基于ARM嵌入式的视频点播系统具有性价比高,软、硬件高度模块化等特点,可用多媒体网络教学,移动影音播放,能缓解教学设备、师资紧张的局面和大大节省存放影音存储空间,能弥补教学方法和教学手段的不足和移动设备大容量存储需求的问题,具有广阔的应用前景。
在本系统的基础上,还可以扩展诸如图书点读系统,餐厅自动点菜系统,视频录制、摄像、电子书、游戏、上网等丰富功能。