APP下载

机顶盒软件中间件SI模块和MAPI模块的设计分析

2017-08-16何强

电子测试 2017年13期
关键词:中间件机顶盒软件

何强

(广东九联科技股份有限公司,广东惠州,516007)

机顶盒软件中间件SI模块和MAPI模块的设计分析

何强

(广东九联科技股份有限公司,广东惠州,516007)

机顶盒软件中间件的MAPI模块为硬件适配层,具有可移植性,可以提供上层对内存访问、实时操作系统、消息管理、设备驱动等接口,SI模块位于MAPI模块上,主要用来接收和管理SI表。文章首先对中间件SI模块和MAPI模块设计进行了分析,然后提出了集成测试方案,以期为同行业提供参考。

机顶盒软件;SI模块;MAPI模块设计;集成测试

0 引言

在机顶盒软件中间件中的SI模块是软件核心模块,利用SI模块可以对机顶盒中的业务信息进行处理,主要包括接收和管理SI表,为应用层提供查询接口。SI模块直接影响着是否可以完成频道的搜索,是否可以对音频节目和视频节目进行播放。而MAPI模块主要为不同的硬件层提供统一的接口当硬件平台发生变化后只需要对MAPI层的相关部分进行修改就可实现中间件的移植。

1 进行SI模块的设计

1.1 SI模块的设计目的和运行环境

(1)SI模块的设计目的

在机顶盒软件开发过程中SI设计中依然存在对应情况单一和接口设置不规范的现象,受此影响,使最终所传输的代码可读性大大降低,更会产生代码移植困难的问题。对此,应制定一套较为完整的解决方案。针对SI表的接收设计了多种可能接收的方案,与此同时,在完成数据接收之后应当对数据进行统一的管理和分析,之后将数据和分析结果上传到数据查询接口[1]。所以SI模块的设计目标是:向上运行能够充分满足多个地区和前端以及应用的多样化需求,而向下则能够在不同的硬件平台之上实现软件一致性和可移植性的发展。

(2)SI模块的运行环境

SI模块属于中间件中的一部分,它是在有关芯片硬件平台上实现的。测试运行环境即办公室的系统环境,其配置了三路视音频流和相应的各种表数据。另外,以CABL为基础实现数据的准确传输,在充分满足SI模块功能实现和测试的同时,可以在办公系统背景下,进行不同环境下的数据传输,并具有强大的稳定性和容错能力。

1.2 SI模块的框架设计

作为一个极为独立的子模块,SI将会对下层MAPI层数据的调用产生影响,并且为上层提供服务所必须的各种接口。该模块内部又可以划分为对象查询和管理以及表单接收、存储管理等多个部分,其情况和内部结构可参考图1。

图1 SI模块内部结构

1.3 SI模块功能的实现

由图1能够清楚地看出,SI模块由以下4个部分组成。

(1)基本信息模块。该模块的主要功能是进行搜台处理。按照频点搜索出表格数据,同时分析出视频与音频所播放的PID,并获得所播放节目的时间、名称等信息。

(2)对象查询模块。该模块中的节目查询对象结构图不但包含节目查询接口的成员函数,而且还包含服务器对应的事件查询接口的成员函数,这些函数全部供应用层调用。这些对象的成员函数具有一定的扩展性,如条件查询就可以提交到应用层进行处理。

(3)资源管理模块。该模块在接收到相关SI表之后,将会主动构建网络、配送等资源链接,其对对象模块的查询操作具有一定的辅助作用。

(4)SI表的接收和解析模块。该模块的主要责任是负责接收和解析SI表。

2 MAPI模块的设计

2.1 MAPI模块设计的原理性

MAPI层处在硬件层的上部,处在SI模块和文件系统模块等的下部。本模块的主要任务是封装硬件层的接口,并向上层模块提供统一接口[2]。若硬件平台出现变动,则只需改变MAPI层有关部分,而不需要改变MAPI层以上的其他模块,此对中间层的移植非常有利。

2.2 MAPI模块所处的运行环境

MAPI模块主要按照SI模块和文件系统模块等的功能要求,设计出与之对应的接口,并尽量兼顾到不同款式机顶盒硬件平台上的互动性和统一性。

2.3 MAPI模块的结构组成

MAPI模块是由以下这些模块组成的。

(1)OS模块,该模块也被称为操作系统模块,其除了负责封装硬件平台层所提供的作业、消息和记忆等操作外,还要向MAPI层之上的层提供操作。

(2)OSD显示模块,其主要提供OSD的初始化和调色板加载等操作。(3)TUNER模块,其主要负责状态查询和锁定频点等操作。(4)DEMUX模块,其主要负责管理多路分路器资源,同时负责接收数据。

(5)TIMER模块,该模块负责管理定时器的申请和删除。

(6)AV模块,该模块负责播放视频和音频,其中包括暂停播放、回放、音量的调整、静音处理以及提供AV状态查询。

(7)UI模块,该模块属于用户输入模块,其主要负责面板按键、遥控器按键和鼠标等的接收处理。

(8)CLOCK模块,该模块主要负责获得系统时钟,以及系统时钟的加和减的操作。

(9)EEPROM模块,主要负责读写EEPROM芯片的操作。

(10)INIT模块,该模块能将以上各模块的初始化函数集中在本模块中统一处理,因此还被称为初始化模块。为了便于代码的维护与移植,该课题中将全部的初始化操作均集中在这一模块中完成。

(11)TYPES模块,将以上所有模块的对外数据类型的定义统一在该模式中处理,能够便于代码的维护与移植。

3 SI模块和MAPI模块的集成测试

3.1 SI模块测试

SI模块主要包括SI接收解析测试模块、SI接收更新测试模块、频道搜索测试模块、信息查询测试模块。

(1)SI接收解析测试。SI接收解析测试主要是检查接收到的表格和前端发送的是否相同,检查接收到的表格是否正确。可以利用抓包工具将前端发送的数据记录下来,然后对比SI模块中接收到的表数据。如果一致,那么证明已实现了SI模块的接收解析功能。

(2)频道搜索测试。频道搜索测试指通过一个频点对节目信息进行搜索,并在链表中记录节目信息,需要时可从链表中获取节目信息数据。

(3)SI接收更新测试。此部分主要用来对SI表数据进行测试,如果S1可以及时接收前端更改表数据信息,并对节目链表进行及时修改,就证明这些表的数据及时、正确。完成更改后,当S1接收到的功能正确,会对下一个频点进行搜索,进而将最新的节目信息显示出来。

(4)信息查询测试。信息查询测试主要是对前端发送信息和测试信息的一致性进行测试。此部分主要包括Event信息、Service信息、Transport信息3个部分的测试内容。

3.2 测试MAPI模块的功能

MAPI模块主要有TYPE模块、OSD模块、EEPROM模块、UI模块、OS模块、TUNER模块、AV模块、INIT模块、CLOCK模块、DEMUX模块构成。不同的模块功能也有所不同,例如需要对音频节目和视频节目进行成功播放,需要通过对DEMUX模块进行调用后达到接收数据的目的。

4 结论

对机顶盒软件中间件的SI模块和MAPI模块的原理和设计进行了分析,并对该部分的集成测试进行了探讨,当需要增加机顶盒软件中间件应用功能时,可以直接通过对中间件提供的接口进行调用后达到增加该应用功能目的。

[1]赵岐.数字机顶盒的结构和技术发展趋势[J].世界电子元器件,2005(02):40-44.

何强(1987.04-),男,湖南常德人,本科,现从事网络产品、机顶盒相关开发工作。

Design and Analysis of SI Module and MAPI Module of Set Top Box Software Middleware

He Qiang
Unionman Technology Co.,Ltd.,Huizhou Guangdong,516007)

MAPI module STB software middleware for hardware adaptation layer, portability, can provide the upper access, real-time operating system, message management, device driver interface of memory, the SI module in MAPI module, mainly used to receive and manage the SI table. Firstly, the middleware SI module and the MAPI module design are analyzed, and then the integration test scheme is proposed, in order to provide reference for the same industry

set top box software; SI module; MAPI module design; integration testing

猜你喜欢

中间件机顶盒软件
禅宗软件
安全使用机顶盒注意五点
软件对对碰
RFID中间件技术及其应用研究
数字电视机顶盒软件自动测试系统的开发及应用
基于Android 平台的OSGi 架构中间件的研究与应用
有线电视高清数字电视机顶盒测试系统的构建
即时通讯软件WhatsApp
What is Apple Watch All About?
中间件在高速公路领域的应用