CN1265206A - Ieee机顶盒设备驱动器 - Google Patents

Ieee机顶盒设备驱动器 Download PDF

Info

Publication number
CN1265206A
CN1265206A CN98807560A CN98807560A CN1265206A CN 1265206 A CN1265206 A CN 1265206A CN 98807560 A CN98807560 A CN 98807560A CN 98807560 A CN98807560 A CN 98807560A CN 1265206 A CN1265206 A CN 1265206A
Authority
CN
China
Prior art keywords
interface
channel
identifier
device driver
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN98807560A
Other languages
English (en)
Inventor
J·梅里克
C·德克勒克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canal Plus SA
Original Assignee
Canal Plus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canal Plus SA filed Critical Canal Plus SA
Publication of CN1265206A publication Critical patent/CN1265206A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40065Bandwidth and channel allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0012High speed serial bus, e.g. IEEE P1394

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Communication Control (AREA)
  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)
  • Selective Calling Equipment (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)
  • Small-Scale Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Eye Examination Apparatus (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

在广播数字电视系统的接收/译码器(2020)中使用的一种设备接口,其中的接收信号通过一个接收机传到接收/译码器再传到电视机(2022)。接收/译码器对压缩的MPEG信号译码,并且通过接收/译码器中的一个接口受遥控器手机(2026)的控制。接收/译码器的操作是由一个模拟机器(VM)来控制的,它包括一个运行时间工具(4008)。接收/译码器包括多个外部装置的接口。这种设备接口可以将RTE上运行的作业接入一个IEEE1394接口。

Description

IEEE机顶盒设备驱动器
本发明涉及到作业程序与(外围)物理设备的接口,特别是但是不仅限于数字电视系统的接收/译码器。
数字传输系统的发展已经提供了将这种系统用于其它用途的可能性。这其中之一就是为终端用户提供交互性。本文中使用的术语“数字传输系统”包括用来发送或是广播起初的视听或是多媒体数字数据的任何传输系统。尽管本发明是特指一种广播数字电视系统的应用,本发明也可以用于多媒体互连网应用的固定电信网络以及闭路电视等等。本文中使用的术语“数字电视系统”包括了诸如卫星,陆基,有线和其它任何系统。
本发明具体应用在一个广播数字电视系统中,其中的接收信号通过一个接收机传到接收/译码器再传到电视机。此处使用的术语“接收/译码器”包含了用于接收编码或是非编码信号的接收机,例如是电视和/或无线电信号,这些信号也可以是用某种其它手段广播或是发送的信号。这一术语还包含了用来对接收的信号译码的译码器。这种接收/译码器的实施例可以包括与接收机一体的译码器,用于对接收的信号译码,例如是一个“机顶盒”,这种译码器的功能与物理上分离的接收机相互组合,这种译码器也可以包括附加的功能,诸如网络浏览器,录像机或者是电视。
接收/译码器将压缩的MPEG信号译码成用于电视机的电视信号。通过也被称为机顶盒或是STB的接收/译码器中的一个接口用一个遥控器手机来控制接收/译码器。MPEG是指由International StandardsOrganisation工作组“Motion Pictures Expert Group”制订的数据传输标准,特别是但是不仅限于在文件ISO 13818-1,ISO 13818-2,ISO 13818-3和ISO 13818-4中提出的为数字电视应用而制订的MPEG-2标准。在本发明的应用范围内,这一术语包括了用于数字数据传输领域的MPEG格式的所有变更,修改或是发展。
提供上述交互性的一种途径是在用来接收电视信号的接收/译码器上运行一个作业。通常都希望能以一种透明的方式让各种作业与各种物理设备进行通信。我们的未决专利申请PCT/EP97/02115和PCT/EP97/02116中描述了这样的系统,可以用接收/译码器下载一或多项作业,并且与接收/译码器中的物理设备进行通信,例如是利用每个设备的设备驱动器和一个综合设备管理器的并行和串行接口以及智能卡读卡器。本文中所用的术语“智能卡”包括但是不仅限于任何基于芯片的卡式设备,或是具有类似功能和特性的实体,程序,例如是微型计算机和/或存储器装置。这一术语还包括另类实体的卡,例如是键盘式的设备,诸如TV译码器系统中经常使用的形式。
依照本发明提出的建议是为接收/译码器提供与其它视听设备进行通信的能力,例如是通过高速数字接口与数字录像机进行通信。新近制订的IEEE 1394标准提供了一种有前途并且灵活的接口协议,可以提供100Mbit/s以上的串行通信速率。
使用IEEE 1394接口时面临的一个问题是连接到总线上而不是接收/译码器上的设备有可能使接口总线复位或是改变其参数,这样就可能给作业带来问题。这可能会导致需要更大的存储器和处理能力来运行能够应付这种接口的更加复杂的作业。这样做就会增加每个接收/译码器的成本以及制作和调整这些作业的成本。
本发明的目的就是试图解决这种接口的接口设备所面临的问题。尽管本发明在用于接收/译码器与IEEE 1394或是类似接口的接口时具有最显著的优势,本发明仍然可以用于其它设备的接口,可以通过设备的外部控制来改变接口的参数。
本发明在第一方面提供了一种通过设备驱动器在一个作业和一个接口之间进行数据通信的方法,为接口的至少一个功能部件分配一个接口标识符,每个接口标识符在至少一次事件之后容易被改变,对于至少一个上述功能部件来说,该方法包括存储一个对应的逻辑标识符,向作业提供这种逻辑标识符,用来指导与设备驱动器和作业之间对应的功能部件相联系的通信,并且保持每个逻辑标识符和每个功能部件之间的对应,与分配给每个功能部件的接口标识符无关,从而使由一个给定的逻辑标识符来指导的作业与设备驱动器之间的通信随着为上述功能部件分配的对应的接口标识符的变化而与对应的给定功能部件保持联系。
按照这种方式,尽管接口标识符与功能部件的联系有可能随着时间而改变,仍可以使这种改变相对于作业是基本上透明的,这样就能简化作业。
接口与设备驱动器之间的通信是由每个设备标识符来指导的;这样就能便于与接口的通信。
可以仅仅为一或多个作业所规定的功能部件分配逻辑标识符。这样就能减少所需要的逻辑标识符的数量。
或者是可以用设备驱动器汇编出所有上述功能部件或是满足预定条件的所有功能部件的逻辑标识符和对应的接口标识符的一个目录,并且在每当增、减或是改变一个功能部件或者是改变任何一个接口标识符时更新这种目录。
尽管上述方法使作业不需要知道接口标识符,设备驱动器还是应该能根据需要为作业提供分配给一个逻辑标识符的接口标识符。这样做可以为系统测试提供特别的便利,因为它有可能让高级的作业确定接口和相应的设备驱动器是否在正常工作。
设备驱动器应该能够接受来自一项作业的请求,用至少一个逻辑标识符代替一个接口标识符来限定连接到总线上的物理设备之间的连接。这样可以便于由作业来管理连接。
作业应该能够通过设备管理装置与设备驱动器进行通信。采用设备管理装置能够对通信进行整体的控制,从而使多个作业与多个设备进行通信,不会发生冲突。
按照第一个最佳实施例,接口的至少一个上述功能部件包括连接到接口上的一个外围设备,而对应的接口标识符包括分配给这一外设的物理地址(有时也称为节点地址),这一逻辑标识符包括分配给这一外设的逻辑地址(也可将其称为逻辑外设标识符)。这样,即使改变了外设的物理地址(例如是随着另一个外设被连接到总线上并且将总线复位的情况下),使用给定的逻辑地址的一项作业还能与一个给定的外设(例如是一个数字录像机)连续地进行通信。
在这种情况下保持的对应关系最好包括询问每一个分配有逻辑地址的外设,随着诸如总线复位这样的每一次事件来确定分配给外设的物理地址。这样就能保证随着物理地址的任何变化来更新配置。
同样是在这种情况下,如果为给定的外设传送的接口标识符包括传送外设的物理(或是节点)地址并且还包括传送外设的另一个标识符,例如是包含用来识别外设的进一步信息的一个唯一的节点标识符,那将是非常有益的。用这一唯一的节点标识符可以识别外设的制造商和/或销售商和/或外设的型号,并且可以包括一个序号。唯一的节点标识符至少有四个字节,最好占8个字节。
按照本发明的第二实施例,接口的至少一个上述功能部件包括限定参数的信道,用于通过接口和相应的接口标识符构成接口信道编号(或是称为信道标识符),其逻辑标识符包括一个逻辑信道标识符。这样就不需要由作业来随时跟踪可能会发生变化的接口信道编号。信道应该是一种具有限定带宽的同步信道。
设备驱动器的配置应该能够接收作业的请求,分配一个限定参数的信道(例如是一个具有限定的最大带宽的信道),并且在分配成功时返回一个逻辑信道标识符。尽管作业不需要知道接口信道编号,但是,如果设备驱动器需要采纳优选的接口信道编号并且要分配有效的接口信道编号,或是要在优选的接口信道无效或者没有指定优选的接口信道时分配一个空隙信道,作业就需要知道接口信道编号。具备规定接口信道的能力可以便于用适当的作业对接口进行控制和测试,不要求所有作业都要识别接口信道编号。设备驱动器的配置应该能够接收一个优选接口信道的标识符,并且分辨出一个预定的密钥,用来代替一个有效的接口信道编号来规定没有优选的接口信道,并且在指定了其它无效的接口信道编号时向作业报告一个差错;这样做有助于对作业进行调试。
设备驱动器的配置还应该能够向作业传送接口信道编号,最好还能传送其它参数,这其中包括分配给该信道的至少一个最高速率,当前的有效速率,使用该信道的连接点(如果有)数量,以及使用该信道的每个连接点的标识符。这样就能用适当的作业来完善对传送的管理,不需要让所有作业都来处理使用该接口的这种参数。
最好是同时采用第一和第二实施例的方法,由设备驱动器接收来自作业的请求,参照逻辑地址和逻辑信道标识符来限定连接到接口上的外设之间的一或多个连接点。两种实施方案按照这种方式的组合具有叠加的优点,使作业能够建立连接,不需要保持跟踪有关外设的物理地址或是所连接的接口信道上的任何细节。设备驱动器的配置可以在具体的外设和广播连接点之间建立至少一个点对点的连接。
在例如总线复位这样的一个事件期间,接口参数有可能会发生变化,通信可能会中断。尽管设备驱动器在不请求作业输入的情况下可以处理某些事件,设备驱动器的配置还是应该能够向作业(如果需要这种作业)发出一或多个事件的信号,这些事件中至少包括一种总线复位(最好是以发信号开始到总线复位结束之间的独立事件),总线布局的变化,以及信道或是连接参数的变化。
本发明的第二方面提供了一种在作业和接口之间进行通信的设备驱动器,为接口的至少一个功能部件分配一个接口标识符,每个接口标识符在至少一次事件之后容易被改变,这种设备驱动器包括用来存储对应着各个接口标识符的至少一个逻辑标识符的装置,向作业提供用来指导与设备驱动器和作业之间的对应功能部件有关的通信的逻辑标识符的装置,以及用来保持每个逻辑标识符和每个功能部件之间的对应关系的装置,与分配给每个功能部件的接口标识符无关,让通过给定的逻辑标识符来指导的作业和设备驱动器之间的通信能够随着为功能部件分配的对应的接口标识符的变化而维持与对应的给定功能部件的关系。
设备驱动器可以用硬件来实现,例如是一种专用集成电路;这样可以提高操作速度。然而,最佳的设备驱动器至少有一部分是由软件来实现的,最好是在运行作业的处理装置上运行的软件;这样可以有更多的灵活性,需要更少的元件,并且更容易对设备驱动器进行更新。
本发明的第三方面提供了一种数据处理系统,它包括用于运行作业的运行时间工具,用来连接至少一个设备的接口装置,为接口的至少一个功能部件分配一个接口标识符,每个接口标识符在至少一次事件之后容易被改变,以及设备驱动装置,这种设备驱动装置包括用来存储对应着各个接口标识符的至少一个逻辑标识符的装置,向作业提供用来指导与设备驱动器和作业之间的对应功能部件有关的通信的逻辑标识符的装置,以及用来保持每个逻辑标识符和每个功能部件之间的对应关系的装置,与分配给每个功能部件的接口标识符无关,让通过给定的逻辑标识符来指导的作业和设备驱动器之间的通信能够随着为功能部件分配的对应的接口标识符的变化而维持与对应的给定功能部件的关系。
第一方面的最佳功能部件也可以用于第二和第三方面。
这种数据处理系统是在一个接收/译码器(例如是一个机顶盒)中实现的,它包括(通过卫星或是电缆)接收广播数据的装置,通过接口的配置来连接数字录像机或是数字显示装置或是计算机,用来显示或是存储至少一部分接收的数据。用设备驱动装置配合着设备对接收的数据流进行修改,将产生的经过修改的数据流提供给上述接口。
这种接口应该符合IEEE 1394标准或是这一标准的修改,再版或是变更。可以按照IEEE 1883标准传送数据。
本业务最好以一种翻译后的语言运作,而设备驱动器最好是编辑后的。
本发明最适合在接收/译码器中使用,可以通过IEEE 1394总线完成一项作业与数字录像机之间的通信。作业可以通过设备驱动器发送用来控制数字录像机的指令,以及/或是接收与存储在数字录像机上的信息有关的数据;按照这种方式,在接收/译码器上运行的一项交互式作业就能控制节目或是其他数据的记录和重放。数据通信采用MPEG格式(这其中包括了基本MPEG格式的任何修改和更新)的数据,但是也可以使用其他格式。
以下要参照附图通过举例的方式说明本发明的最佳特征,在附图中:
图1是接收/译码器的一个接口示意图;
图2是接收/译码器的功能框图;
图3中详细地表示了虚拟计算机和运行时间工具的一些部件;
图4是用来解释通过设备驱动器在一项作业和一个远程外设之间进行的通信流程的一个示意图;
图5是用来表示设备驱动器的一些部件的一个示意图。
在解释体现本发明的设备驱动器之前,首先简要说明一种新式的数字卫星接收/译码器平台的基本特征。
图1示意性地表示了在数字交互式电视系统中使用的一种接收/译码器2020或是机顶盒,在其中准备安装本发明的设备驱动器。在本申请人的共同未决专利申请PCT/EP02106-02117中公开了这种数字交互式电视系统的具体细节,上述文献在此引作参考。为了便于说明,在上述文献中已经详细说明的各部分统一采用了与这些文献中相同的标号。为了帮助理解设备驱动器的功能,以下总结了接收/译码器的基本配置。
按照上述文献中的详细说明,参见图1,接收/译码器2020包括若干个接口;具体讲是,用于MPEG信号流的一个调谐器4028,一个串行接口4030,一个并行接口4032,以及两个读卡器4036,其中一个用于系统组成部分中的智能卡,另一个用于银行卡或是其他(例如是用于付帐,在家处理银行事物等等)的智能卡。接收/译码器还包括连接到电视信号供应商的调制解调反向信道4002上的一个接口4034,用户可以向电视信号(节目)供应商指定喜欢的节目。接收机还包括一个Run-Time-Engine 4008,一个Device Manager 4068和用于运行一或多项作业4056的多个Device 4062。
为了便于说明,一项作业是指用来控制接收/译码器2020的高级功能的一段计算机代码。例如,当终端用户将一个遥控器的聚焦位置放在从电视机2022的屏幕上可以看到的一个按钮目标上并且按下有效键时,就开始运行与这一按键相应的指令序列。
交互式作业可以推荐菜单并且按照终端用户的要求执行指令,并且提供关于作业用途的数据。作业可以是驻留的,也就是存储在接收/译码器2020的ROM(或是FLASH或者是其他非易失性存储器)中的作业,或者是广播和下载到接收/译码器2020的RAM或是FLASH存储器中的作业。
在上述文献中详细描述了一些作业的例子,这些例子有:
·Initiating Application,它是一种适合用来收集让接收/译码器2020立即进入MPEG-2操作环境的模块。
·Startup Application,它可以使下载或是驻留的一切作业在接收/译码器2020上运行。
·Program Guide,节目向导是一种交互式作业,它可以提供关于节目的充分信息。
·Pay Per View Application,每次观看时付费的作业是数字TV供应在每个PPV频道上提供的一种交互式业务,让终端用户可以购买现有的节目。
·PC Download作业,终端用户可以用PC下载作业下载计算机软件。
·Magazine Browser作业,杂志浏览器作业包括一个循环播放的电视图象,通过屏幕上的按钮来引导终端用户。
·Teleshopping作业,出售物品的售价可以发送给接收/译码器2020并且显示在电视机2022上,让用户可以选购特定的物品。
作业以资源文件的形式被存储在接收/译码器2020的本地存储器中。按照上述文献中具体的解释,在资源文件中包括图形目标描述单元文件,可变块单元文件,指令序列文件,作业文件和数据文件。
在MPEG数据流中,每个模块包括一组MPEG表。每个MPEG表的格式可以有许多段。在MPEG数据流中,每个段的“大小”最多是4千字节。用来通过串行和并行端口传送数据,例如可以将模块划分成表和段,段的大小随着传送媒体而变。
模块在MPEG数据流中以数据包的形式进行传送,在诸如视频数据流,音频数据流和文字电视广播数据流等等各种类型的数据流中,典型的数据包是188字节。每个数据包前面是一个13位的PacketIdentifier(PID),在MPEG数据流中传送的每个数据包都有一个PID。一个节目图表(PMT表)中包含不同数据流的目录,并且按照各个PID来限定每个数据流的内容。PID可以向设备提示出现在数据流中的作业,PID是用PMT表来识别的。
译码器中包含的存储器被划分成一个RAM体,一个FLASH体和一个ROM体,但是这种物理组织还不同于逻辑组织。可以将存储器进一步划分成与各个接口相联系的存储体。从一方面来看,存储器可以被认为是硬件的一部分;从另一方面来看,又可以将存储器视为不同于硬件的一种支持或是包含了整个系统。
可以将系统视为集中在构成了虚拟计算机4007的一部分的运行时间工具4008上。它的一侧(“高级”侧)连接着作业,而另一侧(“低级”侧)通过各种中间逻辑单元连接着接收/译码器的硬件4061。接收/译码器硬件的概念包括了上述的各种端口或是接口(手机2026的接口2030,MPEG数据流接口4028,串行接口4030,并行接口4032,读卡器4036的接口,以及连接到调制解调反向信道4002上的接口4034)。
参见图2,各种作业4056被连接到单元4007;用4057表示的一些比较通用的作业可以或多或少地永久性驻留在系统中,而其它作业可以下载到系统中,例如根据需要从MPEG数据流或是其它端口上下载。
除了运行时间工具4008之外,单元4007还包括某些驻留的数据库4006,这其中包括一个工具盒4058。数据库中包含供工具4008使用的C语言的多种功能。这其中包括对数据结构的压缩,扩展或是比较以及绘图等等数据控制功能。间距库4006还包括关于接收/译码器2020中的硬件4061的信息,诸如硬件和软件版本号和有效的RAM空间,以及在下载一个新设备4062时使用的功能。下载到数据库中的功能可以存储在Flash或是RAM存储器中。
运行时间工具4008被连接到设备管理器4068,它被连接到一组设备4062,后者又连接到设备驱动器4060,再将驱动器连接到端口或是接口。概括地说,可以认为一个设备驱动器限定了一个逻辑接口,因此,两个不同的设备驱动器可以连接到同一个物理端口上。一个设备往往可以连接到一个以上的设备驱动器上;如果将设备连接到单个设备驱动器上,这种设备往往被设计成包括了通信所需的全部功能,因而不需要单独的设备驱动器。有些设备彼此之间可以相互通信。
如下文所述,从设备4062到运行时间工具的通信形式有三种:利用变量,缓冲器,以及提供给一组排队事件的事件。
接收/译码器2020的每一种功能都是由设备4062来体现的。设备可以是本地或是远程设备。本地设备4064包括智能卡,SCART连接器信号,调制解调器,串行和并行接口,MPEG视频和音频唱机,以及MPEG段和表的提取装置。在远距位置上执行的远程设备4066与本地设备的区别在于必须由系统管理机构或是设计人员限定其端口和程序,而不是由接收/译码器制造商所提供和指定的设备和设备驱动器来确定。
在产生一个新设备4062时,可以通过从广播中心下载有关的作业4056而将其安装到现有的接收/译码器2020中。下载是由接收/译码器2020中的作业4056来执行的,首先要检查硬件和软件版本,如果正确,就装载代表新设备4062的软件模块,并且调用数据库4006的一个程序,将新设备代码安装到操作系统内(装在Flash存储器中)。这样就能在接收/译码器2020内部为新功能提供灵活和安全的安装,不会影响到其它软件。
设备管理器4068是接收/译码器2020的作业4056与具体功能之间的一个公用软件接口。设备管理器4068控制着设备4062的存取,说明接收到的突发事件,并且管理共享存储器。
运行时间工具4008在微处理器和公用作业程序接口的控制下运行。在每个接收/译码器2020中都装有运行时间工具,因此,从作业的角度来看,所有的接收/译码器2020都是相同的。
工具4008在接收/译码器2020上运行作业4056,执行交互式作业4056并且从接收/译码器2020外部接收事件,显示图形和文本,调用服务设备,并且使用连接到工具4008上的数据库4006的功能来执行具体的运算。
运行时间工具4008是安装在每个接收/译码器2020中的一种可执行代码,并且包括用来中断和运行作业的一个中断器。工具4008适用于包括单任务操作系统(例如MS-DOS)在内的任何操作系统。工具4008的基础是程序定序器(它响应诸如按键等各种事件而执行各种动作),并且自身就包含用来管理来自不同硬件接口的事件排队的时间表。它还可以处理图形和文本的显示。程序定序器包括一组动作组。每个事件都会使程序定序器按照事件的字符从其当前的动作组转移到下一个动作组,并且执行新的动作组的动作。
工具4008包括一个为接收/译码器2020的存储器2028装载和下载作业4056的代码输入器。为了确保最佳的使用,仅仅将必要的代码装入RAM或是Flash存储器。下载的数据是经过鉴定机构修改的,以便防止对作业4056进行任何修改或是执行任何非法的作业。工具4008进一步包括一个解压器。由于为了节省空间并且为了从MPEG-2传输数据流中或是通过一种内置的接收/译码器模式快速下载而对作业代码(一种中间代码形式)进行了压缩,代码在装入RAM之前必须要经过解压。工具4008还包括一个用来中断作业代码的中断器,以便更新各种变量值并且确定状态的变化,以及一个差错检测器。
在使用任何设备4062的服务之前,必须提出一个作为“买方”的程序(例如是一个作业指令序列),也就是连接设备4062或是设备管理器4068的一个逻辑存取路径(access-way)。管理器提供给买方一个在设备的所有存取工作中使用的买方编号。一个设备4062可以有若干个买方,每一个设备4062的买方编号是根据设备4062的类型而规定的。用一个“Device_Open Channel”程序将买方介绍给设备4062。该程序为买方分配一个买方编号。用一个“Device_Close Channel”程序可以从设备管理器4068的买方目录中除去一个买方。
由设备管理器4068对设备4062的存取可以是同步或是异步的。同步存取方式使用一个“Device:Call”程序。这意味着存取的数据立即生效或是其功能性不包含对预期响应的任何等待。异步存取方式使用一个“Device:I/O”程序。这意味着数据存取中包含对响应的等待,例如是扫描调谐器频率,从中找出一种多重调谐,或者是从MPEG数据流中取回一个表。在需要的结果有效时,将事件排在工具的排队中表示事件的开始。另一个程序“Device:Event”表示管理器不可预料的事件。
如上所述,运行时间工具的主环联系着许多程序定序器,当主环遇到某一个事件时,就将控制临时转移到一个程序定序器。
参见图3,设备管理器包括一个排队100,在其中暂时存储来自各个设备的事件。虚拟计算机按照适当的间隔向这种排队发出一个信号,从中提取第一项。这一项事件被移入虚拟计算机中的一个排队结构101。按照事件的优先权等级将其插入5个排队0到4当中的适当位置。排队选择器102在运行时间工具的控制下从排队结构101中提取各项事件。
在选定了排队结构101中的一个事件时,就将其提供给程序定序器工具104,它是由一个程序定序器驱动器105和一组程序定序器106构成的。每个程序定序器是联系在一起的一组动作组,因此,从一个动作组到下一个动作组的每一个步骤主要取决于当前的动作组和事件的性质。不同的程序定序器具有不同的大小和复杂性,这其中包括“下一个”动作组,也就是系统响应一个事件而进展到的动作组,它仅仅取决于事件的性质,而与当前的动作组无关。另外,从程序定序器框的右手一侧可以看出,一个程序定序器有若干个拷贝,也就是若干个相同的程序定序器,以便通过单个端口用相同的协议来处理若干个独立的数据流。
在选定了一个事件时,就将其提供给适当的程序定序器。这是在程序定序器上从当前的动作组中选择适当的出口。这样就能选择适当的下一个动作组,并且执行这一动作组中的动作,这其中包括向设备管理器传送一个信息,或者是执行一个指令序列。程序定序器中的动作组还可以向其它程序定序器传送事件的信息。
如果选择了一个指令序列,就将这一指令序列的识别码传送给一个指令序列选择器107。这样就能从指令序列存储器108中获得需要的指令序列并且将其提供给指令序列中断器109去执行这一指令序列。
系统中还包括一个滤波器110,它是按照事件的种类从程序定序器106装载的。当一项事件从设备管理器的排队100中被提供给虚拟计算机中的排队结构101时,将其种类或是字符与滤波器110中的目录进行比较,如果不能识别出事件的种类,它就会被拒绝。这样做可以确保在设备管理器或是键盘所产生的某种事件不能被虚拟计算机所识别的情况下不会将这种事件提供给排队结构101。(如果将此类事件提供给排队结构101,这些事件就会被收入排队结构中,或者是可能造成程序定序器工具104发生故障)。
因此可以这样说,本发明中基本的接收/译码器框架具有明显的灵活性,可以完成作业与各种设备的通信。
IEEE 1394总线的设备驱动器
参见图4,按照上述方案操作的IEEE 1394总线驱动器便于在作业和连接到IEEE 1394总线上的一个诸如数字录像机的外设之间进行通信。
比较直接地由作业来控制的普通的串行和并行接口在例如用于存储MPEG实时数据时的高速数据通信往往不够快。下述的设备驱动器结合了许多新的功能部件,可以让作业高效地访问IEEE 1394总线,并且可以由一个比较简单的作业来控制连接到总线上的一个诸如数字录像机的设备。
设备驱动器可以被视为是由许多功能单元构成的,作业可以通过下述的指令单独存取这些功能单元。每个指令通过在设备管理器4068的控制下运行的一个设备4062利用其他设备通用的上述三种标准程序之一完成与一项作业的接口。可以利用参数表在作业和设备驱动器之间传送信息。为了便于参考,以下简要说明了这三种基本程序。
1)Device:Call.作业可以用这个指令执行同步指令或是数据传送。执行的作业被延缓到设备驱动器完成操作并且恢复控制时为止;这样就能可靠地控制那些必须按照严格的顺序来执行的操作。
2)Device:I/O.这一指令允许异步操作。作业可以发送一个数据传送请求或是要求设备驱动器执行一种特定的功能,并且在数据传送或是执行设备驱动器的功能的同时继续执行作业。
3)Device:Event.这一事件收集功能可以让设备驱动器向作业发出事件的信号,并且让作业响应这一事件而采取具体的动作,与作业在发出事件信号时执行的代码无关;有效地中断作业。事件可以具有优先权。事件可以用来发出发生在接口上的诸如总线复位等等的信号。
以下要说明在体现本发明的设备驱动器中提供的指令。作业可以通过Device:Call或是Device:I/O提供一个作为参数的指令标识符来存取每一个指令。并不需要提供下述的所有指令,而指令的功能也是可以改变的。尽管可以根据需要独立地提供或是改变指令,以下要描述由指令的功能性组合而获得的一些技巧。
指令是按照每个指令所具有的特征和功能来说明的,对于一个作业来说,同时还有选择和优化的特征。按照给定和说明的信息,本领域的技术人员就可以直接实现这些特征,因此将具体的细节留给了实践者。例如,每个指令都可以用软件实现,最好是用C语言写成的软件,并且应该能够在运行作业的同一个处理器上运行;然而,设备驱动器可以在一个独立的处理器上运行,并且有些或是全部的指令都可以用专用的硬件来实现。设备驱动器可以使用Call或是I/O指令通过设定存储在其地址已经被提供给设备驱动器的存储器中的参数表中的值向作业发出信息信号或是提供参数。
以下描述的指令功能有时候要依赖设备驱动器所执行的某些基本功能,例如,为了处理逻辑外设标识符和逻辑信道标识符,用来维持逻辑外设标识符和逻辑信道标识符的各个表的设备驱动器安装装置令这些表与其对应的接口功能部件(分别是物理地址或是接口信道编号)彼此相符。另外,在发生诸如总线复位这样的事件时,设备驱动器可以确定新的物理地址和信道编号并且对这些表进行更新,使得作业比较容易地完成这种过渡。
此外,设备驱动器当然还包括用来与接口实际进行通信的装置,并且执行诸如存储器分配和解除分配等等必要的整理工作。在图5中表示了一些此类的功能。这些功能的细节是由具体使用的实际硬件来决定的,本领域的技术人员根据本说明书的指导再参照IEEE 1394标准文件(本文参考了其中的内容)中的适当部分就可以直接实现这些细节,因而在此不再描述。
Command:Bus 1394 Set
这个指令允许由作业来设置基本接口参数,设置需要分配的数据接收缓冲器的大小以及在通过接口传送异步指令时可以使用的通信再试次数。这些参数可以是预置的,并且省去这一指令,但是提供这一指令可以便于优化对不同作业的通信。尽管这些参数完全可以用异步方式来设置,但是最好还是通过Call方法来访问这一指令,因此,仅仅在已经产生了设备参数之后才会执行后续的作业指令。如果设备驱动器正在接收来自外设的数据,该指令就应该向作业发出一个差错信号。
Command:Bus 1394 Info
这个指令向作业返回关于总线布局的基本信息。因为没有严格的时间限制,最好是通过IO指令进行异步的存取。
最好是让这一指令和所有或是至少某些异步指令能够通过响应(或是一个代码,例如是表示没有最大时间的零)所需要的最大时间(例如是ms级的时间);以便使设备驱动器能够优先提出请求。
最好用这一指令返回关于由总线管理的最大数据速率的信息,在发生呼叫时刻(在此时认为总线上的连接已经完成)的有效数据速率,实际连接到总线上的外设数量及其对应的逻辑标识符(参见下文),以及在呼叫时可供使用的逻辑信道。
对于IEEE 1394总线来说,为连接到总线上的每个外设分配一个可以随时间而变的物理地址。
尽管这一指令的具体方案已经选定了,还希望设备驱动器能保留一个逻辑地址表(也称为逻辑外设标识符),它对于每个外设是不变的(针对给定作业的给定对话;在接收/译码器复位时可以改变这种逻辑地址),因此,在每次执行时,作业可以用单个逻辑地址唯一并且明确地识别出一个对应的外设。分配给信道的信道编号也是可以改变的,因此,设备驱动器直接通过在适当的表中查找数据就可以响应一个信息请求。
关于信道有效性的信息最好是采用二进制形式的位图,最好有8字节的信息,其中的每一位代表着64个逻辑信道之一的有效性(例如一个“0”表示该信道已经被分配了,而一个“1”表示该信道可供使用)。
Command:Bus 1394 Info Periph
该指令被用来接收代表逻辑外设标识符的参数,并且返回一个与分配给接口上的外设的物理地址相对应的二-字节物理地址(也被称为节点ID),并且还应该能返回一个8字节的唯一节点标识符,它应该能唯一地识别出外设的地理位置,或者是至少识别出外设的卖主或型号。这样就能让具有适当技巧的作业能够根据识别到的具体外设的信息来确定设备的具体能力。
指令应该能够在接口不能实际连接到功能性的IEEE 1394总线或者是逻辑外设标识符无效时(例如是大于一个预定的最大值63)发出一个差错信号,并且在总线复位未决时也发出一个信号,以及在不知道具体的逻辑外设标识符或是设备不能在规定的时间之内作出响应的情况下发出差错信号。
采用Device:I/O.程序可以异步地访问这一指令,利用一个参数块提供表示完成或是失败的信号。
Command:Bus 1394 Alloc Channel
这一指令被用来接收对信道的分配请求,最好是规定具体要求的通信速率以及需要使用的接口信道。可以用一个预定的代码(例如是OFFh)来表示没有特定的接口信道,在这种情况下或是在需要的接口信道被占用的情况下,设备驱动器分配一个有效的信道。
如果成功了,指令就返回一个分配的逻辑信道标识符,并且在使用上述Command:Bus_1394_Info_Periph指令的情况下发出一个差错信号,或者是在没有有效的信道或者请求的数据速率高于最大有效速率时发出差错信号。
在设备驱动器的简化实施例中,例如是使用有限数量的信道,可以省掉这一指令以及下述的两个指令,其代价是丧失了某些灵活性。
采用Device:I/O.程序可以异步地访问这一指令,利用一个参数块提供表示完成或是失败的信号。
Command:Bus 1394 Info Channel
这一指令被用来向作业返回关于具体的逻辑信道特性的信息。用这一指令返回分配给信道的最大速率(Kbit/s)在呼叫的时刻通过信道的有效速率,真实的信道标识符(也就是由接口而不是设备驱动器分配的信道标识符),使用该信道的连接点数量,以及使用该信道的每个连接点的逻辑标识符。
指令应该能在不能分配具体的信道编号时,在出现无效的标识符的情况下,在总线复位未决的情况下,或是在接口没有完成连接的情况下发出差错信号。
采用Device:I/O.程序可以异步地访问这一指令,利用一个参数块提供表示完成或是失败的信号。
Command:Bus 1394 Free Channel
这一指令断开规定作为一个参数的逻辑信道的连接(但是最好不要解除对连接标识符的分配),从而开放一个通信信道。指令是异步操作的,并且利用一个事件使通信的信号仍然等待在选定的信道中。
Command:Bus 1394 Open Connect
这一指令被用来接收代表一个逻辑信道标识符的请求,它还包括一个连接类型,并且根据规定的连接类型在两个设备之间或是一个广播输入或输出连接之间完成点对点连接的初始化。如果规定了点对点的连接,还必须向设备驱动器提供两个外设的逻辑外设标识符。尽管采用物理地址和接口真实信道编号也可以操作这一指令的各种变形,根据逻辑参数的操作方式仍然具有能够简化上述作业操作的优点。
如果成功了,这一指令就返回一个逻辑连接标识符。
简化的实施例可以省略用来限定有待确定的点对点连接的功能;在典型的作业中可能只有一个设备,例如是连接到总线上的一个数字录像机,因此,只有广播连接就足够了。
在设备驱动器的某些实施例中,打开一个特定的连接可能还会自动地触发接收/译码器内部的其它信号路径。例如,打开广播信号的连接可能会自动断开多路分解器输入的前端,这样,多路分解器就能有效地处理通过IEEE 1394总线接收到的输入数据。
这一指令在达到了最大连接数量时或者是在涉及到其它指令的上述其它情况下应该能够发出一个差错信号。
采用Device:I/O.程序可以异步地访问这一指令,利用一个事件提供表示完成或是失败的信号。
Command:Bus 1394 Close Connect
这一指令接收一个逻辑连接标识符,停止通信的连接,然后开放其连接标识符供再次使用。
如果信号在打开连接时在接收/译码器内部自动地循环,设备就应该在关闭连接或是在关闭最后一个有关的连接时重新存储连接的原有状态。例如,在关闭最后的广播连接时可以将多路分解器输入重新连接到前端。
采用Device:I/O.程序可以异步地访问这一指令,利用一个事件提供表示完成或是失败的信号。
Command:Bus 1394 List Connect
这一指令返回一个在呼叫时可供使用的仅仅包含译码器本身的有效连接目录,采用的目录形式最好是包括连接的数量以及每个连接的逻辑连接标识符和一个用来表示连接类型(点对点,广播输入,广播输出)的标志。
如果仅仅需要简单的连接,在简化的实施例中就可以省去这一指令和/或以下的指令。然而,如果有一个以上的作业可以同时使用设备驱动器,提供这些指令可以让作业不仅能够监视其本身以及完成的连接,还可以监视由其它作业产生的连接,并且能监视是否有任何连接已经被意外地关闭了。
这一指令最好是通过Device:Call程序进行同步存取,因为连接是频繁变化的,而一个作业可以会试图用过时的信息来控制通信,或者是需要询问来自设备驱动器的响应。
Command:Bus 1394 Info Connect
这一指令接收一个逻辑连接标识符并且返回用来完成连接的逻辑信道编号。该指令还可以返回连接类型的指示,并且在点对点连接的情况下返回有关外设的逻辑地址。
对于List_Connect指令来说,指令的存取采用同步方式。
Command:Bus 1394 Reset
这一指令被用来初始化一个总线复位程序,或者是在总线复位正在进行时返回一个差错信号。作业可以利用这一指令在复位之后马上开始控制IEEE 1394总线,并且采用同步存取方式。设备驱动器可以通过下述的一个事件发出总线复位完成的信号。
Command:Bus 1394 Send FCP
这一指令可以省略或是按照不同的方式来执行。下述的例子说明用来在IEEE 1394总线上异步传送数据的方式。
这一指令接收一个参数块,这其中包含准备作为指令或是响应以异步方式传送给IEEE 1394总线上的一个外设的信息。参数块中应该包含信息类型的指示,应该分配给一个响应的缓冲器容量,指定外设的逻辑外设标识符,信息的长度,以及信息本身。
该指令应该能指示出成功传送,或者是当传送在预定的重试次数之内没有成功或是在使用上文中所述的Info Periph指令时汇报一个差错。
由于可能有大量的数据需要传送,该指令应该采取异步存取方式,以便在晶体管导通时连续地执行作业。
如果规定了一个预定的逻辑外设标识符,例如是63,该指令就应该向所有外设广播一个信息。
在设备驱动器的简化实施例中,这一指令可以被用来传送固定长度例如是32字节的信息,这一长度足以向数字录像机传送一个指令。
设备驱动器应该能够同时接收和发送多个请求,并且同时作出多种响应。然而,简化的实施例可能仅仅提供单一顺序请求的能力。
除了这些指令可以让作业向设备驱动器传送指令之外,设备驱动器也可以通过设备管理器的事件处理功能向作业发出事件的信号。设备驱动器执行以下的事件:-
Ev Bus 1394 Rcv FCP
这一事件表示从外设接收到一个FCP帧,并且提供一个包含源外设逻辑地址,信息的类型,长度和内容的参数块。
Ev Bus 1394 Channel
这一事件表示信道分配和解除分配,并且提供一个表示已分配信道的目录,该目录是按照上文关于Info指令所述的二进制方式编码的。
Ev Bus 1394 Config
这一事件表示外设连接或是断开,并且提供一个包含连接外设数量及其逻辑地址的目录。
在接口上与此有关的变化和前述的Channel事件必须受到设备驱动器的监视,即使设备驱动器不向作业提供这种事件的信号,也要不断地更新在逻辑和接口标识符之间对应的表。
Ev Bus 1394 Connect
这一事件被用来发出连接断开的信号,并且向作业提供一个连接断开的逻辑标识符,并且还要提供一个目录,在目录中包含关于被断开的连接的进一步信息,其格式与上述的Info_Connection指令相似。
Ev Bus 1394 Lo Events
这一事件可以表示一或多个低级接口差错,例如是外设占用总线时间过长,数据或CRC差错,意外的事物,未知的信道编号或是事物代码等等。这一事件对于调试工作是非常有用的,在设备驱动器的简化实施例中可以省略。
Ev Bus 1394 Hi Events
这一事件可以表示一或多个高级总线状态,这其中至少包括总线复位的开始和结束之一(最好是都包括),以及诸如电缆电源故障,总线的检测循环等等事件,或者是设备驱动器本身在经过多次重试之后无法恢复的重大差错。
Ev Bus 1394 Off
这一事件可以用于设备驱动器内部的差错信号,例如是没有可用于存储接收到的信息的缓冲器。
上述的指令和事件仅仅是为了说明,而本发明是可以用各种途径来实现的,特别是有些指令可以和其他执行类似功能的指令加以组合,或是在简化实施例中可以省去某些指令。在各个指令之间和一个指令内部的每一种功能的硬件和软件实施方案都可以自由组合;硬件实施方案操作比较快并且不占用处理能力,而软件实施方案更容易更新。显而易见,由硬件,计算机软件等等执行的各种功能同样可以用电或是类似的信号来执行。软件实施方案可以存储在ROMFLASH中或是嵌入FLASH中。
本发明的上述说明仅仅是一些例子,在本发明的范围内完全可以对其细节进行各种各样的修改。
在说明书和(适当的)权利要求及附图中公开的每一个特征都可以是独立的或是以任何方式加以组合。

Claims (46)

1.通过设备驱动器在一个作业和一个接口之间进行数据通信的方法,为接口的至少一个功能部件分配一个接口标识符,分配给功能部件的接口标识符在至少一次事件之后容易被改变,该方法包括:
为至少一个上述功能部件,存储一个对应的逻辑标识符;
向作业提供这种逻辑标识符,用来指导与设备驱动器和作业之间对应的功能部件相联系的通信;并且
保持每个逻辑标识符和每个功能部件之间的对应,与分配给每个功能部件的接口标识符无关,从而使由一个给定的逻辑标识符来指导的作业与设备驱动器之间的通信随着为上述功能部件分配的对应的接口标识符的变化而与对应的给定功能部件保持联系。
2.按照权利要求1的方法,其特征是接口与设备驱动器之间的通信是根据每个接口标识符来指导的。
3.按照前述权利要求之一的方法,其特征是包括将满足预定条件的所有功能部件的逻辑标识符和对应的接口标识符汇编成一个目录。
4.按照前述权利要求之一的方法,其特征是设备驱动器根据需求向作业传送分配给一个逻辑标识符的接口标识符。
5.按照前述权利要求之一的方法,其特征是设备驱动器接受来自一项作业的请求,用至少一个逻辑标识符代替一个接口标识符来限定连接到总线上的物理设备之间的连接。
6.按照前述权利要求之一的方法,其特征是作业通过设备管理装置与设备驱动器进行通信。
7.按照前述权利要求之一的方法,其特征是接口的至少一个上述功能部件包括连接到接口上的一个外围设备,而对应的接口标识符包括分配给这一外设的物理地址,这一逻辑标识符包括分配给这一外设的逻辑地址。
8.按照权利要求7的方法,其特征是保持的对应关系包括询问每一个分配有逻辑地址的外设,随着一次总线复位确定分配给外设的物理地址。
9.按照权利要求4或7或8的方法,其特征是为给定的外设传送接口标识符的步骤包括传送外设的物理地址,并且还包括传送包含用来识别外设的进一步信息的一个唯一的节点标识符。
10.按照前述权利要求之一的方法,其特征是接口的至少一个上述功能部件包括一个限定参数的信道,用于通过接口和相应的接口标识符构成接口信道编号,其逻辑标识符包括一个逻辑信道标识符。
11.按照权利要求10的方法,其特征是由设备驱动器接收作业的请求,分配一个限定参数的信道,并且在分配成功时返回一个逻辑信道标识符。
12.按照权利要求10或11的方法,其特征是设备驱动器采纳优选的接口信道编号并且分配有效的接口信道编号,如果优选的接口信道无效或者没有指定优选的接口信道,就分配一个空隙信道。
13.按照权利要求10,11或12的方法,其特征是用设备驱动器接收一个优选接口信道的标识符,并且分辨出一个预定的密钥,用来代替一个有效的接口信道编号来规定没有优选的接口信道,并且在指定了其它无效的接口信道编号时向作业报告一个差错。
14.按照权利要求10,11,12或13之一的方法,其特征是设备驱动器向作业传送接口信道编号以及从以下选出的至少一个其它参数:分配给该信道的最高速率;当前的有效速率;使用该信道的连接点(如果有)数量,以及使用该信道的每个连接点的标识符。
15.按照前述任何一项权利要求的方法,其特征是设备驱动器接受来自作业的请求,参照逻辑地址和逻辑信道标识符来限定连接到接口上的物理设备之间的一或多个连接点。
16.按照前述任何一项权利要求的方法,其特征是用设备驱动器建立至少一个广播连接。
17.按照前述任何一项权利要求的方法,其特征是由设备驱动器向作业发出一或多个事件的信号,这些事件主要包括总线复位(最好是在复位开始和结束时),总线布局的变化,以及信道或是连接参数的变化。
18.在作业和接口之间进行通信的设备驱动器,为接口的至少一个功能部件分配一个接口标识符,每个接口标识符在至少一次事件之后容易被改变,这种设备驱动器包括:
用来存储对应着各个接口标识符的至少一个逻辑标识符的装置;
向作业提供用来指导与设备驱动器和作业之间的对应功能部件有关的通信的逻辑标识符的装置;以及
用来保持每个逻辑标识符和每个功能部件之间的对应关系的装置,与分配给每个功能部件的接口标识符无关,让通过给定的逻辑标识符来指导的作业和设备驱动器之间的通信能够随着为功能部件分配的对应的接口标识符的变化而维持与对应的给定功能部件的关系。
19.按照权利要求18的设备驱动器,其特征是设备驱动器是用软件实现的,可以由运行每一个作业的处理装置来执行这种软件。
20.按照权利要求18或19的设备驱动器,其特征是设备驱动器汇编出满足预定条件的所有功能部件的逻辑标识符和对应的接口标识符的一个目录。
21.按照权利要求18到20之一的设备驱动器,其特征是包括根据需求向作业传送分配给一个逻辑标识符的接口标识符的装置。
22.按照权利要求18到21之一的设备驱动器,其特征是包括接受来自一项作业的请求的装置,用至少一个逻辑标识符代替一个接口标识符来限定连接到总线上的物理设备之间的连接。
23.按照权利要求18到22之一的设备驱动器,其特征是接口的至少一个上述功能部件包括连接到接口上的一个外围设备,而对应的接口标识符包括分配给这一外设的物理地址,这一逻辑标识符包括分配给这一外设的逻辑地址。
24.按照权利要求23的设备驱动器,其特征是询问每一个分配有逻辑地址的外设,随着一次总线复位确定分配给外设的物理地址。
25.按照权利要求21和23或24的设备驱动器,其特征是为给定的外设传送接口标识符的装置包括用来传送外设物理地址的装置,并且还包括传送包含用来识别外设的进一步信息的一个唯一的节点标识符的装置。
26.按照权利要求18到25之一的设备驱动器,其特征是接口的至少一个上述功能部件包括一个限定参数的信道,用于通过接口和相应的接口标识符构成接口信道编号,其逻辑标识符包括一个逻辑信道标识符。
27.按照权利要求26的设备驱动器,其特征是包括信道分配装置,用来接收作业的请求,分配一个限定参数的信道,并且在分配成功时返回一个逻辑信道标识符。
28.按照权利要求27的设备驱动器,其特征是信道分配装置采纳优选的接口信道编号并且分配有效的接口信道编号,如果优选的接口信道无效或者没有指定优选的接口信道,就分配一个空隙信道。
29.按照权利要求27或28的设备驱动器,其特征是用信道分配装置接收一个优选接口信道的标识符,并且分辨出一个预定的密钥,用来代替一个有效的接口信道编号来规定没有优选的接口信道,并且在指定了其它无效的接口信道编号时向作业报告一个差错。
30.按照权利要求26,27,28或29的设备驱动器,其特征是包括向作业传送接口信道编号的装置,并且传送从以下选出的至少一个其它参数:分配给该信道的最高速率;当前的有效速率;使用该信道的连接点(如果有)数量,以及使用该信道的每个连接点的标识符。
31.按照权利要求18到30之一的设备驱动器,其特征是包括接受来自一项作业的请求的装置,参照逻辑信道标识符来限定连接到接口上的物理设备之间的一或多个连接点,并且在请求限定一种点对点的连接时参照外设的逻辑地址。
32.按照权利要求18到31之一的设备驱动器,其特征是包括用来根据作业的请求建立至少一个广播连接的装置。
33.按照权利要求18到31之一的设备驱动器,其特征是包括向作业发出一或多个事件信号的装置,这些事件主要包括总线复位(最好是在复位开始和结束时),总线布局的变化,以及信道或是连接参数的变化。
34.一种数据处理系统,它包括:
用于运行作业的运行时间工具;
用来连接至少一个设备的接口装置,为接口的至少一个功能部件分配一个接口标识符,每个接口标识符在至少一次事件之后容易被改变:以及
按照权利要求18到33之一所述的设备驱动装置。
35.在一种接收/译码器中实现的按照权利要求34的数据处理系统,其特征是包括用来接收广播数据的装置,通过接口的配置来连接数字录像机或是数字显示装置或是计算机,用来显示或是存储至少一部分接收的数据。
36.按照权利要求35的接收/译码器,其特征是用设备驱动装置配合着其他设备驱动装置来修改接收的数据流,产生一个提供给上述接口的修改的数据流。
37.按照权利要求35或36的接收/译码器,其特征是接口符合IEEE1394标准或是这种标准的变形。
38.按照权利要求35,36或是37的接收/译码器,其特征是用一种中断语言来运行上述作业,并且对设备驱动器进行汇编。
39.按照权利要求35,36,37或是38的接收/译码器,其特征是用设备驱动器发送来自作业的用来控制数字录像机的指令,以及/或是接收与存储在数字录像机上的信息有关的数据。
40.按照权利要求39的接收/译码器,其特征是传送的数据中包括MPEG格式的数据。
41.在具有用来运行作业的运行时间工具和可以连接到至少一个外设的一个IEEE 1394接口的接收/译码器中使用的一种设备驱动器,每个外设能够具有分配给它的单独的物理地址,接口能够提供至少一个通信信道,每个信道具有分配给它的单独的一个真实的信道标识符,分配给每个信道的真实的信道标识符和分配给每个外设的地址在总线复位之后有可能发生变化,设备驱动器的配置可以便利在作业和IEEE1394接口之间进行通信,这种设备驱动器包括:
用来存储对应着各个外设的至少一个逻辑地址以及用来存储对应着各个真实信道的至少一个逻辑信道标识符的存储装置;
用来向作业提供逻辑地址,用于指导设备驱动器与作业之间的通信的装置;
信道分配装置,用来接收作业的请求,分配一个通信信道,如果一个适当通信信道是有效的,就分配这一有效的适当通信信道,并且向作业提供一个逻辑信道标识符,从而指导设备驱动器与作业之间的通信;
连接分配装置,用来接收来自作业的请求,利用由上述逻辑标识符识别到的信道在连接到接口上的外设之间分配一种连接,并在可能的情况下分配一种连接,如果在外设之间需要有一种点对点的连接,就采用上述逻辑地址来识别外设;
外设识别装置,用来接收来自作业的一个请求,识别出对应着给定逻辑地址的外设,并且响应这种逻辑地址而连通相应外设的物理地址,并且连通一个包含了用来识别外设的进一步信息的唯一的节点标识符;
发出事件信号的装置,用来向作业发出包括接口总线复位在内的多种事件之一的信号;以及
信道识别装置,用来接收来自作业的一个请求,识别出对应着给定的逻辑信道标识符的一个信道,并且相应地连通对应信道的接口信道标识符,以及连通至少另一个信道参数,该参数用来指示指示一个最大分配信道带宽和当前有效的信道带宽;
用信道分配装置接收一个优选的真实信道的标识符,如果优选的真实信道优选,就分配这一信道,如果优选的真实信道无效或者是在优选的真实信道标识符中有一个预定的密钥代替了有效的整数信道标识符,就分配一个空隙信道,并且在优选的信道标识符对应着一个无效的真实信道标识符而不是预定的密钥时向作业报告一个差错。
42.一种接收/译码器包括用来接收广播数据的装置;用来运行至少一个作业的运行时间工具;用来连接至少一个外部设备的IEEE 1394接口装置;以及按照权利要求41的设备驱动器,用来将每一个作业连接到IEEE 1394接口装置,以及用来将接收的数据传送给IEEE 1394接口的装置。
43.基本上如参照附图所述的一种数据通信方法。
44.基本上如参照附图所述的一种设备驱动器。
45.基本上如参照附图所述的一种数据处理系统。
46.基本上如参照附图所述的一种接收/译码器。
CN98807560A 1997-07-24 1998-07-23 Ieee机顶盒设备驱动器 Pending CN1265206A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97401793A EP0893765A1 (en) 1997-07-24 1997-07-24 IEEE 1394 Set Top Box device driver
EP97401793.1 1997-07-24

Publications (1)

Publication Number Publication Date
CN1265206A true CN1265206A (zh) 2000-08-30

Family

ID=8229823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98807560A Pending CN1265206A (zh) 1997-07-24 1998-07-23 Ieee机顶盒设备驱动器

Country Status (22)

Country Link
US (1) US6966063B1 (zh)
EP (2) EP0893765A1 (zh)
JP (1) JP4105382B2 (zh)
KR (1) KR100559158B1 (zh)
CN (1) CN1265206A (zh)
AT (1) ATE253752T1 (zh)
AU (1) AU741471B2 (zh)
BR (1) BR9810806A (zh)
CA (1) CA2296337C (zh)
DE (1) DE69819507T2 (zh)
ES (1) ES2206957T3 (zh)
HR (1) HRP20000039A2 (zh)
HU (1) HUP0004817A3 (zh)
ID (1) ID24447A (zh)
IL (1) IL134145A (zh)
NO (1) NO319201B1 (zh)
NZ (1) NZ502917A (zh)
PL (1) PL338243A1 (zh)
RU (1) RU2226710C2 (zh)
TR (1) TR200000179T2 (zh)
WO (1) WO1999005603A1 (zh)
ZA (1) ZA986604B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020044656A1 (en) * 1999-10-13 2002-04-18 Brant L. Candelore Interfacing a conditional access circuit to a digital device using input and output stream switching
AU3752100A (en) * 1999-03-30 2000-10-16 Sony Electronics Inc. Interfacing a conditional access circuit to a digital device using input and output stream switching
JP2002094472A (ja) * 2000-05-30 2002-03-29 Matsushita Electric Ind Co Ltd データ取得装置及びその方法
FI20002124A (fi) * 2000-09-27 2002-03-28 Nokia Corp Kanavaominaisuuksien muuttaminen
JP2002290853A (ja) 2001-03-22 2002-10-04 Canon Inc テレビジョン放送受信装置およびテレビジョン放送受信方法およびテレビジョン放送受信プログラム
US7690017B2 (en) * 2001-05-03 2010-03-30 Mitsubishi Digital Electronics America, Inc. Control system and user interface for network of input devices
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
GB0224705D0 (en) 2002-10-24 2002-12-04 Zarlink Semiconductor Ltd Digital television convertor
PL361715A1 (en) * 2003-08-18 2005-02-21 Advanced Digital Broadcast Ltd. Integrated digital tv decoder
US8205235B2 (en) * 2003-11-14 2012-06-19 Sharp Laboratories Of America, Inc. Systems and methods for representing a tuner device in a media server content directory service
US7970968B2 (en) 2004-03-25 2011-06-28 Sony Corporation Apparatus and method for controlling plural functional blocks using common command
US8249071B2 (en) 2004-03-26 2012-08-21 Harman International Industries, Incorporated Audio related system communication protocol
JP4574253B2 (ja) 2004-07-09 2010-11-04 キヤノン株式会社 画像処理装置及びその制御方法
EP1796388A1 (en) * 2005-12-12 2007-06-13 Advanced Digital Broadcast S.A. Smart card with data storage, set-top box, portable player for operating smart card with data storage and method for manufacturing smart card with data storage
US8010849B2 (en) * 2006-09-05 2011-08-30 Arm Limited Diagnosing faults within programs being executed by virtual machines
US20080218581A1 (en) * 2007-03-06 2008-09-11 Midas Tsai Network audio/video communication system, comunication device and operation and audio/video data processing method for the same
US8590028B2 (en) 2007-07-09 2013-11-19 Infosys Limited Content licensing and conditional access using a mobile device
JP5178429B2 (ja) * 2008-09-25 2013-04-10 キヤノン株式会社 制御装置及び制御方法
WO2013163574A1 (en) * 2012-04-26 2013-10-31 Joy Mm Delaware, Inc. Controlled area lighting for mining environments
CN103517026A (zh) * 2012-06-29 2014-01-15 深圳市快播科技有限公司 多屏适配器、多屏适配器的遥控方法及系统
US20160006793A1 (en) * 2014-07-04 2016-01-07 Boe Technology Group Co., Ltd. Osd subject file obtaining and providing method and device, updating system
US11611549B2 (en) * 2019-10-03 2023-03-21 Fset Inc System and method of securing access to a secure remote server and database on a mobile device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3611588B2 (ja) * 1992-12-21 2005-01-19 ソニー株式会社 送信方法、受信方法、通信方法及び双方向バスシステム
US5815678A (en) * 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
US6393496B1 (en) * 1995-11-09 2002-05-21 Curtis A. Schwaderer Operating system and network independent application program interface for use in an intelligent communication device
US5787259A (en) * 1996-03-29 1998-07-28 Microsoft Corporation Digital interconnects of a PC with consumer electronics devices
US5815675A (en) * 1996-06-13 1998-09-29 Vlsi Technology, Inc. Method and apparatus for direct access to main memory by an I/O bus
US5883621A (en) * 1996-06-21 1999-03-16 Sony Corporation Device control with topology map in a digital network
US6219703B1 (en) * 1996-10-31 2001-04-17 Motorola, Inc. Method and apparatus for constructing a device management information base in a network management station
BR9714603A (pt) 1997-03-21 2000-05-16 Canal & Societe Anonyme Empres Sistema de controle de acesso
AU740740B2 (en) 1997-03-21 2001-11-15 Canal+ Societe Anonyme Data processing system
US6286054B2 (en) * 1997-10-27 2001-09-04 Flashpoint Technology, Inc. Method and system for supporting multiple capture devices

Also Published As

Publication number Publication date
CA2296337A1 (en) 1999-02-04
ID24447A (id) 2000-07-20
NO20000319D0 (no) 2000-01-21
JP2001511558A (ja) 2001-08-14
EP0996894B1 (en) 2003-11-05
PL338243A1 (en) 2000-10-09
DE69819507D1 (de) 2003-12-11
KR100559158B1 (ko) 2006-03-10
HUP0004817A3 (en) 2003-02-28
KR20010022198A (ko) 2001-03-15
ES2206957T3 (es) 2004-05-16
AU741471B2 (en) 2001-11-29
HRP20000039A2 (en) 2000-08-31
JP4105382B2 (ja) 2008-06-25
IL134145A (en) 2004-07-25
NZ502917A (en) 2001-08-31
CA2296337C (en) 2008-07-15
DE69819507T2 (de) 2004-09-23
BR9810806A (pt) 2000-09-12
NO319201B1 (no) 2005-06-27
WO1999005603A1 (en) 1999-02-04
ATE253752T1 (de) 2003-11-15
EP0893765A1 (en) 1999-01-27
EP0996894A1 (en) 2000-05-03
RU2226710C2 (ru) 2004-04-10
IL134145A0 (en) 2001-04-30
HUP0004817A2 (hu) 2001-05-28
NO20000319L (no) 2000-03-24
TR200000179T2 (tr) 2000-06-21
US6966063B1 (en) 2005-11-15
ZA986604B (en) 1999-03-16
AU8353398A (en) 1999-02-16

Similar Documents

Publication Publication Date Title
CN1265206A (zh) Ieee机顶盒设备驱动器
CN1158856C (zh) 数字式传输流处理
US7984478B2 (en) Method and apparatus for a receiver/decoder
CN1372662A (zh) 运行和测试应用程序
US8001208B2 (en) Information processing apparatus
KR100926202B1 (ko) 프로그램 치환 방법 및 프로그램 치환 장치
JP2002290853A (ja) テレビジョン放送受信装置およびテレビジョン放送受信方法およびテレビジョン放送受信プログラム
AU2002334278A1 (en) Method and apparatus for a receiver/decoder
RU2181929C2 (ru) Извлечение секций данных из транслируемого потока данных
US20060290775A1 (en) Program execution apparatus and execution method
CN1146227C (zh) 多媒体终端设备和数字信号处理方法
JP2009521159A (ja) 高度双方向テレビ応答経路
JP2001518256A5 (zh)
KR100505518B1 (ko) 데이터통신시스템,데이터통신방법,데이터수신기및데이터수신방법
US20070192471A1 (en) Apparatus for playing media and method of setting resources thereof
CN1158842C (zh) 配置接收机/译码器来接入数据的方法和设备
JP2004104415A (ja) 受信装置
EP1589755B1 (en) Receiver of analogue and digital television signals and method of receiving analogue and digital signals
CN1373970A (zh) 用于测试应用程序的装置及其方法
CN1188790C (zh) 调制解调器的控制方法及设备
CN1125561C (zh) 电视系统中管理服务数据的方法和装置
CN1373966A (zh) 防止由于把更新的程序或数据下载到机顶终端而使其功能中断的方法和设备
US7917936B2 (en) Digital broadcasting receiving apparatus and method for upgrading software thereof
CN1322432A (zh) 具有可变管理指令集的应用程序管理器
NZ500205A (en) Common interface between applications and computer components

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication