基于嵌入式操作系统的视讯终端的设计

上传人:艾力 文档编号:36718759 上传时间:2018-04-01 格式:PDF 页数:3 大小:133.37KB
返回 下载 相关 举报
基于嵌入式操作系统的视讯终端的设计_第1页
第1页 / 共3页
基于嵌入式操作系统的视讯终端的设计_第2页
第2页 / 共3页
基于嵌入式操作系统的视讯终端的设计_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于嵌入式操作系统的视讯终端的设计》由会员分享,可在线阅读,更多相关《基于嵌入式操作系统的视讯终端的设计(3页珍藏版)》请在金锄头文库上搜索。

1、基于嵌入式操作系统的视讯终端的设计邓雄书1 徐正全1 张玉挺2(1.武汉大学; 2.武汉理工大学)摘 要: 嵌入式实时操作系统(RTOS)由于其功能多,扩展性好,可靠性高,已经广泛应用于各种嵌入式系统中,研究如何利用RTOS开发各种嵌入式系统,就显得很有意义。简要讲述了RTOS的特点,并提出了如何基于RTOS开发一种视频终端的方法。 关键词: RTOS; 嵌入式操作系统; 视频终端嵌入式视频系统要处理的视频、 音频数据量庞大,处理的外部事件多而复杂。 所以,引入RTOS是 很有必要的,而且如何合理的划分系统任务,如何组 织各个任务之间的协调合作,对提高系统的稳定性 和效率,是不言而喻的,如果解

2、决不好会出现死锁, 任务饿死等情况。文章提出了在视频终端的开发中划分任务和任务间合作通讯的方法。1 嵌入式视频处理系统中应用RTOS 的必要性视频系统是一个实时系统,因为: 假若离散的视频信号x(n) (0LTx,则对X0,X1,XL- 1进行运算所需要的时间大于LTx,前一帧的计算,在下一帧的最后的一个输入样本到达后才能完成,输出越来越落后于输入,这样的视频系统总是 会溢出,崩溃的,所以不能连续运行的。对于视频系 统来说,最大的输入数据量是系统不断从外界获取 视频图像的数据(C IF4: 2: 0格式, 30帧?s,需5 M 左右字节),除了视频数据外,还有音频数据,各种通讯、 控制数据。如

3、果不能满足TcL Tx,则不能及时 处理数据、 图像、 音频等数据积压越来越大,延迟越 来越大,将导致系统不能实时,也不能连续进行。所 以说嵌入式视频系统是一个实时系统。 要做到实时, 就要求CPU处理速度要够快,也要求RTOS的任 务上下文切换,中断切换,内核执行速度要快,这就要求有一个优秀的RTOS。2 RTOS内核简介大多数嵌入式操作系统采用了微内核结构,内 核只提供基本的功能,比如:任务的调度、 任务之间的通信与同步、 内存,中断管理、 时钟管理等。 其它的 应用组件,比如网络功能、 文件系统、GU I系统等均 工作在用户态,以系统进程或函数调用的方式工作。 因而系统都是可裁减的,用户

4、可以根据自己的需要 选用相应的组件。3 嵌入式视频终端的硬件框架以下均以笔者开发的一个网络监控视频终端为 例,该终端已经广泛应用于商场,学校,发电站等部 门里。 该终端基于嵌入式PSOS操作系统。 图2为此终端的硬件框图。 其中视频A?D芯片采用phillips的SAA 711a, 作用是把输入的模拟视频信号进行A?D转换,输出 符合CC IR2601、CC IR2656的YUV数字视频信号, 音频A?D采用AD公司的ADS2189, dsp采用43国外建材科技 2003年 第24卷 第5期 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd.

5、All rights reserved.图2 硬件框图 phillips的专门处理视频的tm 1300 ,运算能力高达600多M IPS,网口芯片采用realtel的8139。4 嵌入式视频终端的功能模块分析此嵌入式视频终端的功能需求是把实时采集的 视频、 音频和232、485数据以及各种控制信息经编 码后发送到网络上,由异地的终端(PC机)接收后解 码显示,根据此功能需求,可把终端的软件系统划分为以下模块:视频采集模块、 视频预处理模块、 视频 编码模块、 视频发送模块、 命令交互模块、 数据通讯 模块、 音频处理模块、 主控模块。图3 视频终端的软件系统5 视频终端系统的功能模块描述系统主

6、要是通过视频采集器件(摄像头)从外界 获取连续的模拟的视频信号,如果有音频,则还通过 麦克风采集原始的音频信号,然后通过A?D转换器 对模拟信号进行模数转换,变成一帧帧的数据,存贮 在视频缓冲区(RAM)里,视频采集模块通过中断获 取缓冲区里的视频数据,表现为中断服务例程。 视频 预处理模块对视频数据进行缩放、 滤波、 平滑等处 理,然后送给编码模块。 编码模块负责把预处理完后 的原始图像数据进行编码,以压缩数据量,使码流能 够在网络上传输或利于存贮,现行流行的压缩算法 有h. 261、h. 263、h. 264、mpeg4等。 通常编码模块要 消耗大部分的CPU运算时间,是系统性能的瓶颈 所

7、在。视频发送模块负责把编好的码流发送到网络 上。命令交互模块负责向网络发送或接收各种控制 或状态命令或者通过红外中断接受人们的控制命 令,数据通讯模块负责和异地终端进行232、485等 数据的通讯。 主控模块负责创建启动各模块,同各模块交互,命令的接受、 解释、 转发,负责控制各个模块 的运行方式。6 视频系统划分任务基于以上的功能分析,整个终端只需要RTOS的基本内核和网络通讯协议栈就够了,就不用把所 有的RTOS的功能都下载下来,这样使整个系统代 码精简,消耗内存少,系统效率高。 在此终端的开发中,只用到了PSOS+ m和PSOS的PNA模块。 在实时操作系统中如何对任务进行划分是非常 重

8、要的。如任务太多,在任务切换之间的开销就太 大;任务太少,则程序的并行性又会降低。可把系统 设计成事件驱动的方式,中断是系统对外部异步事 件的反应,每个外部事件对应一个中断服务例程,当某个事件发生时,则触发相应功能模块的任务来处 理。 由于视频系统的主要事件就是密集的视频信号, 所以把视频采集模块设计成中断服务例程(ISR)。 音频采集模块,由红外中断触发的各种控制命令也 是一个ISR。 由于ISR需要屏蔽其他中断,为了提高系统响应外部事件的实时性, ISR要尽可能短,所以 视频采集模块只做这件事:一旦视频缓冲区满,就激 活预处理模块处理。其他ISR也只要激活相应的处 理任务就可以了。 根据功

9、能内聚的原则,各个密切相关的功能尽可能对应一个任务。 所以系统可分为主控任务、 预处 理任务、 编码任务、 视频发送任务、 音频编码任务、 音 频发送任务、 命令交互任务、 数据通讯任务。各个功 能模块都是独立的,因此,各个任务可以异步执行。7 嵌入式视频系统的任务优先级和调度视频系统采用基于PSOS的固定优先级的可抢 占式的任务调度方式,保证高优先级的任务先得到 处理,从而保证系统的实时性,而不采用时间片轮转 调度方式,因为如果采用时间片轮转:任务运行时,需要不停地减少时间片计数器的值,增加了系统 开销;同等优先级的任务,即使资源得到满足时也 只有等到其他任务释放时间片,系统的实时性得不 到

10、保证。 整个系统分为周期任务和非周期任务,对于 周期任务,可根据实时系统的静态任务调度的最优算法静态单调率(RM)算法分配优先级,对于 周期事件,周期短的分配优先级高。 系统的视频采样率(13. 2M Hz)是固定周期的, 而响应外界或内部的控制命令数据是非周期的,但 是和视频相比是很少量的,所以系统最大量的响应53国外建材科技 2003年 第24卷 第5期 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.事件视频事件是固定周期的,同理音频以844kHz的频率采样,也是固定周期的。 预处理任务和编 码

11、任务都是处理同一视频事件的任务,但是编码任 务是计算任务,消耗CPU时间很多,所以给编码任 务分配相对较低的优先级,以便消耗空闲的CPU时间。 各种控制命令和数据是非周期的,对于非周期 任务,可根据非周期任务的调度算法最早时限优先 算法(EDF)分配优先级,时限早的任务分配优先级 高。 如果编码有点稍微延迟,人们感觉到图像稍微有 点停滞,但是人们很难忍受发出的控制命令迟迟未得到反应。所以给非周期的任务分配比周期任务高 的优先级,所以给主控任务分配的优先级最高,命令 或数据任务次之,处理视频事件的任务的优先级比 处理控制命令的优先级要低。 整个视频系统可设计成资源驱动的方式,在每个任务的任务循环

12、里首先等待资源,只要获得资源, 就激活,如果获取不了资源,则阻塞,让出CPU时 间。任务里等待的资源,只有在事件发生时在ISR 里释放,或者在处理这一事件的其他任务里释放。 这 样一次事件的发生,在处理此事件各个任务的一次循环里就得到处理,任务要想再次获得运行,只有等 到下次事件发生。 这样可提高系统运行的确定性,可 预测性。 高优先级的任务只要获取不了资源,就主动 让出CPU时间,所以不会产生低优先级的任务得 不到执行的任务饥饿现象。处理视频事件的ISR和任务之间,各任务之间 存在大数据量的视频流的通讯,可设计一种包交换 的通讯方式,如图4所示。图4 包交换的通讯方式 在各个任务之间申请足够

13、大的内存块,把每个内存块视作数据包,任务之间通过双向队列(一个队列作为空包队列,一个作为满包队列)通讯,队列里只要传递内存指针和大小就可以传递数据包了。这样在视频采集ISR里,一旦积满一帧的缓冲区满,就向等待满包的预处理任务发送满包消息,激活预处理任务,预处理拷贝满包,然后发空包(也是发消息)给采集视频的ISR,预处理完毕,则发满包给等待满包的编码任务,编码任务获得满包后则就绪等待CPU调度,一旦获得调度且编码完成后,则把处理后的满包发给发送任务,同时把预处理的空包发给预处理任务,同理视频发送任务的处理过程也一样。空满双向队列同时也有通讯和使系统成为资源 驱动的同步的功能。这种任务间通讯方式的

14、优点是 任务间传递的大量数据变成了对内存的处理而不是 通过消息传递,大大加快了系统的效率和稳定性。 主 控任务和各任务之间的通讯,由于数据量少,可直接通过双向队列直接发送消息通讯。同时也可采用信 号灯技术与各个任务同步。 主控任务进入任务循环时首先等待一全局信号 量,任何任务想向主控发送消息必须先释放此信号 量,这就保证了主控任务优先级虽然最高,但是只有获得消息时才能运行,否则挂起,因为控制消息相对 视频来说是非常少的,所以主控任务大部分时间挂 起。 使得系统的实时性和可确定性都得到了保证。 由 于主控任务负责解释大量的命令,可作一个状态机, 命令和处理对应起来。系统应尽量在初始化时把全局的内

15、存都分配完毕,这样会尽量减少内存碎片,提 高系统稳定性。8 结 语上述设想已经在笔者开发的一个网络视频监控终端中得到实现。该终端运行情况稳定同时获得了 较好的运动图像质量。码率可以从641 920 kb?s 选择以获得不同档次的图像质量和帧率。 在64 kb?s 带宽下,解码后的QC IF和C IF图像的帧率可达到15 fps以上。通过适当提高码率,QC IF和C IF图像的帧率均可达到25 fps。 实践证明,基于RTOS开发的视频终端效率 高,可靠性好,稳定性高。由于多任务机制下的系统 软件模块化好,结构简单,开发周期缩短。以后升级 也方便。基于RTOS开发的系统即可加快上市时间,又可提高

16、软件的效率和可靠性,通常RTOS都 是经过实践考验的。参考文献1 夏玮玮,沈连丰,肖 婕.嵌入式系统关键技术分析与开发应用.单片机与嵌入式应用, 2002.2 陈 宁,熊光泽.单调时限可调度算法的可调度分析.计算机工程与应用, 2001.3 钟汉如,王创生.嵌入式L inux中调度算法的实现及优化.计算机工程与科学, 2002, 24(3).4 王春明,刘振华,郭云飞.实时操作系统中应用软件的任务划分.计算机工程, 2002(7).收稿日期: 2003207202邓雄书:男, 1979年生,硕士研究生;武汉,武汉大学计算机学院(430079).63国外建材科技 2003年 第24卷 第5期 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号