CN101529381A - 用于面向对象的硬件的系统和方法 - Google Patents
用于面向对象的硬件的系统和方法 Download PDFInfo
- Publication number
- CN101529381A CN101529381A CNA2007800398144A CN200780039814A CN101529381A CN 101529381 A CN101529381 A CN 101529381A CN A2007800398144 A CNA2007800398144 A CN A2007800398144A CN 200780039814 A CN200780039814 A CN 200780039814A CN 101529381 A CN101529381 A CN 101529381A
- Authority
- CN
- China
- Prior art keywords
- module
- interface
- data
- signal processing
- fifo
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title description 8
- 238000012545 processing Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 208000019300 CLIPPERS Diseases 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 210000000467 autonomic pathway Anatomy 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000009428 plumbing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种可互连的模块(18-62)的系统,所述模块可以用来构建消费电子子系统和产品。家族特征被包括以便易于建立和控制。使用公共的接口在模块间传递数据,从而易于数据流的路由和配置。
Description
技术领域
本发明一般地涉及用于面向对象的硬件的系统和方法。
背景技术
通常通过将复杂的任务分解为小的任务来解决它。在软件中,这被称为面向对象的设计。对象被定义为具有功能性的自包含(self contained)模块。
今天数字产品设计(例如,数字电视的设计)的方法集中于考虑片上系统使集成最大化。在此认识到,硬件复杂度导致长的研制周期,可能为节约单元成本而牺牲灵活性。到芯片准备好的时候,它可能缺乏某些期望的特征并且还包括不用的性能。因此需要附加部件来实现所设置的期望特征集,同时增多了该芯片中废弃的或者至少不再被期望的能力。于是,软件需要完成所有组件一起工作的任务。
在此还认识到,数字产品并不总是需要通用计算机。并且,时间共享的通用总线可能不是传送专用数据的最佳方式。
在此还认识到,绝大多数消费电子(consumer electronics)要执行特定的任务,并且对任务的任何改变都通过缓慢的人工输入进行。由于特定的产品按照特定功能和执行顺序的细节而不同,任务分解通常涉及被作为连续流水线执行的一系列步骤或功能。因此,在此可以理解,包括数字电视在内的这样的CE产品是面向对象的硬件体系结构的候选。
发明内容
一种面向对象的硬件系统,包括:一个或多个硬件实现的信号处理模块,每个被配置为执行单个功能;以及一个或多个输入和/或输出模块,每个被配置为将数据发送给信号处理模块或接收来自信号处理模块的数据。信号处理模块大于单个的电子组件并且小于整个的分开销售的消费电子装置。
例如,信号处理模块可以是:过滤器模块、解密模块、加密模块、代码转换模、复用器模块、解复用器模块和缩放器(scaler)模块或高清晰媒体接口(HDMI)接收器模块。相对照地,输入和/或输出模块可以是:先进先出(FIFO)缓冲器模块、P__O__D__(“POD”)模块、可移除存储介质、视频传送模块、iLink接口模块、个人计算机接口(PCI)接口模块和集成设备电路(IDE)接口。通用流水线开关可以用来将模块连接到图像合成器模块或图像镜像器模块,来自HDMI接收器的视频信息被发送给显示驱动器模块以用于在视觉显示器上显示视频。
在另一方面中,一种用于构成消费电子(CE)装置的方法包括建立具有公共通信性能的多个面向对象的硬件模块。该方法也包括选择模块的子集并且在设计中配置模块的子集以实现CE装置。
在另一方面中,面向对象的硬件系统包括一个或多个硬件实现的信号处理模块和以及被配置为将数据发送给信号处理模块或接收来自信号处理模块的数据的一个或多个输入和/或输出模块。信号处理模块大于单个的电子组件并且小于整个的分开销售的消费电子装置。
参考附图可以更好地理解关于本发明的结构和操作的细节,其中,相似的标号指相似的部件,其中:
附图说明
图1是面向对象的硬件系统的第一示例的框图;
图2是面向对象的硬件系统的第二示例的框图;
图3是可以在面向对象的硬件系统中使用的示例模块(缩放器)的示例的框图。
具体实施方式
概括地说,本发明认识到可以使用用公共接口结构连接到一起的硬件对象的库来设计CE产品。在此可以理解,硬件模块化使产品特征的灵活性最大化并且允许模块级而非产品级的商业化。面向对象的硬件体系结构包含以下所述的三个问题:对象、接口和数据路由。
先参考图1,示出了总地被指代为10的非限制性的面向对象的硬件系统,其中,各种硬件实现的模块(在此也被称为“对象”)实行期望的功能。即,在系统中被执行的任何功能是硬件模块的候选者。这样的分解使得易于使用和替换需要的功能。
“硬件模块”或“硬件对象”是指比诸如单个电阻器、电容器或晶体管之类的单个电子组件大但是比诸如整个TV、盘播放器、PVR等的被单独销售的CE组件小。
在此设想到的硬件对象是NTSC调谐器、ATSC调谐器、用于合成的模拟输入模块、S-Video和分量输入、IP网络通信模块、HDMI(或DVI)输入模块、VGA输入模块、解码器(MPEG、AVC、DV等)模块、缩放器模块、图像增强模块(即,解交织模块)、用于产生用户接口的图形发生器和显示驱动器模块。
因此,可以明白面向对象的硬件方法建立模块库,所述模块通过流水线方式连接到一起或者被切换进/出数据路径以实现期望的功能性。
图1示出使用当前面向对象的硬件原理的第一示例系统10,第一示例系统10可以用作用于TV的视频处理系统。图1中所示的每个元件可以由各自的硬件模块实现,并且如果需要,所有的硬件模块可以位于同一基板(substrate)上。这些模块通过3个开关12、14、16进行通信以影响数据交换。如以下更完全公开的,开关12、14、16可以是允许任何输入被路由到任何输出的交叉点开关。
图1中的非限制性示例中所示的模块中,解调器模块18接收例如来自音频-视频源的信息。可以提供过滤器模块20用于对信号进行过滤并且同样可以提供解密模块22用于对经过加密的数据流进行解密。同样,可以提供加密模块24用于对由系统10输出的数据进行加密。视频的代码转换可以由代码转换模块26进行。
输出数据的复用和输入数据的解复用可以分别由复用器模块28和解复用器模块30提供。视频缩放(vedio scaling)可以由缩放器模块32提供,并且数据输入和/或输出由先进先出(FIFO)缓冲器模块34处理。可以由现场可编程门阵列(FPGA)实现的控制模块36可以对以上信号处理模块的各种活动进行控制/协调。
除了以上一个信号处理模块一般被配置为执行一种并且仅一种功能的信号处理模块之外,图1还示出了系统10还可以包括用于与系统10外部的组件进行通信的各种输入/输出模块。通过非限制性示例,系统10可以包括P__O__D__(“POD”)模块38、诸如索尼记忆棒(MemoryStick)(索尼公司的商标)之类的可移除存储介质40、视频传送模块42、iLink接口模块44、个人计算机接口(PCI)接口模块46和集成设备电路(IDE)接口48。
图2示出了可用于驱动TV显示器的另一示例面向对象的硬件模块系统50。如图所示,系统10可以接收来自从第一个到第三个源接口模块52、54、56的视频信息,每一个源接口模块可以将受到数字权限管理(digital right management)保护的视频流发送到各自的高清晰媒体接口(HDMI)接收器模块58、60、62。来自HDMI接收器模块的流可以通过通用流水线开关64被切换到诸如(例如用于从三个数据流提交合成图像的)图像合成器模块66和图像镜像器模块68。这些信号处理模块的输出可以通过如图所示的开关64被发送给用于将视频图像显示在TV显示器72上的显示驱动器70上。
可以在图示了缩放器模块的图3中看到数字TV中所使用的模块的更详细的示例。所图示的缩放器模块在输入FIFO 74处接收视频帧,在解复用器76处对其进行解复用,并且之后通过输入画布(canvas)78、剪切器(clipper)80和缩放器处理器82对其进行处理以调整视频大小以满足随后的模块的需要。经过大小调整的视频通过输出画布84被发送并且通过输出FIFO缓冲器86被输出给随后的模块。控制参数可以描述输入格式和期望的输出格式。如果存在对缩放器算法的选项,则微码(microcode)被下载或被选择。
通过本发明可以理解,当公共接口被用于对模块进行互连时,以上所述的硬件模块化是最通用的。尽管专用模块与外面的组件接合,但是内部的互连由于共享接口是可以互换的。
重要的接口承载从模块到模块的流水线数据。诸如用于高速PCI的串行多吉比特技术之类的串行多吉比特技术,并且可以使用吉比特以太网。这些通信方法通过穿越几十厘米的、容易适应例如TV机架内的分布的简单的对线传送数据。流水线中每个模块的数据率可以对于系统是共同的或者可以被编程为与每个点对点连接的固定的或动态的需要相匹配。数字权限管理支持也被包括在内以保护数据。
公共接口的其它组件可以包括交换控制和状态信息的装置。这可以由I2C或类似的低比特速率总线来服务以避免专利权使用费争端。公共的参考时钟源可以被分发给所有模块。内部锁相环(PLL)或类似的时钟乘法器可以例如使用25MHz来产生所需要的内部时钟。低速的类似节拍器的选通器(即,帧时钟)可以被用于系统同步。
现在转到数据路由,在总是彼此馈接的模块之间可以存在专用的简单连接,但是如上所述,通过使用开关可以实现更大的灵活性。这些可以辅助使底板上不同区域中的模块聚集。开关的范围可以是从低技术选择器到更多用途的交叉点。
交叉点开关允许任何输入被路由到任何输出(甚至同时多于一个的输出)。可以使用动态配置将模块变为在逻辑流水线中和在逻辑流水线之外。甚至可以改变序列顺序。可以在接合点处实现FIFO以平滑输出数据并且匹配时钟速率。
除了上述描述之外,在此可以设想到,本发明的面向对象的硬件模块可以被统一测试,然后被验证为对已知工作系统的增加物。新的模块可以被阶段性地加入现行的产品线。集成最通用的形式是将各个模块连接到单个交叉点。
或者,模块可以被组合进子系统,所述子系统看起来是具有性能超集(superset)的单个模块。示例可以是针对可以被多个产品使用的模拟输入接口的。在同一产品中被频繁使用的用于模块的公共封装可以引起成本节约。其它模块可以被配置为促进现场升级的物理插件。
如以上关于图1所述,对于系统建立和控制,可以使用简单的微处理器或状态机。控制可以包括对象初始化和数据路由规范。
模块流水线的操作可以从操作模式的选择开始。这将使得任何必要的微码(经由流水线总线)被加载并且开关被设置为与期望的拓扑相匹配。可以在表格中描述具体细节以使得模式改变容易。
了解了以上公开,现在可以理解,面向对象的硬件是用于设计和建立数字消费电子的有利系统。它将产品分成分离的功能任务,这些功能任务可以很好地分离并且被加入或者被移出以满足消费者的需求。它非常灵活并且允许迅速对市场中的变化和需求进行响应。
另外的非限制性实施细节
当串行突发或缓冲器的第一个比特被发送时,可以利用所断言的同步线路串行发送数据。可以在紧接第一个数据比特之后或者突发之间的间隔时间之前的任何时刻移除同步线路。接收模块可以使用同步信号的断言边缘(asserting edge)来指示新的缓冲器的开始。缓冲器的格式可以是被发送和接收模块两者认同的任何格式。典型的格式可以是串行MPEG2传送流的格式。
通过让发送模块驱动时钟线来实现“推(push)”模式。可以通过让接收模块驱动时钟线来实现“拉”模式。通过不对用于流控制的时钟进行驱动的侧可以驱动可选就绪线(optional ready line)。第五条线可以被用来用标识有错误的缓冲器,而一般发送和内容错误可以用“带内”比特或者通过使用控制/通知总线来处理。推/拉模式可以是用于所有串行数据流连接的配置寄存器选项。
每个串行端口连接是可以关于方向和流类型进行配置的。对于每个端口可以使用四或五个引脚。主要的四个信号可以被用于串行传送流并且第五个信号为外部装置提供用于提供流地址的机制。
*串行数据(输入/输出)
*数据时钟(输入/输出)
*数据同步(输入/输出-和数据相同)
*有效/就绪(由源断言为无效,由接收器断言为未就绪)
*地址(输入指示正被传送的流)
当时钟从外部被提供时,以上提到的交叉点开关可以具有可寻址的端口。这意味着另外的输入线,该另外的输入线向交叉点提供异步地址值以进一步指定端口地址。可以通过首先断言用于总共六比特的起始比特,然后断言四比特地址值和校验比特,来提供端口子地址。通过系统通用时钟值可以对比特转变进行同步。子地址在被另一子地址显式替换之前保持有效。当连接到具有诸如1394、USB、以太网等之类的时间复用流的装置时,这个特征是有用的。
用于在模块之间传送数据的接口可以被标准化以辅助容易的互连。
除了到控制总线的连接之外,模块可以具有输入数据流、输出数据流、到通知总线的连接以及甚至到外部总线或装置的连接。
模块间的通信概要
模块间的通信可以使用3种公共机制——控制、通知和数据。所有这三种公共机制可以被串行实现以使连接数最少。
可以是对于所有模块公共的特质:
*系统时钟
*软件复位
*省电模式
一些特征可以是对于所有模块公共的。系统时钟被提供给所有模块用于定时目的。(这个时钟可以被用于串行数据总线定时,但是这不是必须的)。控制寄存器可以被用于将模块复位到和上电时一样的状态。另一寄存器被用来将该模块置于省电模式。当在省电模式中时,模块通过只对用于离开省电模式的命令进行接收而使用尽可能最少量的电。
控制/状态总线
可以经由I2C总线执行控制。这提供对配置寄存器的访问、命令传送和状态获取。
通知总线
以上总线之一可以是通知总线,通知总线可以用于通常在中断结构中被执行的特殊完成或偶然事故类型消息。可以产生通知的每个模块可以具有用于每种可能用途的配置寄存器。通知可以被排列以用于由(一个或多个)控制模块处理。任何类型的模块可以发送通知,但只有控制模块被预期处理通知。
每个通知可以是32比特长并且为由控制模块限定的格式。(回想:控制模块负责对每个模块中的配置寄存器进行初始化。)假定零值是不活动的并且是上电或复位条件。通知内的比特可以被指配以指示服务控制模块的ID、通知优先级和通知描述。
通知可以要么是自再生的,要么是需要重新准备被重发。自再生通知可以在每次触发通知的事件发生时被自动发送。这通常应用于非周期的或异常的事件。诸如缓冲器不足之类的状态敏感通知可以只在状态改变时被发送而不随每个系统时钟被重复发送。重新准备(re-arm)通知可以在可以被发送之前要求用于对通知应答的命令。
通知总线可以是具有集电极开路(open collector)驱动器和用于边缘同步的系统时钟的单条线。任何模式可以在任何时刻将总线驱动为低。在发送通知之前,模块对通知总线侦听16个时钟周期(通知长度)以确定总线是静默的。可以通过首先断言后面跟着数据比特MSB的起始比特来发起每个通知。由于模块断言其通知的逻辑1比特,所以,它进行校验来看是否另一模块正在同时断言逻辑0。如果检测到这样的冲突,则断言逻辑1的模块暂停其断言并且等待总线再次为静默的。这个冲突管理方案使得最低值的通知具有最高优先级并且对于更高优先级的通知没有引起延迟。
可以使用专用电路来接收通知。专用电路可以用作用于服务CPU或其它控制装置的优先级前置过滤器。通知可以以优先级顺序像列表一样排列在FIFO中。无论何时只要任何通知被排队,电平型中断就可以被断言。装置(它看起来像存储器的位置)的读取可以产生最高优先级(最低数值)待决通知。空白通知的读可以产生指示空通知的“全1”值。特殊的通知可以自己由装置产生,如果队列溢出的话。(高阶比特为0,n个低阶比特指示丢弃数目。)
可被使用的模块的示例包括:
*QAM解调器
*8VSB解调器
*交叉点开关
*NTSC至MPEG2代码转换器
*MPEG至NTSC代码转换器
*DV至MPEG2代码转换器
*PID过滤器和翻译器
*串行数据流至CPU缓冲器(经由PCI启动器)
*CPU缓冲器至串行数据流(经由PCI启动器)
*解密模块
*加密模块
*视频解复用器(输出分量视频)
*音频解复用器(右/左输出)
*音频解复用器(5.1输出)
*音频解复用器(其它输出)
*通用FPGA(具有动态可下载程序)
*系统控制器(具有RAM、ROM、闪存的CPU)
*数据流FIFO
*通过IP的语音
*部署点(POD)
*DAVIC
*DOCSIS
*i.Link(1394)
*记忆棒
*IDE
FIFO模块
FIFO模块可以是被用来基于先进/先出对数据进行缓冲的存储元件。它们也可以被用作存储和转发元件、延迟线、重新扫描缓冲器模式、或者甚至基于时间戳的流控制。
作为FIFO,数据可以被从上游元件推进(或拉进,当数据可获得时)并且被下游元件拉出。数据比特通常被各个存储,但是行程长度编码(run length encoding)方案可以用于可压缩数据。对于具有长的数据块的流类型,来自输入流的同步比特可以被计数器寄存器保留在FIFO内,计数器寄存器被组织为主FIFO内的子FIFO。随着数据比特被计时,计数器寄存器可以被递增。当遇到同步比特时,寄存器被推到子FIFO并且新的计数器启动。随着数据被拉出FIFO,最旧的计数器随着每一比特递减直到计数器为0。在这个时刻,输出同步信号被断言,并且下一个计数器从子FIFO中被拉出。对于短的数据块流类型,同步比特可以作为并行比特流被存储到主数据流。
存储和转发特征可以被用于将状态信息从数据缓冲器的末尾移动到起始。数据可以以正常的方式被推到FIFO中,但是在整个缓冲器被接收到之前不可输出。可编程计数器可以被用来指定缓冲器的长度。所接收的最后的尾比特可以被保存作为缓冲器状态并且FIFO的输出侧被使能。状态比特可以在主数据之前被首先发送(流位置TBD)。这个特征允许源模块(没有自己的存储装置)建立即时生成(on the fly)缓冲器并且在发生后标志缺陷(flaw)。目的地模块(也没有自己的存储装置)在前面获知该缺陷。
FIFO可以通过对最小缓冲器深度进行编程而被用作延迟线。和用正常的FIFO一样,数据被推进,但是除非需要的数据量被排队,输出可用性不被断言。这使得对多个流进行同步的工作(即,音频唇同步)变得容易。
重新扫描缓冲器模式允许在被刷新的推替代之前,同样的数据被重复地从缓冲器拉出。这可以被用作被周期地插入流但只是被不定期更新的插入分组。随机的写是允许的。
通过将时间戳暂停在每个缓冲器的开始可以实现流控制FIFO。这个时间戳可以已经被上游处理完成或者作为FIFO输入硬件的部分。FIFO之外的数据可以被一直保存,直到内部时间参考到达队列头部的缓冲器所附带的时间戳值,或者时间戳是“失效”情况时下一个缓冲器被丢弃。
输入就绪线可以被编程为在实际上对于水印很充分的有意义形式的范围中,对于输出就绪线同样如此。读和写指针可以在程序控制下。
PCI支持要求更多复杂的模块之一。模块特征可以包括PCI接口配置寄存器、到I2C控制/状态总线的存储器映射访问和用于多个流转发的类似DMA的支持。
一次可以激活8个同时的串行数据流转发。每个流具有双排的地址/计数器存储器集和几个操作模式。计数器指定用于转发的字节数并且地址指向PCI存储总线上的转发位置。流特定控制寄存器指定:转发方向,双栈是否被激活,同样的缓冲器是否被用作连续的环,如何报告转发完成,转发是否被推/拉,等。
此外,系统可以包括任何数量的CPU模块。如果在模块外面提供CPU支持,则不必有任何内部CPU。另一方面,可以是具有多个CPU模块的系统。一个CPU可以处理诸如密钥处理和产生之类的安全问题。另一个CPU可以将对信号进行调谐、前向纠错编码和解调的后端模块变成独立的调谐器系统。
以上提到的多点开关可以被用作通用的和灵活的用于交换模块间的数据的装置。任何输入可以被路由到任何输出。输入可以被同时路由到多于一个的输入。多点开关可以被级联以形成可以处理更多流的更大的开关。
交叉点可以被编程为要么以推模式要么以拉模式进行操作,并且甚至可以包括少量缓冲以消除对全FIFO的需要。
因此,根据本发明原理的模块可以分为五个基本类,即,控制、数据交换、内部处理、存储以及边缘或外部接口。控制模块负责做出意识决策,并统筹处理模块之间的数据流。数据交换模块用作以最小的控制干扰使数据保持流动的自主神经系统。物理的和逻辑的“管道(plumbing)”对模块间的数据进行路由。处理模块对数据进行组合、分解和转换以实现设计功能。一个或多个数据流可以被输入并且一个或多个数据流可以被输出。经过编程的寄存器控制值添加特征。存储模块保存在处理之间的模块并且通常被实现为FIFO。边缘将接口与外面的世界接合。这可以是诸如模拟到数字的电转换。
尽管在此详细示出和描述了特定的“用于面向对象的硬件的系统和方法”,但是应当理解,本发明所包括的主题只受权利要求的限制。
Claims (7)
1.一种面向对象的硬件系统,包括:
至少一个硬件实现的信号处理模块(18-36,58-62),被配置为执行单个功能;以及
至少一个输入和/或输出模块(38-34),被配置为将数据发送给所述信号处理模块或接收来自所述信号处理模块的数据,
所述信号处理模块(18-36,58-62)大于单个的电子组件并且小于整个的独立销售的消费电子装置。
2.根据权利要求1所述系统,其中,所述信号处理模块是从一组模块中选出的,所述一组模块基本上包括:过滤器模块(20)、解密模块(22)、加密模块(24)、代码转换模块(26)、复用器模块(28)、解复用器模块(30)和缩放器模块(32)。
3.根据权利要求1所述系统,包括过滤器模块(20)、解密模块(22)、加密模块(24)、代码转换模块(26)、复用器模块(28)、解复用器模块(30)和缩放器模块(32),所述模块通过至少一个开关(12-16)彼此进行通信。
4.根据权利要求1所述系统,其中,输入和/或输出模块(38-48)是从基本上由先进先出(FIFO)缓冲器模块(34)、P_O_D_(“POD”)模块(38)、可移除存储介质(40)、视频传送模块(42)、iLink接口模块(44)、个人计算机接口(PCI)接口模块(46)和集成设备电路(IDE)接口(48)组成的组中选出的。
5.根据权利要求3所述系统,包括先进先出(FIFO)缓冲器模块(34)、P_O_D_(“POD”)模块(38)、可移除存储介质(40)、视频传送模块(42)、iLink接口模块(44)、个人计算机接口(PCI)接口模块(46)和集成设备电路(IDE)接口(48)。
6.根据权利要求1所述系统,其中,所述信号处理模块是高清晰媒体接口(HDMI)接收器模块(58、60、62)。
7.根据权利要求6所述系统,包括将所述接收器模块(58、60、62)连接到图像合成器模块(66)或图像镜像器模块(68)中的至少一个模块的通用流水线开关(64),来自所述HDMI接收器的视频信息被发送给显示驱动器模块(70)以用于在视觉显示器上显示视频。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85419106P | 2006-10-24 | 2006-10-24 | |
US60/854,191 | 2006-10-24 | ||
US11/726,593 US7786996B2 (en) | 2006-10-24 | 2007-03-22 | System and method for object oriented hardware including cross-point switch interconnecting modules with I/O |
US11/726,593 | 2007-03-22 | ||
PCT/US2007/020774 WO2008115205A2 (en) | 2006-10-24 | 2007-09-25 | System and method for object oriented hardware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101529381A true CN101529381A (zh) | 2009-09-09 |
CN101529381B CN101529381B (zh) | 2013-06-19 |
Family
ID=39319572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800398144A Expired - Fee Related CN101529381B (zh) | 2006-10-24 | 2007-09-25 | 用于面向对象的硬件的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7786996B2 (zh) |
EP (1) | EP2095229A4 (zh) |
JP (1) | JP5253404B2 (zh) |
KR (1) | KR101384491B1 (zh) |
CN (1) | CN101529381B (zh) |
CA (1) | CA2666872C (zh) |
WO (1) | WO2008115205A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009039375A2 (en) * | 2007-09-20 | 2009-03-26 | C & S Operations, Inc. | Computer system |
US7861017B2 (en) * | 2007-10-19 | 2010-12-28 | Sony Corporation | Consumer electronics control (CEC) line enhancement method for HDMI network that selects a transfer rate from a plurality of transfer rates |
WO2012058295A1 (en) * | 2010-10-26 | 2012-05-03 | Tsu-Chang Lee | Apparatus for network based modular electronic systems |
SE1751567A1 (sv) * | 2017-12-18 | 2019-06-19 | Komatsu Forest Ab | Arbetsmaskin samt metod för att övervaka ett styrsystem vid en arbetsmaskin |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2616022B2 (ja) | 1989-07-08 | 1997-06-04 | 富士ゼロックス株式会社 | 画像読取装置 |
US5546595A (en) * | 1993-12-21 | 1996-08-13 | Taligent, Inc. | Object-oriented system using objects representing hardware devices, physical connectors and connections between the physical connectors for configuring a computer |
US5608448A (en) * | 1995-04-10 | 1997-03-04 | Lockheed Martin Corporation | Hybrid architecture for video on demand server |
US6128467A (en) * | 1996-03-21 | 2000-10-03 | Compaq Computer Corporation | Crosspoint switched multimedia system |
US5905726A (en) * | 1996-05-21 | 1999-05-18 | Cisco Technology, Inc. | Broadband communication system having a virtual circuit space switch |
US6615279B1 (en) * | 1997-01-29 | 2003-09-02 | Iq Systems | Central and distributed script servers in an object oriented processor array |
US7062769B1 (en) * | 1999-07-07 | 2006-06-13 | National Semiconductor Corporation | Object-oriented processor design and design methodologies |
US20020031166A1 (en) | 2000-01-28 | 2002-03-14 | Ravi Subramanian | Wireless spread spectrum communication platform using dynamically reconfigurable logic |
GB2382445B (en) * | 2000-07-13 | 2004-10-27 | Nds Ltd | Configurable hardware system |
JP2002042122A (ja) * | 2000-07-21 | 2002-02-08 | Nippon Steel Corp | 画像処理装置 |
US7657916B2 (en) | 2000-07-31 | 2010-02-02 | Cisco Technology, Inc. | Digital subscriber television networks with local physical storage devices and virtual storage |
US20020015401A1 (en) | 2000-08-03 | 2002-02-07 | Ravi Subramanian | Flexible TDMA system architecture |
JP4328905B2 (ja) * | 2000-10-06 | 2009-09-09 | 学校法人東京電機大学 | 集積回路およびその制御方法 |
US7962716B2 (en) * | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6925180B2 (en) | 2001-09-27 | 2005-08-02 | Sony Corporation | PC card recorder |
US7493375B2 (en) | 2002-04-29 | 2009-02-17 | Qst Holding, Llc | Storage and delivery of device features |
FR2848043B1 (fr) | 2002-12-03 | 2005-01-28 | Philippe Guenebaud | Module, systeme et procede de traitement de signaux numeriques |
US7310423B2 (en) * | 2003-04-24 | 2007-12-18 | General Instrument Corporation | Processing multiple encrypted transport streams |
US20050125357A1 (en) * | 2003-12-09 | 2005-06-09 | Saadat Abbas S. | Secure integrated media center |
US8185600B2 (en) * | 2003-12-29 | 2012-05-22 | Broadcom Corporation | Programming system and method for a video network |
WO2006067709A1 (en) * | 2004-12-22 | 2006-06-29 | Koninklijke Philips Electronics N.V. | Data processing system and method for configuring a network on an at least one integrated circuit |
US7586888B2 (en) | 2005-02-17 | 2009-09-08 | Mobitrum Corporation | Method and system for mesh network embedded devices |
US7624417B2 (en) * | 2006-01-27 | 2009-11-24 | Robin Dua | Method and system for accessing media content via the internet |
-
2007
- 2007-03-22 US US11/726,593 patent/US7786996B2/en not_active Expired - Fee Related
- 2007-09-25 KR KR1020097008375A patent/KR101384491B1/ko active IP Right Grant
- 2007-09-25 WO PCT/US2007/020774 patent/WO2008115205A2/en active Application Filing
- 2007-09-25 EP EP07870155A patent/EP2095229A4/en not_active Withdrawn
- 2007-09-25 JP JP2009534578A patent/JP5253404B2/ja not_active Expired - Fee Related
- 2007-09-25 CA CA2666872A patent/CA2666872C/en not_active Expired - Fee Related
- 2007-09-25 CN CN2007800398144A patent/CN101529381B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2008115205A2 (en) | 2008-09-25 |
US7786996B2 (en) | 2010-08-31 |
JP2010507973A (ja) | 2010-03-11 |
JP5253404B2 (ja) | 2013-07-31 |
EP2095229A4 (en) | 2012-01-11 |
EP2095229A2 (en) | 2009-09-02 |
CA2666872A1 (en) | 2008-09-25 |
KR20090082194A (ko) | 2009-07-29 |
US20080098438A1 (en) | 2008-04-24 |
CN101529381B (zh) | 2013-06-19 |
CA2666872C (en) | 2014-11-18 |
KR101384491B1 (ko) | 2014-04-10 |
WO2008115205A3 (en) | 2008-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8736621B2 (en) | System and method for configuring a display pipeline | |
CA2460521C (en) | Aliasing and routing of plural mpeg data streams | |
US7484034B2 (en) | Microcontrol architecture for a system on a chip (SoC) | |
US20090300256A1 (en) | Self-synchronizing data streaming between address-based producer and consumer circuits | |
CN101529381B (zh) | 用于面向对象的硬件的系统和方法 | |
KR20120072349A (ko) | 이미지 프로세싱 회로 및 이미지 프로세싱 방법 | |
CN102098541B (zh) | 码流复用器构成装置 | |
US7853734B2 (en) | Video bus for a video decoding system | |
US8681161B2 (en) | Multi-pass system and method supporting multiple streams of video | |
JP2922118B2 (ja) | Atmセルスイッチ装置及びatm交換機 | |
CN110798633A (zh) | 基于以太网交换技术的大规模视频显控矩阵设备 | |
CN108063663B (zh) | 一种视频加密传输方法、装置及系统 | |
CN107666580B (zh) | 背板装置和视频处理器 | |
JP2000083064A (ja) | トランスポ―トストリ―ム処理装置 | |
CN111083071A (zh) | 灵活交换逻辑 | |
US20100235873A1 (en) | Video server apparatus | |
CN100477800C (zh) | 一种数字多媒体流传输的多模块输入输出系统 | |
CN112637443A (zh) | 源同步锁相方法、装置、系统及插卡式视频处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130619 Termination date: 20150925 |
|
EXPY | Termination of patent right or utility model |