IPTV数字电视机顶盒的升级方案——设计及实现

发布时间:2010-11-14 阅读量:2905 来源: 发布人:

中心议题
    * 提出了一种IPTV数字电视机顶盒的升级方案
    * 给出了具体设计和实现
解决方案
    * 将Flash从逻辑上划分为引导区、升级分区、工作分区和备份分区
    * 直接对Flash的地址范围进行烧写

1 IPTV
数字电视机顶盒概述

IPTV机顶盒的软件系统是一种基于嵌入式操作系统的嵌入式软件系统。在实际使用中,为了解决软件中存在的问题,提高机顶盒运行性能,进一步扩展机顶盒的功能,需要对机顶盒的软件系统及时进行更新。由于终端产品数量巨大,分布分散,所以一般采用远程自动升级的方法。

目前用于机顶盒的在线升级方案中,Flash大多采取主、备分区的方式,当机顶盒断电造成工作于主分区的系统崩溃时,从备份分区直接进入升级系统,恢复主系统。这样做虽然节省了Flash空间,在一定程度上解决了机顶盒升级时断电造成系统崩溃的问题,但是仍然存在不足。如果在对Flash进行多次擦写后备份分区出现坏块导致不可用时,只要断电,整个系统就会崩溃,并且无法自我修复,用户便无法正常体验IPTV业务。笔者针对这点不足进行了改进,设计了一套具备自愈机制的升级方案,通过改良Flash空间分配和Linux系统引导加载程序,使用户在断电时不能自我修复的情况下仍能够正常体验IPTV业务。并且,对实现后的升级方案进行了有针对性的测试,验证了该升级方案的可靠性和稳定性。

2基于嵌入式LinuxIPTV数字电视机顶盒系统

该机顶盒以美国德州仪器(TI)公司提供的ARM嵌入式系统作为硬件平台,包括一个以ARM为内核的处理器、存储器、外部接口与设备以及一个DSP。其中,Flash存储器是一种可在线多次擦除的非易失性存储器,承载嵌入式系统中的主要数据和程序。

基于嵌入式Linux的机顶盒软件系统由以下部分构成:引导加载程序(boot load program)、Linux内核和文件系统。首先,系统加电复位后,处理器将执行存放在复位地址处的引导加载程序。通过它可以初始化硬件设备、建立或检测内存空间的映射图,为运行操作系统提供基本的运行环境,并将所选的操作系统内核装载到RAM中合适的位置上。接着,运行内核启动参数,装载必须的驱动。实际上,Linux内核仅包含了基本的硬件驱动,在系统安装过程中会检测系统硬件信息,根据安装信息和系统硬件信息将一部分设备驱动写入initrd中。这样在以后启动系统时,一部分设备驱动就放在initrd中来加载。当初始化开始后,执行系统初始化脚本,对系统进行基本的配置,挂载根文件系统及其他文件系统,并最终运行操作系统。

3 IPTV数字电视机顶盒系统软件升级方案设计

机顶盒加电或复位后,首先根据版本信息判断机顶盒系统是否需要升级,如需升级,应能对系统内核和文件系统进行自动更新。然后,将需要更新的文件系统生成映像文件后烧写到Flash中。当机顶盒出现断电、系统崩溃等异常情况不能正常升级时,需要解决机顶盒自我修复问题,对机顶盒进行紧急升级。当紧急升级不成功时,为了保证用户仍能够正常使用所有业务,需要将机顶盒还原到升级之前正常使用的工作状态,使用户仍能够体验IPTV业务。

为了保证机顶盒在软件升级时自动恢复,保证用户正常使用,该升级方案将Flash从逻辑上划分为引导区、升级分区、工作分区和备份分区。将系统引导信息存入引导区,将只具有升级功能的系统存放到升级分区,将包含升级功能和正常业务功能的系统存入工作分区,将升级成功后工作分区中的系统备份放入备份分区。在该机顶盒的Flash中,系统的空间安排方式如图1所示。

图1

Flash空间划分为不同功能的分区,每个区的大小应该是Flash擦除块大小的整数倍。各分区可以单独地操作,每个分区有唯一标识的相关信息,包括相对Flash基地址的偏移量和分区大小。因此,可以直接对Flash的地址范围进行烧写。在Flash中存放内核时,在内核内容的前面加一段标识有效性的值,加载内核时就能够判断出从指定地址读取的内核是否有效,如果无效,则在升级标志中使用内核无效标识。

系统加电或复位后,所有CPU都会从某个地址开始执行,这是由处理器设计决定的。ARM处理器在复位时从地址0x00000000取第1条指令。嵌入式系统的开发板都要把板上的ROMFlash映射到这个地址。因此,必须把引导加载程序存储在相应的Flash位置,系统加电后,CPU将首先执行这一步骤。初始化存储器系统是引导加载程序代码中的一个重要部分,许多操作系统在开始运行之前,希望了解存储器的组织情况。存储器系统初始化是通过软件设定FlashRAM存储器的地址范围以及数据总线宽度。初始化存储器系统部分代码如下:

程序段1

程序段2

 

机顶盒终端启动时,首先将引导区信息载入内存,并根据标志有效性的值判断升级分区、工作分区和备份分区中的系统是否正常。使用中通常包括以下情况:

1)当判断出工作分区中的系统正常时,使用该系统从升级服务器下载升级文件,更新工作分区中的内核和文件系统。接着,更新升级分区中的系统,成功后擦写标志位将其值置为有效。然后,将升级成功的系统备份到备份分区中,成功后擦写标志位将其值置为有效,完成升级。重启后,从工作分区进入系统。

2)当判断出工作分区中的系统被破坏,而升级分区和备份分区中的系统正常时,可以使用升级分区中的系统进行紧急升级,从升级服务器下载正常运行的系统镜像,更新工作分区中的内核和文件系统,成功后擦写标志位将其值置为有效。机顶盒自动重启,使用工作分区中的系统从升级服务器下载升级软件,更新工作分区中的内核和文件系统,并且更新升级分区中的系统,成功后擦写标志位将其置为有效。然后,将升级成功的系统备份到备份分区中,成功后擦写标志位将其置为有效,完成升级。如果用户不想升级,可以直接从备份分区运行系统,体验IPTV业务。这样做有效地解决了机顶盒断电时的自我修复问题,同时,在自我修复不成功时,还能够回退到上一次正常使用的状态,不需要维护人员干预。

3)当判断出工作分区和升级分区中的系统都被破坏时,可以从备份分区运行系统,将系统恢复到被破坏之前的使用状态,保证用户的正常使用。若要升级,可以使用该系统从升级服务器下载正常运行的系统镜像来更新工作分区中的内核和文件系统,擦写标志位。接着,更新升级分区中的系统,成功后擦写标志位将其值置为有效。然后,将工作分区中正常状态下的系统重新备份到备份分区中,完成升级。

从以上3种情况可以看出,Flash3个分区的系统构成了一套完整的自愈机制,保证了在各种情况下,机顶盒都能够完成自动升级,并且保证了用户总能够正常体验IPTV业务,因此该系统具有高可靠性和自我修复能力。

4 IPTV数字电视机顶盒系统的测试及分析

本方案采用交叉编译调试的方式,即编译调试环境建立在宿主机(即1PC机)上,开发时使用宿主机上的交叉编译工具链(包括编译、汇编及连接工具)来生成目标板上运行的二进制代码,然后把可执行文件下载到目标机上运行。本方案中,以装有RedHat Linux操作系统的主机作为宿主机,该宿主机上安装了交叉编译工具链unicore-linux-gcc,当编译成功后,通过串口板和USB线下载到机顶盒开发板上运行,通过视频线将视频信号接入电视机进行用户体验测试,通过宿主机上串口通信程序来监视机顶盒串口输出信息并可以输入一些控制命令测试系统启动信息。调试环境如图2所示。

图2

本测试方案的主要目的是进行针对性的测试,重点测试机顶盒断电后的自我恢复机制。通过对机顶盒正常升级时断电,恢复供电后,查看系统能否正常开启,能否重新升级。重新升级后,检查机顶盒配置页面中参数是否改变。若不能继续升级,则检查能否继续体验业务。然后进行多次断电、复位,检测本升级方案的稳定性和可靠性。图3为部分引导加载程序启动信息。

图3

测试结果表明,本升级方案很好地解决了机顶盒自我修复问题,并实现了安全稳定的在线升级。不足之处在于,机顶盒只能在复位时启动升级程序来检测升级,不能够实时检测并且在不影响用户使用的情况下后台安装升级文件。

5小结

笔者在现有的机顶盒在线升级方案基础上,重新设计了基于嵌入式Linux机顶盒的升级方案,对其可靠性和稳定性方面进行了改进。实际测试表明,本升级方案对解决用户体验问题非常安全和有效。下一步的工作是改进机顶盒的开机升级机制,加强其对实时性的支持,使用户在体验业务的同时进行自动升级。

相关资讯
Molex推出VersaBeam EBO光连接方案:以扩束光学技术重塑数据中心效率与可靠性

面对AI驱动下数据中心带宽需求的爆发式增长,Molex莫仕于2025年4月推出革新性VersaBeam扩束光纤(EBO)连接方案。该方案通过采用3M™ EBO插芯技术,扩展连接器间光束直径,显著降低对灰尘的敏感度,减少高达85%的清洁与维护时间,同时支持单模/多模光纤及高达144芯的高密度集成,助力超大规模数据中心实现“即插即用”部署。其设计突破传统连接器的弹簧力限制,简化安装流程,使技术人员无需专业技能即可快速完成可靠连接,为云计算、边缘计算及AI基础设施的扩容提供了兼具灵活性与成本效益的解决方案。

金升阳推出医疗级高可靠性DC/DC电源模块,为医疗设备打造“无忧电源”解决方案

在医疗领域,直接接触人体的电子仪器对电源安全性和可靠性的要求极为严苛。为满足医疗行业对电源的高标准需求,金升阳推出URH_P-3WR3、VRH_P-3WR3、URH_LP-15WR3、VRH_LP-15WR3系列DC/DC电源模块。该系列产品通过2xMOPP EN60601医疗认证和EN62368标准认证,具备8mm爬电距离与电气间隙、漏电流<5μA等核心安全特性,隔离电压高达4400VAC,并集成多重保护功能,致力于为医疗设备提供高可靠、低风险的电源保障,助力应对临床环境中的复杂挑战。

Abracon AVR系列组合式电感:驱动数据中心与AI服务器高效能电压调节的新引擎

在算力需求爆炸式增长的数字化时代,数据中心和人工智能(AI)服务器对电源管理的效率、稳定性和空间利用率提出了前所未有的挑战。Abracon推出的AVR系列组合式电感,凭借其高频磁芯设计、特殊线夹结构及超薄封装,为高压场景下的电压调节提供了创新解决方案。该系列电感通过优化磁芯材料和降低直流电阻(DCR),实现了高功率密度下的低热损耗与高效能输出,尤其适用于多相TLVR(Transinductor Voltage Regulator)拓扑结构,显著提升瞬态负载响应能力。其电感值范围55nH至680nH和高达155A的饱和电流特性,完美适配数据中心、云计算平台及AI/ML服务器的严苛需求,成为下一代高开关频率应用中的核心元件。

Littelfuse推出百万次寿命轻触开关PTS845系列:紧凑设计赋能高端电子设备升级

全球工业技术领导者Littelfuse(NASDAQ: LFUS)近日发布全新C&K开关PTS845系列侧面操作轻触开关,通过技术升级显著提升产品耐用性与工程适配性。该产品以微型化封装、百万次循环寿命及多场景兼容性为核心竞争力,助力工程师突破高密度PCB设计瓶颈。

创新光源引领未来:ROHM推出小型近红外LED实现业界超高光辐射强度

2025年3月,全球半导体领军企业ROHM(日本京都市)宣布成功开发出三款小型顶部发光型表贴近红外(NIR)LED系列产品,包含SML-P14RW、CSL0902RT等6款型号。该系列产品以1.0×0.6mm超薄封装(厚度仅0.2mm)与业界标准尺寸(1.6×0.8mm)双重形态,搭载850nm/940nm双波长选择,通过优化发光层结构实现同类产品1.4倍光辐射强度,功耗降低30%,为VR/AR眼动追踪、工业光学传感器及医疗级生物监测设备提供高精度、低能耗的光源解决方案。目前该产品已在日本、马来西亚及中国生产基地实现月产百万级量产,并通过Ameya360等平台开放采购。