嵌入式流媒体IP接入模块的设计与实现.pdf_第1页
嵌入式流媒体IP接入模块的设计与实现.pdf_第2页
嵌入式流媒体IP接入模块的设计与实现.pdf_第3页
嵌入式流媒体IP接入模块的设计与实现.pdf_第4页
嵌入式流媒体IP接入模块的设计与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

嵌入式流媒体IP接入模块的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学 硕士学位论文 嵌入式流媒体IP接入模块的设计与实现 姓名:吴玮 申请学位级别:硕士 专业:光电信息工程 指导教师:胡必春 20061114 I 摘 要 随着网络技术和高性能处理器的不断发展, 视频监控系统先后经历了传输和处理模 拟视频信号的第一代监控系统, 和以模拟视频传输和 PC 视频处理为代表的第二代多媒 体监控系统。目前,以互联网为载体,以网络视频服务器为核心的新一代网络视频监 控系统正逐渐走向前台,其显著特征是由网络视频服务器端直接对模拟数据进行高效 率的音视频压缩处理,以流媒体形式发送到网络接入端,用户通过客户端软件或 IE 浏 览器即时获得视音频数据。 本文在剖析业界不同平台视频监控架构的基础上, 针对流媒体监控系统接入模块的 底层设计,研究如何优化提高嵌入式流媒体监控系统 IP 接入的总体性能,进而研究与 实现一个具有完全自主知识产权的稳定的嵌入式监控系统。本文的主要内容如下: (1) 在总结视频监控系统发展现状的基础上,提出了流媒体视频监控系统的整体结 构,以及流媒体 IP 接入模块的硬件方案,并针对其关键技术作了深入分析。 (2) 完成流媒体 IP 接入模块软件设计,运用 uClinux 作为实现的操作系统,修改了 引导程序并剪裁移植内核。具体设计了流媒体 IP 接入模块的主控程序、视音频传输控 制子程序以及辅助管理程序,开发了一系列内核驱动模块来支持 IP 接入端的设计要 求。 (3) 按照课题要求研发的流媒体 IP 接入模块, 支持 UDP/IP、 TCP/IP、 ARP、 DHCP、 HTTP、SMTP 等多种协议,实现了网络实时播放、联动报警、远程升级等功能。经过 长时间的测试和不断完善,系统运行稳定可靠。 关键字:关键字:流媒体 嵌入式 uClinux 驱动程序 II Abstract Along with the continuous development of the network technique and the high performance processors, the video monitoring system (VMS) has come through the first generation VMS which focuses on transport and process the simulative signals, and the second generation VMS which is marked with the simulative video transmission and personal compute (PC) based video processing. Currently, a new generation VMS which takes the Internet as the carrier, and attaches most importance to the networked video serve emerges on the stage. It shows the characteristic of exploiting server to effectively compress the simulative data directly, delivering the video picture and the control signals with streaming format to the network connecting end. The users get the video and audio data by the client software or the Internet Explorer in real- time. On the base of analyzing the different underlying structure of VMSs, we aim at designing the connection module inside the Streammedia VMS, and studying how to improve the IP connection of the Streammedia VMS, accordingly to research and implement a stable VMS which has the complete independent intelligent property right. The main contents are as follows: (1) By summarizing the present development status of the VMS, the whole structure of the Streammedia VMS and the hardware blue print of IP connection module are proposed. The key techniques involved to the system are analyzed. (2) Completing the software designing of the streaming IP connection module, and transplant the uClinux as its operating system. The boot loader of the uClinux is modified and the kernel is tailored. The material frame includes the master control program, video and audio transporting program and assistant management program. A serial of kernel modules are also developed to support the IP connection. (3) The Streammedia IP connection module has been developed according to the projects requirements. It supports multiple protocols such as UDP/IP, TCP/IP, ARP, FTP, DHCP, HTTP and SMTP. It also realizes the real- time playing, the cooperative alarming and the remote updating function. After a long time test and evaluation, the system becomes more perfect and runs more stable. Key words: Streammedia Embedded uClinux Drivers Wuhan 430074, P. R. China November, 2006 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 本论文属于 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 1 1 绪论 1.1 课题来源及其研究意义 视频监控系统1- 11随着网络技术和高性能处理器的不断发展,先后经历了传输和处 理模拟视频信号的监控系统,和以模拟视频传输和计算机视频处理为代表的多媒体监 控系统。目前,网络型监控系统逐渐走向前台,其显著特征是在监控端摄像机端立即 转换网络视频数据,利用互连网络传输视频图像与控制信号,同时应用计算机的强大 处理能力进行图像分析和处理。 传统视频监控系统具有成本较高、需要铺设专用线路、无法联网、需要耗费大量的 存储介质等缺点。目前,用户正逐渐将目光转向以嵌入式系统7- 11为核心的网络视频监 控系统,新兴的网络视频监控克服了传统模拟视频监控的局限性,充分利用了网络资 源,有助于提高性能,降低成本。 网络视频监控系统综合了数字化图像处理与视频信息处理技术、 嵌入式技术、 数据 传输网络技术、自动控制等技术,符合当前信息社会中数字化、网络化和智能化的发 展趋势,可广泛应用于交通监控、医院病房监护、银行安全监控、家居安全监控、视 频会议和视频点播(VOD)、银行证券操作与安全监控、远程教育、网上演示、新闻实 况直播等诸多领域,而且其成本将随着技术的发展和网络的普及而大大降低,具有广 阔的应用前景,随着宽带网的普及和技术的发展,网络视频监控必将成为未来视频监 控设备的发展方向。 1.2 视频监控系统的发展 视频监控系统的发展经历了三个不同阶段: 模拟视频监控, 多媒体微机平台的数字 视频监控,基于嵌入式网络视频服务器技术的数字化网络视频监控。 (1)模拟视频监控系统 模拟监控系统1发展较早,目前常称为第一代监控系统。系统特点是视频、音频信 号的采集、传输和存储均为模拟形式,质量最高。经过几十年的发展,技术成熟,系 统功能强大和完善。模拟视频系统存在的问题是只适用于较小的地理范围、与信息系 2 统无法交换数据、监控仅限于监控中心、应用的灵活性较差、不易扩展。 (2)基于 PC 平台的数字视频监控 采用微机和 Windows 或 Unix 或 Linux 平台,在计算机中安装视频压缩卡和相应的 DVR(Digital Video Recorder)软件,不同型号视频卡可连接 1/2/4 路视频,支持实时 视频和音频,是第一代模拟监控系统升级实现数字化的可选方案,适合传统监控系统 的改造,但不适合新建的监控系统,也不适合实现远程视频传输(超过 12 公里)的 系统。其系统优点在于,音频信号的采集、存储主要为数字形式,质量较高,功能较 为强大、完善;系统可以交换数据,且应用的灵活性较好。缺点在于,DVR 系统从监 控点到监控中心为模拟方式传输,与第一代系统相似,存在许多缺陷,要实现远距离 视频传输需铺设(租用)光缆、在光缆两端安装视频光端机设备,系统建设成本高、 不易维护且维护费用较大;抗病毒能力差、体积大、网络实时性不强。 (3)嵌入式网络视频服务器 目前基于 PC 式监控系统采用 Windows 操作系统,因为 Windows 能够提供大量的 图形界面,有各种外部设备及应用程序,所以系统的开发就容易很多。但 Windows 系 统庞大复杂,占用 CPU 资源大,外围硬件较为复杂,稳定性、可靠性不如实时操作系 统。基于嵌入式系统的视频监控设备,采用基于嵌入式系统 12如 VxWorks8、 uClinux13,14、Window CE11等作为处理平台。这些为专门设计的嵌入式操作系统的特 点在于:系统简单,可去除与监控无关的功能,减少出问题机率。由于开发者掌握源 代码,可随时解决硬件冲突及优化系统。 基于嵌入技术的监控系统不需处理模拟视频信号的 PC,而是把摄像机输出的模拟 视频信号通过网络视频服务器直接转换成视频压缩信号和 IP 数字信号,可分别进行本 地存储或网络传输。嵌入式视频编码器具备视频编码处理、网络通信、自动控制等强 大功能,直接支持网络视频传输和网络管理,使得监控范围达到前所未有的广度。用 户通过网络访问嵌入式监控系统,对于有授权的用户还可以控制云台及摄像机镜头, 或对监控系统进行各种参数设置。 此外,流媒体(Streammedia)15- 21技术在一定程度上突破了网络带宽对多媒体信 息传输的限制,能较好的支持多媒体数据流的实时传输和实时播放。在嵌入式监控系 3 统,以流媒体的形式采集、处理和传输视频和音频数据,能有力地增强系统的整体性 能。 由于嵌入式视频监控系统采用一体化设计、使用 TCP/IP 网络,不需要布设专门的 网络,降低了成本,具有即插即用、使用灵活、维护简单、稳定性高的优点。可以满 足家庭、办公室、银行、医院及各种工业和公众场合的监控应用需求。 1.3 主要工作及章节安排 本文主要讨论研究的是嵌入式流媒体 IP 接入模块,提出了一种适用于网络视频监 控、网络电视(IPTV) 、视频会议等流媒体系统的硬件体系,它以三星公司包含高效 ARM7TDMI 处理器核的 S3C4510B 作为嵌入式处理器,结合周边硬件电路构成嵌入式 硬件核心,在此基础上扩展视频/音频采集电路和 MPEG4 硬件编码芯片等声像处理外 围电路。在嵌入式核心平台所采用的 uClinux 操作系统之上,使用 Linux 驱动程序和上 层网络服务器程序,实现了视频数据高效率的采集与传输。 本文的主要章节安排如下: 第二章,就流媒体 IP 接入模块的相关技术进行讨论。 第三章,介绍 uClinux 的相关背景技术,并阐述用户流媒体接入模块设计时,如何 裁剪 uClinux 模块以满足设计需求。 第四章, 介绍流媒体接入模块用户层程序的设计与实现, 详细说明了主控程序和视 音频传输控制子程序的工作流程。 第五章, 详细阐述流媒体接入模块驱动层次的内容, 具体阐明一系列关键驱动的工 作原理和设计实现过程。 最后一章,总结系统应用,并展望未来工作。 4 2 流媒体接入模块技术分析 目前,构筑网络视频监控系统的方案有许多,可供选择的支持技术也多种多样。 为了满足网络视频监控服务器的设计要求,需要对可能采用的关键技术进行考量。本 章阐述基于流媒体 IP 接入模块的具体方案,并讨论其中的满足集成需求的关键技术。 2.1 流媒体网络监控系统结构 局域网 局域网 二级控制中心 前端监控端 广域网 C IP 摄像头 01 C IP 摄像头 02 C IP 摄像头 03 C 远程 IP 摄像头 00 本地控制终端 本地控制终端 C 远程 IP 摄像头 0 C 远程 IP 摄像头 28 远程控制终端 01 一级控制中心 路由器 防火墙 NAT 监控中心服务器 69 交换机 远程控制终端 远程控制终端 防火墙 NAT 监控中心服务器 00 路由器 交换机 DVR 服务器 图 2.1 流媒体网络监控系统总体结构图 如图 2.1 所示,流媒体网络监控系统的结构,由流媒体 IP 接入模块(IPC) 、网络 传输和用户中心(CCU)组成。其主要实现的功能为:流媒体 IP 接入模块,对采集到 的模拟视频音频信号进行编码及存储,然后将编码完成后的数据打包以 TCP 或 UDP 方式通过 RJ45 网络接口发送到以太网中进行传输;同时,流媒体 IP 接入模块从以太 网中接收用户中心的控制信号,对自身系统进行设置如帧率、亮度等,并控制外接设 备如云台、报警器等;每个流媒体 IP 接入模块拥有一个指定 IP 地址。 除了以上一般性的功能之外,流媒体 IP 接入模块系统还具有以下功能: (1) 系统线路安装完毕, 上电后即可在任意一个网络畅通的地方实现浏览和控制。 5 如果该系统是由 RS232 接入无实 IP 的局域网内,可以通过 DHCP 自动态获得 IP;如 果是直接用从 RJ45 连入 ADSL 线路,模块内置支持 PPPOE 协议的拨号软件将在系统 上电时完成自动拨号,断线重连。 (2)在系统正常工作状态下,系统内部的几乎所有配置,包括芯片级寄存器的设 置、网络设置、内核下载等等都可以通过服务器软件控制来完成。如果前端视频源在 使用过程中实时更换,系统内核会自动检测并加载相应的驱动程序。 (3)客户端的软件还可以实现 DVR 的功能来对前端视频源的信息进行存储和检 索。 (4) 流媒体 IP 接入模块可以在其上扩展 USB 或 IDE 接口用于实现移动硬盘存储。 (5) 流媒体 IP 接入模块开放了 4 个 GPIO 口,可以选择的设置为电平输入输出或 中断入口,用以扩展烟雾、红外等其他报警信号的输入。 2.2 流媒体 IP 接入模块硬件方案设计 编码SDRAM S3C4510B 656/601 Video Decoder PCM CODEC 系统SDRAM 系统FLASH MPEG- 4音 视频编码器 RJ- 45/ 10/100- Base T IIS I2C数据 总线 标准RS485接口 数据总线 MPEG4数据流 云台控制指令 摄像机 麦克风 云 台 以太网 控制 音视频采集压缩编码模块数据发送和系统控制模块 PDT 图 2.2 流媒体 IP 接入模块硬件原理图 如图2.2所示的各个模块实现的功能为别为: PCM CODEC负责将模拟的音频数据采集后进行PCM编码(编码方式A律或U律可 选) ;Video Decoder模块负责将模拟的视频信号经过滤波和YC分离后从输入信号制式 中提取出有用的视频数据并转换为ITU- R BT.656格式的数字信号; MPEG- 422音视频编 码模块负责对PCM音频编码数据、ITU- R BT.656视频数据进行存储、MPEG- 4硬压缩并 打上时间戳,可以设置摄像头移动检测的灵敏度(这个功能也可以在CPU中通过算法 6 进行处理) ,可以通过在编码的过程中加入数字水印来保护知识产权;S3C4510B 处理 器则负责整体控制系统的运行,对各个模块进行配置、从MPEG4编码模块读取压缩后 的数据, 通过S3C4510处理器中内嵌的以太网控制器中打成TCP或UDP包由以太网物理 层接口发送到以太网中,或者存储在SDRAM中。 上面顺序叙述的模块的功能基本上就是音频和视频数据在整个模块中的处理流 程,即为流媒体 IP 接入模块硬件的一个工作周期。 2.3 图像处理技术分析 流媒体 IP 接入模块的一个重要功能是将摄像端的模拟视频数据,经高效压缩转化 为数字信号发送到网络中,因此图像处理技术在这里是需要考量的首要因素。下面就 图像处理的两个步骤进行技术分析。 2.3.1 模拟信号数字化 处理视频信息,首先要使模拟信息数字化,数字化是通过对模拟视频信号进行采 样和量化实现的22。 图像采样是将二维空间的模拟的连续信号(即灰度)或色彩信息,转化为一系列 有限的离散数值来表示,具体的做法是对连续的图像在水平和垂直的方向等间隔地分 成矩形网状结构,所形成的矩形微小区域,称为像素。被分割的图像如果水平方向有 M 个间隔,垂直分析有 N 个间隔,则一幅视频画面就表示成 M*N 个像素构成的离散 像素的集合,M*N 即为图像的分辨率。 采样后得到的亮度值(或色彩度)在取值空间上仍然是连续值,属于模拟量,需 要进行量化,量化是模拟信号到数字信号的映射,它把采样后得到的这些连续量表示 的像素值离散化为整数值。量化的实质是用有限的离散值代替无限的连续模拟量的多 对一映射操作。一般可用 8bit、16bit、256bit 或更高的量化字长来表示图像的颜色。量 化处理是使数据比特率下降的一个强有力的措施。 2.3.2 视频压缩编码方法的选择 量化之后得到的数字视频数据量仍然非常巨大,需要进行压缩。目前,适用于远 程视频监控的图像压缩标准有 H.263、JPEG、MPEG 系列标准(主要包括 MPEG- 1、 7 MPEG- 2、MPEG- 4 等)。 当前流媒体系统所采用的视频压缩标准主要是 ISO 组织提出的 MPEG- X 系列 标准。MPEG 23(Moving Pictures Experts Group)是动态图象专家组的英文缩写,是 视频、音频、数据的国际压缩标准。MPEG 压缩标准是针对运动图像而设计,基本方 法是在单位时间内采集并保存第一帧信息,然后就只存储其余帧相对第一帧发生变化 的部分,以达到压缩的目的。这些压缩标准都是针对不同带宽要求的应用的。要进行 流媒体服务,大量的视频数据就需要通过网络进行传输,这就需要在数据传输之前进 行编码压缩以减少数据量。 从视频压缩编码技术来看,MPEG- 4 在录像存储容量、图像质量、网络传输、对 图像可以进行交互操作等方面都具有巨大的优势。 MPEG- 4 的设计思想是在超低带宽(10Kbit/s 到 1Mbit/s)的条件下提供尽可能好 的图像质量。 MPEG- 4 在信息描述中, 首次使用了对象 (object) 的概念, 如: Video object (VO) 、Audio object(AO)等,使得更多的交互操作成为可能。这种以内容为核心的 描述方法更符合人的心理特性,从而不仅能获得比现有以像素为基础的标准更优越的 压缩性能,也为应用提供了各种新的功能。MPEG- 4 采取的是以功能为基础的策略, 即并不针对任何特殊的应用,而是力图尽可能地支持对多种应用均有帮助的功能组。 存储空间得到节省。在优势最明显的存储容量方面,采用 MPEG- 4 的视音频全同 步录像所需的硬盘空间约为相同图像质量的 MPEG- 1 或 M- JPEG 所需空间的 1/10,此 外,MPEG- 4 因能根据场景变化自动调整压缩方法,故对静止图像、一般运动场景、 剧烈活动场景均能保证图像质量不会劣化。 在录像清晰度方面,尽管 MPEG- 4 瞄准的是低带宽上的音视频解决方案,但是它 独特的基于内容的压缩方式同样也适合 CIF 或者更高清晰度(768576,640480)的 视频压缩。 表 2.1 MPEG- 4 同 MJPEG 和 MPEG- 1 的比较 种类 MJPEGMPEG- 1MPEG- 4 1帧1分钟1小时1帧1分钟1小时1帧1分钟1小时 静止 一般活动 剧烈活动 6K 7.2K 11K 9M 10.8M 16.5M 535M 625M 950M 2.4K 2.4K 2.4K 3.5M 3.5M 3.5M 212M 212M 212M 0.7K 1.1K 1.7K 1.02M 1.6M 2.42M 60.2M 93M 148M 8 在网络传输方面,如何在低的带宽上传输视频,正是 MPEG- 4 大显身手的地方。 目前在低带宽上传输活动视频的另一个解决方案就是采用 H.263 标准,尽管 H.263 也 有较高的压缩比,但是图像质量要差于 MPEG- 4。表 2.2 显示了它们在不同网络上测试 结果的对比。在纠错能力上,当网络进行传输有误码或丢包现象时,MPEG- 4 受到的 影响很小, 并且能够很快恢复。 例如在误码达到 1%时, MPEG- 1 已无法播放, 而 MPEG- 4 只会有轻微的边缘模糊。又如当网络传输出现瞬间丢包现象时,MPEG- 1 恢复至少需 要 10 多秒,而 MPEG- 4 只需 13 秒。 表 2.2 不同网络上测试结果的对比 网络类型MPEG- 1H.263MPEG- 4 PSTN普通电话线 LAN局域网 无法传输 25帧/秒 需要500Kbit带宽 5- 9帧/秒 图像质量较差 25帧/秒 需要256Kbit带宽 5- 15帧/秒 图像质量好 25帧/秒 需要256Kbits带宽 综上所述,MPEG- 4 压缩编码标准能较好地满足数字视频监控系统中视频编解码 的要求,同时在技术上也是可行的,因此在本课题中采用 MPEG- 4 标准作为压缩编码 方案。 2.4 编码芯片选择 目前市场上 MPEG- 4 的音视频压缩方法主要有两种方式,即软压缩和硬压缩。软 压缩利用视频采集卡将采集过来的视频数据交给 CPU 来压缩。而硬压缩不仅进行视频 的采集,还要采用 DSP 或其他压缩芯片将视频数据压缩。与软压缩系统相比,硬压缩 系统多了编码芯片和其他辅助电路,电路结构复杂,成本也较高;软压缩的算法是基 于 PC 机的软件,灵活性强,对压缩算法的升级也比较方便,而硬压缩的算法是直接写 入芯片里的。但是,软压缩大大消耗了 CPU 资源,不适合于嵌入式硬件的设计,因此 在本课题中采用硬压缩的体系。 硬压缩的压缩芯片也有两种,即 ASIC24和 DSP24。 基于 DSP 的系统, 指用软件在通用 DSP 上实现 MPEG- 4 的编码。 这类视频系统优 点是“可编程” ,灵活性高,易于修改,易于升级,适合小规模生产。但是因为 MPEG4 算法比较复杂,数据运算量大,在 DSP 上实现的软件算法也较复杂,系统的稳定性也 9 不是很好。 基于 ASIC 的系统,指用专用的 ASIC 芯片组,通过硬件来实现 MPEG- 4 的编码算 法,其特点是芯片集成度高,系统稳定性好,价格便宜,ASIC 芯片批量成本约降低 20%50%、编解码效率通常是 DSP 编解码芯片的 1040 倍,不用费力于 MPEG- 4 的 编码算法的实现,故可以缩短开发周期。 基于以上考虑,本课题中使用专用 MPEG- 4 ASIC 芯片,以提高系统性能并缩短开 发周期。 2.5 本章小结 本章阐述了流媒体网络监控系统结构, 并给出了流媒体 IP 接入模块硬件方案设计, 硬件部分主要包含两个核心芯片,MPEG4 音视频编码器和嵌入式中央处理器 S3C4510B。前者捕获视音频模拟信号,并压缩编码成 MPEG4 流,交由嵌入式 CPU 经 网卡传输到以太网上。从视频压缩编码技术来看,MPEG- 4 在录像存储容量、图像质 量、网络传输、对图像可以进行交互操作等方面都具有巨大的优势,可作为视频压缩 编码方法的最佳选择,相应地选用 MPEG- 4 ASIC 芯片,以提高系统性能并缩短开发周 期。 10 3 嵌入式操作系统 uClinux 移植 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,通常包括与硬件相 关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器 等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系 统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来; 能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式 操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方 面具有较为突出的特点。 3.1 嵌入式操作系统概述 3.1.1 嵌入式操作系统的发展 嵌入式操作系统发展12,25经历了四个比较明显的阶段: 第一阶段:无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形式的 系统,具有与监测、伺服、指示设备相配合的功能。应用于一些专业性极强的工业控 制系统中,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。系统结构 和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。 第二阶段:以嵌人式 CPU 为基础、简单操作系统为核心的嵌入式系统。CPU 种类 繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一 定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统 负载以及监控应用程序运行。 第三阶段:通用的嵌人式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式 系统。能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的 模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以 及用户界面等功能;具有大量的应用程序接口(API) ;嵌入式应用软件丰富。 第四阶段:以基于 Internet 为标志的嵌入式系统。这是一个正在迅速发展的阶段。 目前大多数嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展以及 Internet 技 术与信息家电、工业控制技术等结合日益密切,嵌入式设备与 Internet 的结合将代表着 11 嵌入式技术的真正未来。 3.1.2 常用的嵌入式操作系统 在嵌入式应用中,使用实时操作系统(RTOS)是当前嵌入式应用的一个特点,一 种趋势,也是单片机应用从低水平向高水平的一个进步。在实际的应用中,根据不同 的要求和条件选择合适的操作系统,使开发工作更容易,设计出更完美的嵌入式系统。 (1)VxWorks 操作系统 VxWorks8操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操 作系统(RTOS) ,是 Tornado 嵌入式开发环境的关键组成部分。 由于其操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费 10 万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版 税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门 的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件 数量有限。 (2) Windows CE Windows CE11与 Windows 系列有较好的兼容性,无疑是 Windows CE 推广的一大 优势。其中 WinCE3.0 是一种针对小容量、移动式、智能化、32 位、了解设备的模块 化实时嵌人式操作系统。 从技术角度上讲,Windows CE 作为嵌入式操作系统有很多的缺陷:没有开放源代 码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且 和 Windows 一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑 的因素。 (3)嵌入式 Linux 嵌入式 Linux 是嵌入式操作系统的一个新成员, 其最大的特点是源代码公开并且遵 循 GPL 协议,在近一年多以来成为研究热点,据 IDG 预测嵌入式 Linux 将占未来两年 的嵌入式操作系统份额的 50%。 在嵌入式系统上运行Linux的一个缺点是Linux体系提供实时性能需要添加实时软 件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执 12 行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破 坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。 (4)C/OS- C/OS- 26是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于 8 位,16 位和 32 位单片机或数字信号处理器(DSP) 。它是在原版本 C/OS 的基础上 做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。 但由于 C/OS 一仅是一个实时内核,这就意味着它不像其他实时存在系统那样 提供给用户的只是一些 API 函数接口,还有很多工作需要用户自己去完成。 (5)uClinux uCLinux 是 Lineo 公司的主打产品, 同时也是开放源码的嵌入式 Linux 的典范之作。 uCLinux 主要是针对目标处理器没有存储管理单元 MMU(Memory Management Unit) 的嵌入式系统而设计的。 它专为嵌入式系统做了许多小型化的工作,目前已支持多款 CPU。 其编译后目标 文件可控制在几百 KB 数量级,并已经被成功地移植到很多平台上。 3.2 uClinux 操作系统分析 uClinux 是 Linux 操作系统的一种,是由 Linux2.0 内核发展来的,是专为 noMMU 的微处理器(如 ARM7TDMI、Coldfire 等)设计的嵌入式 Linux 操作系统。另外,由 于大多数内核源代码都被重写,uClinux 的内核要比原 Linux 2.0 内核小的多,但保留 了 Linux 操作系统的稳定性,优异的网络能力以及优秀的文件系统支持。 进程调度、文件系统支持和系统移植是在嵌入式操作系统实际应用中最常见的问 题。下文就从这几个角度入手对 uClinux 进行分析,并阐明选择 uClinux 作为本课题嵌 入式操作系统的原因。 第一,进程调度方面。uClinux 的进程调度沿用了 Linux 的传统。系统每隔一定时 间挂起进程,同时产生快速和周期性的时钟性中断,并通过调度函数(定时器处理函 数)决定进程什么时候拥有它的时间片,然后进行相关进程切换。 uClinux 由于没有 MMU 管理存储器,其对内存的访问是直接的,所有程序中访问 的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一 13 个运行空间,多进程时需要进行数据保护。 由上述分析可以得知,uClinux 在结构上继承了标准 Linux 的多任务实现方式,仅 针对嵌入式处理器特点进行改良,要实现实时性效果则需要使系统在实时内核的控制 下运行。 第二,文件系统方面。所谓文件系统是反映负责存取和管理文件信息的机构,也可 以说是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源 (如目录表、存储介质等)实施管理的软件部分。 uClinux 继承了 Linux 完善的文件系统性能。其采用的是 romfs 文件系统。这种文 件系统相对于一般的 ext2 文件系统要求更少的空间。空间的节约来自于两个方面:一 方面, 内核支持 romfs 文件系统比支持 ext2 文件系统需要更少的代码; 另一方面, romfs 文件系统相对简单, 在建立文件系统超级块 (superblock) 需要更少的存储空间。 uClinux 还继承了 Linux 网络操作系统的优势,可以很方便地支持网络文件系统且内嵌 TCP/IP 协议。这为 uClinux 开发网络接入设备提供了便利。 因此,在复杂的需要较多文件处理的嵌入式系统中,uClinux 是一个不错的选择。 第三, 操作系统的移植方面。 嵌入式操作系统移植的目的是指使操作系统能在某个 微处理器或微控制器上运行。uClinux 是源码公开的操作系统,其结构化设计便于把与 处理器相关的部分分离出来,所以被移植到新的处理器上是可能的。 uClinux 是 Linux 针对嵌入式系统的一种改良,其结构比较复杂;uClinux 的移植也 复杂得多。uClinux 的移植大致可以分为 3 个层次。 (1)结构层次的移植。如果待移植处理器的结构不同于任何已经支持的处理器结 构,则需要修改 linux/arch 目录下相关处理器结构的文件。虽然 uClinux 内核代码的大 部分是独立于处理器和其体系结构的,但是其最低级的代码也是特定于各个系统的。 这主要表现在它们的中断处理上下文、内核映射的维护、任务上下文和初始化过程都 是独特的。这些例行程序位于 linux/arch/目录下。由于 Linux 所支持体系结构的种类繁 多,所以对一个新型的体系,其低级例程可以模仿与其相似的体系例程编写。 (2)平台层次的移植。如果待移植处理器是某种 uClinux 已支持体系的处理器, 则需要在相关体系结构目录下建立相应目录并编写相应代码。如在本课题中 ARM 14 S3C4510 就 是 基 于 noMMU 的 snds100 内 核 的 。 此 时 的 移 植 需 要 创 建 的 linux/arch/armnommu/mach- snds100/目录下,并在其下编写跟踪程序(实现用户程序到 内核函数的接口等功能) 、中断控制调度程序和向量初始化程序等。 (3)板级移植。如果所用处理器已被 uClinux 支持,就只需板级移植了。板级移 植需要在 linux/arch/armnommu/中建立一个相应板的目录,再在其中建立相应的启动代 码和键接描述文档。板级移植还包括驱动程序的编写和环境变量设置等内容。 通过以上分析可以看出,uClinux 则占用空间相对较大,实时性能一般,针对新处 理器的移植相对复杂。但是,uClinux 具有对多种文件系统的支持能力、内嵌了 TCP/IP 协议,可以借鉴 Linux 丰富的资源,对一些复杂的应用,uClinux 具有相当优势。因此 本课题中采用 uClinux 作为嵌入式操作系统。 3.3 uClinux 引导程序修改 嵌入式 uClinux 操作系统主要有三个基本部分组成: 引导程序 (BootLoader) 27,28、 uClinux 内核29,30(由内存管理、进程管理和中断处理等构成)和文件系统。这一节重 点介绍本课题中 BootLoader 的实现。 BootLoader 就是在操作系统内核运行之前运行的一段程序。通过此程序,可以初 始化硬件设备、建立内存空间的映射图,以便为最终调用操作系统。它代码量虽少, 但是作用非常大,相当于 PC 上的 BIOS,负责将操作系统内核固化到 Flash 中和系统 初始化工作,然后将系统控制权交给操作系统。 BootLoader 有两个主要任务: (1)初始化板载硬件设备; (2)加载操作系统内核 到 SDRAM 中。要建立可调试的用户接口,需要把 BootLoader 的两个主要任务分开设 计,并加入其他调试必须的一些功能。 BootLoader 的基本功能如下: (1)板载硬件设备初始化; (2)从主机下载内核映像和文件系统映像(tftp 工具) ; (3)加载 uClinux 内核映像并启动运行; (4)提供串口超级终端上的人机操作界面。 BootLoader 的设计依赖于 CPU 的体系结构和板级配置。相同的 CPU 搭建不同的 15 主板配置时也需要使用不同的引导程序。BootLoader 启动代码是高度硬件专用性的, 因而不具移植性。 本课题中, 流媒体接入模块的硬件系统设计包括: S3C4510、 SDRAM (16M) 、 Nor Flash (2M) 、 10/100M 以太网 (RTL8019AS) 和 RS232 接口等。 BootLoader 由 ARM 制造商三星公司免费提供,只需将代码包在 linux 环境下编译,并通过烧片器 烧写到 flash 上即可。 烧写 BootLoader 完成后,图 3.1 为超级终端显示的 BootLoader 选项。首先初始化 flash 芯片,然后出现 BootLoader 菜单,可以选择,直接运行 flash 上的内核、更新内 核、上传下载内核、或重新启动。 图 3.1 超级终端显示 bios 选项 3.4 uClinux 内核剪裁 内核是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件 和网络系统,决定着系统的性能和稳定性。当需要增加对某部分功能的支持时,有两 种方法: 第一,把相应部分编译到内核中(build- in) 。在内核启动时将自动支持相应部分的 功能,这样的优点是方便、速度快,机器一启动,就可以使用这部分功能了;缺点是 会使内核变得庞大起来,不管是否需要这部分功能,它都会存在。 第二,把该部分编译成模块(module) ,动态调用。编译成模块,就会生成对应的.o 文件,使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是使用时需要自 己来调用这些模块。 内核编译中最为烦杂的事情就是 make menuconfig 这步配置工作, make menuconfig 16 实际上就是对内核提供的功能进行剪裁, 定制适合自身需要的 uClinux 系统。 在配置时, 大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。选择的原 则是,将与内核其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块; 不需要的功能不选;与内核关心紧密而且经常使用的部分功能代码直接编译到内核中。 配置内核的命令有以下几个: make config(基于文本的最为传统的配置界面) make menuconfig(基于文本选单的配置界面,字符终端下使用) make xconfig(基于图形窗口模式的配置界面,Xwindows 下使用) make oldconfig(只在原来内核配置的基础上修改一些小地方) 选择相应的配置时,有三种选择,它们代表的含义如下: Y(*)将该功能编译进内核 N不将该功能编译进内核 M将该功能编译成可以在需要时动态插入内核的模块 执行 make menuconfig 命令后进入主菜单,用空格键选定 Customize Kernel Settings (NEW)和 Customize Vendor/User Settings(NEW) 。然后保存设置退出该界面。随即 进入 linux kernel v.2.4.22- uc0 configuration 选项界面,这里专门配置一些内核所必须的 驱动级别的模块,如 system type、file systems、network device support、character devices 等。下面是 system type 的选项: (samsung)arm system type generate big endian code set flash/sdram size and base addr (rom)kernel executes from (s3c4510- snds100)board implementation 这里设置 flash/sdram 的容量和基地址,选择 kernel 在 rom 中执行,选择执行了 s3c4510- snds100。 设置完内核的所有选项之后,保存设置然后退出。此时进入 uClinux v1.3.4 Configuration 选项界面,这里包括一些 uClinux 自带的支持底层驱动的用户程序,如 Library Configuration、Flash Tools Flash、Netw

温馨提示

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

评论

0/150

提交评论