快速开机中CI模块的处理方法和数字接收终端与流程

文档序号:18179763发布日期:2019-07-17 05:08阅读:517来源:国知局
快速开机中CI模块的处理方法和数字接收终端与流程

本公开涉及数字信息技术领域,特别涉及一种快速开机中CI模块的处理方法和数字接收终端。



背景技术:

随着数字技术的发展,各种数字接收终端被使用,以逐渐取代传统电视而获得高质量的画面和音质,例如,数字电视一体机。

为了提升用户体验,达到快速开关机的目的。通常的做法是,待机时RAM并不掉电,继续保存着所有进程的上下文环境,各线程运行的状态以及各个变量的值都继续保存着,相当于所有的程序处于一种暂停的状态,待机唤醒时,例如loader, kernel,launcher等都不需要重新启动,能够缩短开机时间,即所谓的快速开机str功能(suspend to ram)。

但是,现有的快速开机功能是在非DTV(Digital Television,数字电视)通道下实现的,而并无法在DTV通道下实现。

在DTV通道下,即数字接收终端中存在着CI模块,作为外部设备的CAM卡将与之相配合,来实现解码和播放功能。随着数字接收终端被唤醒而进行的快速开机过程中,CI模块重新上电,此时,由于发现与之配合的CAM卡已经插入,则不会进行其初始化过程,进而导致CI模块在数字接收终端完成快速开机时并无法正常工作。



技术实现要素:

为了解决相关技术中存在的数字接收终端的快速开机实现中CI模块无法主动完成初始化,进而无法正常工作的技术问题,本公开提供了一种快速开机中CI模块的处理方法和数字接收终端。

一种快速开机中CI模块的处理方法,包括:

待机状态的数字接收终端被唤醒时,生成CI模块中卡移出的消息;

根据所述CI模块中卡移出的消息更新硬件初始化标志;

根据所述硬件初始化标志在数字接收终端的快速开机中触发进行CI模块的初始化。

一种数字接收终端,包括:

消息获得模块,用于待机状态的数字接收终端被唤醒时,生成CI模块中卡移出的消息;

标志更新模块,用于根据所述CI模块中卡移出的消息更新硬件初始化标志;

初始化触发模块,用于根据所述硬件初始化标志在数字接收终端的快速开机中触发进行CI模块的初始化。

一种数据接收终端,所述数字接收终端包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置:

待机状态的数字接收终端被唤醒时,生成CI模块中卡移出的消息;

根据所述CI模块中卡移出的消息更新硬件初始化标志;

根据所述硬件初始化标志在数字接收终端的快速开机中触发进行CI模块的初始化。

本公开的实施例提供的技术方案可以包括以下有益效果:

数字接收终端处于待机状态,在自身被唤醒时,生成CI模块中卡移出的消息,根据CI模块中卡移出的消息进行硬件初始化标志的更新,由此根据硬件初始化标志在数字接收终端的快速开机中触发进行CI模块的初始化,在快速开机中完成了CI模块初始化,进而能够在数字接收终端快速开机后正常工作。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种装置的框图;

图2是根据一示例性实施例示出的一种快速开机中CI模块的处理方法的流程图;

图3是图2对应实施例的待机状态的数字接收终端被唤醒时,生成CI模块中卡移出的消息步骤的流程图;

图4是根据一示例性实施例中对在数字接收终端根据自身设置的快速开机功能开启状态进行快速开机时,根据硬件初始化标志调用硬件初始化接口步骤的流程图;

图5是CI模块正常工作流程的示意图;

图6是一示例性实施例中数字电视一体机在快速开机过程中CI模块的初始化实现示意图;

图7是根据一示例性实施例示出的一种数字接收终端的框图;

图8是图7对应实施例的消息获得模块的框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种装置100的框图。例如,装置100是本公开所示的数字接收终端,例如,数字电视一体机、机顶盒等。

参照图1,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。

处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,以方便多媒体组件108和处理组件102之间的交互。

存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器118执行,以完成上述图2、3和图4任一所示方法中的全部或者部分步骤。

电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。

多媒体组件108包括在所述装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

音频组件110被配置为输出和/或输入音频信号。在一些实施例中,音频组件110包括一个扬声器,用于输出音频信号。

传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。

通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

图2是根据一示例性实施例示出的一种快速开机中CI模块的处理方法的流程图。该快速开机中CI模块的处理方法用于图1所示的数字接收终端。如图2所示,该快速开机中CI模块的处理方法,可以由数字接收终端执行,可以包括以下步骤。

在步骤210中,待机状态的数字接收终端被唤醒时,生成CI模块中卡移出的消息。

其中,可以理解的,快速开机功能是指唤醒处于待机状态的数字终端的功能,以使处于待机状态的数字接收终端快速进入正常工作状态。

也就是说,数字接收终端在关机时,将进入待机状态,即RAM(Random-Access Memory,随机存取存储器)并不掉电,继续保存着所有进程的上下文环境,各线程运行的状态和各个变量的值都继续保存着,相当于所有的程序处于暂停的状态。

一方面,待机状态的数字接收终端被唤醒时,其系统运行之前所需要运行的各种程序,例如,loader、kernel和launcher等都不需要重新启动,由此即可缩短开机时间。

另一方面,也将生成CI模块中卡移出的消息,以便于触发进行CI模块的初始化,进而保证数字接收设备的快速开机过程中能够实现CI模块的有效控制,进而保证随着快速开机过程的完成。

在此,首先需要说明的是,DTV通道下,例如,数字电视场景中,CI模块具有很强的硬件依赖性,所以在进入待机状态时,CI模块断电;在被唤醒时,CI模块重新上电,此时,由于发现CI模块所配合的卡已经插入,所以CI模块并不会主动进行初始化过程。

而在正常情况下,为实现CI模块的正常工作,则在每次断电后上电,都需执行其自身的初始化过程,否则将无法正常工作。

在此可以清楚地看到,在数字接收终端中应用快速开机功能时,将会由于CI模块而无法实现,并且其关键在于CI模块无法主动进行初始化。

基于此,为实现数字接收终端被唤醒而执行快速开机过程中CI模块的初始化,需要生成CI模块中卡移出的消息。CI模块中卡移出的消息用于向应用层通知底层硬件中卡的拔出。

在步骤230中,根据CI模块中卡移出的消息更新硬件初始化标志。

其中,硬件初始化标志是数字接收终端所存储的静态变量,该硬件初始化标志用于记录是否进行了CI模块的初始化。

根据CI协议,在物理层所对卡所标示的状态为移出状态,即disconnected时,如果检测到卡的插入,将进行初始化过程,并在初始化成功时设置物理层的状态为卡插入状态,即connected。

也就是说,只有在移出状态下才会进行CI模块的初始化,而在卡的插入状态下则不会进行CI模块的初始化。

因此,在生成CI模块中卡移出的消息之后,还需要根据此消息进行硬件初始化标志的更新,进而便于应用层能够获知当前物理层中的卡是处于移出状态的,并且也未进行CI模块的初始化。

换而言之,通过硬件初始化标志这一静态变量的设置和存储,即可实现数字接收终端中CI模块的初始化控制,进而使得数字接收终端所进行的快速开机不再存在CI模块无法正常工作的缺陷,真正改善了数字接收终端的性能,且实现起来非常简单。

在步骤250中,根据硬件初始化标志在数字接收终端的快速开机中触发进行CI模块的初始化。

其中,如前所述的,在CI模块中卡移出的消息的作用下,硬件初始化标志中记录了CI模块仍未进行初始化,因此,可在数字接收终端的快速开机中触发进行CI模块的初始化。

通过如上所述的过程,在数字接收终端的快速开机过程中进行了CI模块的初始化,进而使得数字接收终端中不再由于CI模块的因素而无法实现DTV通道下的快速开机功能,由此将使得数字接收终端能够具备真正的快速开机功能。

图3是一个示例性实施例中对步骤210的细节进行的描述。该步骤210,可以包括以下步骤。

在步骤211中,在待机状态的数字接收终端被唤醒时,通过CI模块的驱动生成CI模块中卡移出的消息。

其中,CI模块的驱动作为一硬件接口,是识别卡,例如,CAM卡这一硬件的指令程序。通过CI模块的驱动,将检测得到卡的插入或者移出,并根据此生成相应的消息,比如CI模块中卡移出的消息。

具体实现中,对于CAM卡而言,如果检测到两个pin脚(管脚)都处于高电平(或低电平)时,假设两个pin脚都处于高电平的时候认为卡插入,其它情况则判定为卡移出,但无论如何,CI模块的驱动都在自身所在的数字接收终端被唤醒时生成CI模块中卡移出的消息。

在步骤213中,通过CI模块的驱动上报CI模块中卡移出的消息。

其中,生成的CI模块中卡移出的消息被CI模块的驱动上报至应用层的线程中,例如,卡插拔动作检测线程。

对于应用层的线程,如,卡插拔动作检测线程,其在接收到CI模块中卡移出的消息时,还将此状态上报,以供应用对此状态进行显示,进而方便用户了解情况。

一示例性实施例中对步骤230的细节进行描述。该步骤230可以包括以下步骤。

通过轮询线程根据CI模块中卡移出的消息对存储的硬件初始化标志进行更新,在硬件初始化标志中记录CI模块未初始化。

其中,轮询线程是数字接收终端中用于依序询问CI模块是否需要其服务的线程。在获得上报的CI模块中卡移出的消息之间,轮询线程将对存储的硬件初始化标志更新为false,以记录CI模块未初始化。

一示例性实施例中对步骤250的细节进行描述。该步骤250可以包括以下步骤。

在数字接收终端根据自身设置的快速开机功能开启状态进行快速开机时,根据硬件初始化标志调用硬件初始化接口,该硬件初始化接口用于进行硬件模块的初始化。

首先需要说明的是,快速开机功能的是否开启,即数字接收终端是处于快速开机功能开启状态,还是快速开机功能关闭状态,都是根据存储的快速开机功能状态决定的。

换而言之,快速开机功能状态被存储,即,存在在数字接收终端自身的存储芯片中,如eeprom,以便于随时更新和读取。快速开机功能状态包括了快速开机功能开启状态和快速开机功能关闭状态,可通过用户在数字接收终端中进行的自定义设置实现并存储。

具体的,可通过数字接收终端自身显示的菜单界面中快速开机功能的开关,用户可以自行设置,以得到相应的快速开机功能状态,并在eeprom中会存储该快速开机功能状态,进而方便随时读取,以获取用户的设置。

数字接收终端将根据自身设置的快速开机功能开启状态进行快速开机,在此过程中,还在记录了CI模块未初始化的硬件初始化标志的作用下,调用硬件初始化接口,触发进行CI模块初始化。

在此过程,通过两个条件来实现数字接收终端中CI模块的初始化,其中,一条件为数字接收终端处于快速开机功能开启状态,另一条件为硬件初始化标志记录了CI模块未初始化,在满足这两个条件时调用硬件初始化接口,进而通过这一简易的方式使得数字接收终端能够真正实现快速开机,即真正在DTV通道下的快速开机。

图4是一示例性实施例中对在数字接收终端根据自身设置的快速开机功能开启状态进行快速开机时,根据硬件初始化标志调用硬件初始化接口步骤的细节进行描述,该步骤可以包括以下步骤。

在步骤301中,读取存储的快速开机功能开启状态。

其中,如前所述的,可从存储芯片,比如eeprom所存储的用户设置中读取快速开机功能开启状态。

在步骤303中,根据快速开机功能开启状态发现数字接收终端自身的快速开机功能,且硬件初始化标志记录CI模块未初始化。

其中,通过数字接收终端自身快速开机功能的发现和硬件初始化标志记录的CI模块未初始化,来获知当前满足了进行CI模块初始化的条件,此时,调用硬件初始化接口,以发起数字接收终端中CI模块的初始化过程。

在步骤305中,调用硬件初始化接口。

在一个示例性实施例中,CI模块的初始化成功后,将硬件初始化标志修改为true,即记录CI模块成功初始化。

以该数字接收终端为数字电视一体机,CI模块中适配的卡为CAM卡为例,结合具体应用场景,描述该快速开机中CI模块的处理方法。

首先需要阐述的是CI模块正常工作流程,即如图5所示,在数字电视一体机开机时,随着CI模块中CAM卡的加电,将按照CI协议进行CI模块的初始化。

具体的,在物理层的状态为空闲态,即Phsy_state=idle时,将试图进行数据的读写,如步骤410,如果在物理层对卡所标示的状态为移出状态,即物理层对卡所标示的状态Phys_state=disconnected时,调用硬件初始化接口以运行初始化模块,即Iitmodule,如步骤420,并在运行成功之后物理层对卡所标示的状态变换为卡插入状态,即Phys_state=connected。

在CI模块中无卡时,Phys_state=connected被修改为Phys_state=disconnected。

基于此CI模块的工作流程,应用本公开的方案来修改CI模块进行初始化的过程,如图6所示,在CI模块的工作流程基础上,通过所框选出来的部分,即区域510,来实现数字电视一体机在快速开机过程中CI模块的初始化。

具体的,在快速开机功能,如图6中简称的Str(Suspend to ram)功能打开时,数字电视一体机被唤醒,CI模块的驱动上抛CI模块中卡移出的消息,轮询线程将硬件初始化标志置为false,如步骤511和步骤512。

发现有Str功能,并且硬件初始化标志为false,则调用initmodule,以进行CI模块的初始化,如步骤513。

初始化成功后,物理层对卡所标示的状态变换为卡插入状态,即Phys_state=connected。

此时,数字电视一体机一方面完成了快速开机,另一方面,也完成了CI模块初始化,进而实现DTV通道下的快速开机。

在此需要说明的是,由于CI模块未成功初始化而导致了CAM卡读取数据出错,进而使得物理层对卡所标示的状态变换为卡移出状态,即disconnected,此时,便能够检测到CAM卡插入,进而实现CI硬件初始化。

从此过程来看,确实可以通过读写数据失败的发生而将物理层状态置为卡移出状态,从而再次去检测到CAM卡插入,实现初始化。

但此过程存在着弊端,一方面的,通过读写错误来发现CAM卡的不存在,本身是一不正常的流程,这通常用于CAM卡有损坏时的一种补救措施。

并且由于CI协议分为多层,各层之间相互关联,容易导致由于时序问题引发的各种错误,因此,并无法通过此方式来实现快速开机中CI模块的初始化。另一方面的,此远程并无法真实的反映CAM卡的物理层状态。

下述为本公开装置实施例,可以用于执行本公开上述数字接收终端执行的快速开机中CI模块的处理方法。对于本公开装置实施例中未披露的细节,请参照本公开快速开机中CI模块的处理方法实现例。

图7是根据一示例性实施例示出的一种数字接收终端的框图,该数字接收终端执行图2所示的快速开机中CI模块的处理方法的全部步骤。如图7所示,该数字接收终端包括但不限于:消息获得模块710、标志更新模块730和初始化触发模块750。

消息获得模块710,用于待机状态的数字接收终端被唤醒时,生成CI模块中卡移出的消息。

标志更新模块730,用于根据CI模块中卡移出的消息更新硬件初始化标志。

初始化触发模块750,用于根据硬件初始化标志在数字接收终端的快速开机中进行CI模块的初始化。

上述装置中各个模块的功能和作用的实现过程具体详见上述快速开机中CI模块的处理方法中对应步骤的实现过程,在此不再赘述。

可选的,如图8所示,消息获得模块710包括但不限于:消息生成单元711和消息上报单元713。

消息生成单元711,用于在待机状态的数字接收终端被唤醒时,通过CI模块的驱动生成CI模块中卡移出的消息。

消息上报单元713用于从CI模块的驱动上报CI模块中卡移出的消息。

可选的,标志更新模块730进一步用于通过轮询线程对存储的硬件初始化标志进行更新,在硬件初始化标志中记录CI模块未初始化。

可选的,初始化触发模块750进一步用于在数字接收终端根据自身设置的快速开机功能开启状态进行快速开机时,根据硬件初始化标志调用硬件初始化接口,硬件初始化接口用于进行CI模块的初始化。

可选的,本公开还提供一种数字接收终端,该数字接收终端执行图2、图3和图4任一所示的快速开机中CI模块的处理方法的全部或者部分步骤。所述装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行:

待机状态的数字接收终端初始唤醒时,生成CI模块中卡移出的消息;

根据CI模块中卡移出的消息更新硬件初始化标志;

根据硬件初始化标志在数字接收终端的快速开机中触发进行CI模块的初始化。

该实施例中的装置的处理器执行操作的具体方式已经在有关该快速开机中CI模块的处理方法的实施例中执行了详细描述,此处将不做详细阐述说明。

在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介指例如包括指令的存储器204,上述指令可由装置200的处理器218执行以完成上述快速开机中CI模块的处理方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1