Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304633
  • 博文数量: 186
  • 博客积分: 2606
  • 博客等级: 少校
  • 技术积分: 2080
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-17 01:03
文章分类

全部博文(186)

文章存档

2012年(1)

2010年(3)

2009年(1)

2007年(91)

2006年(90)

我的朋友

分类:

2010-01-27 09:32:26

摘要:本文详细介绍了PSOS嵌入式操作系统,嵌入式浏览器,中间件,及如何在使用PSOS的机顶盒上实现嵌入式浏览器中间件集成。

   关键字:PSOS;嵌入式浏览器;中间件;机顶盒

    一、概述:

    现阶段,有线电视数字化的工作正在全国有条不紊地展开,嵌入式浏览器技术已成为数字电视中的核心技术,在机顶盒中实现嵌入式浏览器将极大丰富数字交互业 务。在这种情况下,各种针对数字电视的嵌入式浏览器纷纷出现。集成已有浏览器,可以避免重复开发,缩短产品周期,提高软件复用率,是一个很好的选择。

    二、嵌入式实时操作系统PSOS简介

   目前流行的实时操作系统有Integrated Systems Incorporated公司的PSOS,Wind River System公司的VxWorks, Microware公司的DAVID OS-9,ST公司的OS20、Windows CE以及专为机顶盒开发的Power TV等。这些操作系统各有所长,在机顶盒中都有应用。

   PSOS是一个由标准软组件组成的,可剪裁的实时操作系统,在目前机顶盒中应用较为普遍。其系统结构如图1所示。


    PSOS分为内核层、系统服务层、用户层。PSOS内核负责任务的管理与调度、任务间通信、内存管理、实时时钟管理、中断服务;可以动态生成或删除任务、 内存区、消息队列、信号灯等系统对象;实现了基于优先级的、选择可抢占的任务调度算法,并提供了可选的时间片轮转调度。PSOS内核还提供了任务间通信机 制及同步、互斥手段,如消息、信号灯、事件、异步信号等。

   PSOS系统服务层包括PNA+、PRPC+、PHILE+、PREPC+等组件。PNA+实现了完整的基于流的TCP/IP协议集,并具有良好的实时性 能,网络组件内中断屏蔽时间不大于内核模块中断屏蔽时间。PRPC+提供了远程调用库,支持用户建立一个分布式应用系统。PHILE +提供了文件系统管理和对块存储设备的管理。PREPC +提供了标准的C、C++库,支持用户使用C、C++语言编写应用程序。

   PSOS用户层指的是用户编写的应用程序,它们是以任务的形式出现的。任务通过发系统调用而进入PSOS内核,并为PSOS内核所管理和调度。

    三、嵌入式浏览器中间件选择

   数字电视中间件是指位于数字电视机顶盒内部实时操作系统与应用程序之间的软件部分,它以应用程序接口(API)的形式存在,整个API集合被存储在机顶盒 的闪存(FLASH)中。采用中间件系统,可以跨越技术、标准等复杂的内容,用简单的方法定制具有自己特色的应用软件,从而在提高开发效率、减少开发成本 的同时能够跟上技术的发展,将应用的开发变得更加简捷,使产品的开放性和可移植性更强。虽然中间件对机顶盒硬件资源的要求较高,但在开发大量应用时成本大 大下降。图2描述了中间件在数字电视机顶盒中的位置。

  

    嵌入式浏览器一般作为应用程序,但当使用浏览器技术执行Java Script、提供对DSM-CC模块的支持,生成丰富高效的GUI界面时,就形成了中间件,这一技术使嵌入式浏览器的应用更加灵活有效。

   嵌入式浏览器技术正在蓬勃发展, 常见的浏览器可分为:

   (1)       开源浏览器:

   Mozila,功能很强但是体积庞大;

  Konqueror embedded,基于Qte,是一个不错的嵌入式浏览器;

   Dillo,使用GTK作为GUI平台开发的浏览器;

  View ML,支持X窗口系统和微软Windows平台,体积小,浏览速度较快。

   (2)       商业浏览器:

   Access Net front,来自日本浏览器大厂Access公司,全球应用最广泛的嵌入式浏览器;

   Open TV device mosaic,由全球领先的互动电视公司Open TV提供的优秀的嵌入式浏览器,基于最新的Web标准;

   Internet Explorer for WinCE,是IE的WinCE版,功能强大,但只能在WinCE上使用;

  iPanel,由深圳茁壮公司开发成功的相对实用化的成熟产品, 占用资源少,支持中日韩文。

    集成开源浏览器的一大优点是费用低廉,但是无法获得强大的技术支持;同时这些浏览器普遍没有针对数字电视进行优化,有些浏览器软件代码过于庞大,占用资源 过多,实用化程度不高且大都不支持中文。购买商业的嵌入式浏览器需要支付相当的费用,但却可以获得这些公司的技术支持,有利于缩短移植时间;同时这些浏览 器针对数字电视应用进行了专门的优化,适合集成在数字机顶盒中。

 

   四、嵌入式浏览器中间件集成原理

   集成嵌入式浏览器就是向嵌入式浏览器提供底层系统的支持,使其能在PSOS系统上运行。其按模块划分为:

   (1)       基础功能模块:

   基础功能模块包括内存管理、FLASH读写、调试输出等。这些是保证浏览器能正常启动、空转、关闭,对程序进行查错调试的根本基础。

   内存管理:一般浏览器只要求提供内存分配和内存释放函数。内存管理对浏览器而言相当重要,在保证函数提供正确功能的同时,可在函数内加调试语句,跟踪每一次分配的内存大小和地址。PSOS提供了方便的ANSI-C库,可直接使用。

   FLASH读写:浏览器有时会用到以保存配置或Cookies。由PSOS与硬件配合,提供此类函数。FLASH作用不大时,亦可用ram模拟。

    调试输出:由于硬件限制,调试输出有时可能是唯一的调试手段。浏览器一般会要求一个类似于printf的接口,PSOS可配合硬件驱动输出到串口、网口,或屏幕等。

    (2)       显示模块:

    显示模块提供输出到视频的显示支持,直接决定了用户能看到的最终效果。

   机顶盒的显示终端一般为电视,屏幕分辨率有限,浏览器会要求底层提供屏幕宽度和高度(以像素为计量单位)。

    现在很多浏览器支持8位调色板色彩甚至16位真彩色,有的支持在两种模式间切换。PSOS必须提供相应的模式支持,并将当前模式通知浏览器。
    
    在绘图输出部分,可提供视频显示缓冲区给浏览器直接操作,亦可提供绘图函数,依不同浏览器的需求而定。
    
    (3)       输入控制模块:
    
    浏览器必须提供交互式信息访问,常用的输入设备包括遥控器、硬件光标、键盘等。
    
    遥控器是机顶盒的标准输入设备,将遥控器的按键消息“翻译”成浏览器能识别的事件消息,然后利用浏览器提供的接口传递给浏览器处理。
    
    硬件光标、键盘不是必须的外部设备,PSOS可通过硬件驱动,直接或间接支持,如使用USB口。收到输入后,翻译给浏览器。
    
    遥控器按键有限,没有鼠标键盘往往不能实现浏览器所需的全部事件消息。这需要我们自己撰写一套针对遥控器的输入法,通过多个组合按键形成浏览器所需输入。

 
    (4)       DSM-CC 数据接收功能模块:
    
    如前所述,提供对DSM-CC模块的支持是嵌入式浏览器成为中间件的重要标志。机顶盒支持DVB标准,DSM-CC是其中重要的控制流。在浏览器的控制下,硬件进行DSM-CC码流的接收、过滤,将得到的数据提交浏览器解析。

此部分需提供:

·DVB数据通道创建、关闭功能;

·DVB数据通道过滤器(最好是硬件的)功能;

·数据接收函数回调。


    使用PSOS的机顶盒,这个部分的功能应当十分完善,依据浏览器的要求定制所需函数即可。

 
    (5)       多媒体模块:

    现在的网页大都支持多媒体特性,此模块提供图象多媒体信息的底层支持以更好地显示音频、视频等内容,或在浏览器中提供电视节目的视频音频播放支持。这不是 浏览器的基本功能,一般是为了使网页的内容更丰富,更生动,或方便的与电视节目交互,甚至以浏览器方式取代传统的电视节目频道方式。


    这里的接口复杂多变,没有一个统一的规范,需提供的接口从电视节目频道锁频播放到MPEG码流、MP3播放都有涉及,具体的实现程度由硬件、PSOS及浏览器功能决定。

 
    五、总结
    
    本文所论述的集成方案已在基于PSOS的机顶盒上实现。
    
    机顶盒实现嵌入式浏览器是必由之路,在优秀嵌入式浏览器大量涌现的现在,集成嵌入式浏览器并定制中间件服务无疑是最为有效的办法。PSOS嵌入式操作系统 开发平台为嵌入式浏览器的集成提供了极为优秀的环境,能大大降低开发人员的硬件底层开发的工作量。本文所述的基于PSOS的嵌入式浏览器集成同样适用于 Linux、VxWorks等其它嵌入式操作系统之上。

阅读(686) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~