CN101861577A - 用于处理器间通信的系统和方法 - Google Patents
用于处理器间通信的系统和方法 Download PDFInfo
- Publication number
- CN101861577A CN101861577A CN200880116333A CN200880116333A CN101861577A CN 101861577 A CN101861577 A CN 101861577A CN 200880116333 A CN200880116333 A CN 200880116333A CN 200880116333 A CN200880116333 A CN 200880116333A CN 101861577 A CN101861577 A CN 101861577A
- Authority
- CN
- China
- Prior art keywords
- processor
- frame
- bus
- sends
- clock signal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1682—Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明描述了一种用于多处理器系统中可靠的处理器间通信的手段。根据一个方面,特殊配置的串行总线被用作第一处理器和第二处理器之间的通用数据链路。该串行总线可以是Inter-IC Sound(I2S)总线。根据另一个方面,使得位于第二处理器上的网络接口通过在I2S总线上建立的数据链路对第一处理器可用。这允许第二处理器被用作代理,并支持远程配置和网络地址穿越。
Description
技术领域
本发明一般地涉及多处理器系统,包括但不限于双处理器系统。
背景技术
众所周知,使用双处理器的设计能实现高能效的、可容错的系统。双处理器系统是那些在同一机箱中包括两个分开的物理微处理器(位于同一主板上或位于分开的主板上)的系统。双处理器体系结构提供超过单处理器体系结构的几个优点。例如,在双处理器系统中,两个处理器可以同时工作但分别执行独立的任务。在例如创建、编辑和渲染图形和多媒体文件的处理器密集应用程序中,这样的多任务计算机能力是至关重要的。
在例如因特网协议电话(VoIP)的电信系统中,双处理体系结构可以被用来最小化语音通信中的延迟和抖动。示例的双处理器体系结构可以包括主要的中央处理单元(CPU)和数字信号处理器(DSP),所述主要的中央处理单元被配置为处理传统的操作系统(OS)和计算任务,DSP被配置为处理音频信号数据。然而,为了让两个互异、分开和/或独立的处理器协同地一起工作,必须提供一种用于使处理器彼此通信的可靠手段。
发明内容
本发明提供一种用于多处理器系统中的处理器间通信的可靠手段。根据本发明的一个方面,使用特殊配置的串行总线作为第一处理器和第二处理器之间的通用数据链路。该串行总线可以是Inter-ICSound(I2S)总线。根据本发明的另一个方面,通过在I2S总线上建立的数据链路,使位于第二处理器上的网络接口对第一处理器可用。这使得第二处理器能够被用作代理,并支持远程配置和网络地址穿越(traversal)。
具体地说,此处描述的方法有利于第一处理器和第二处理器之间的通信。根据该方法,从第一处理器发送连续串行时钟信号到第二处理器。在发送连续串行时钟信号期间,第一多个帧被从第一处理器发送到第二处理器,其中第一多个帧包括至少一个数据帧。发送连续串行时钟信号的步骤可以包括在Inter-IC Sound(I2S)总线的串行时钟信号线上发送连续串行时钟信号,并且发送第一多个帧的步骤可以包括在I2S总线的第一串行数据线上发送第一多个帧。
该方法可以进一步包括在发送连续时钟信号期间,从第二处理器向第一处理器发送第二多个帧,其中第二多个帧的每个帧的发送都同步于第一多个帧中的每个相应帧的发送。发送第二多个帧包括在Inter-IC Sound(I2S)总线的第二串行数据线上发送第二多个帧。
该方法还可以进一步包括从第一处理器向第二处理器发送字选择信号,其中发送第一多个帧的步骤包括与连续串行时钟信号和字选择信号同步地发送第一多个帧的每个帧,并且其中发送第二多个帧的步骤包括与连续串行时钟信号和字选择信号同步地发送第二多个帧中的每个帧。
在此还描述了一种多处理器系统。该系统包括第一处理器、第二处理器,以及连接第一处理器和第二处理器的串行总线接口。第一处理器被配置为通过串行总线接口发送连续串行时钟信号到第二处理器,以及在发送连续串行时钟信号期间通过串行总线接口发送第一多个帧到第二处理器。第一多个帧包括至少一个数据帧。串行总线接口可以包括I2S总线。
第二处理器可以被配置为在发送连续时钟信号期间,发送第二多个帧到第一处理器,其中第二多个帧中的每个帧的发送同步于第一多个帧中的每个相应帧的发送。
在此还描述了一种使用能访问网络接口的第一处理器作为不能访问网络接口的第二处理器的代理的方法。根据该方法,通过I2S总线在第一处理器和第二处理器之间建立数据链路。然后第二处理器通过数据链路访问网络接口。访问网络接口可以包括配置网络接口。配置网络接口可以包括配置网络地址穿越(NAT)功能或配置发送控制协议(TCP)/因特网协议(IP)栈。
在此还描述一种多处理器系统。该系统包括第一处理器、第二处理器,连接第一处理器和第二处理器的I2S总线,以及连接至第一处理器但不连接至第二处理器的网络接口。第二处理器被配置为通过I2S总线与第一处理器建立数据链路,以及通过该数据链路访问网络接口。第二处理器可以适于通过配置网络地址穿越(NAT)功能或通过配置发送控制协议(TCP)/因特网协议(IP)栈来配置网络接口。
以下参考附图详细描述本发明进一步的特征和优点,以及本发明的各种实施例的结构和操作。注意,本发明不限于此处描述的特定实施例。此处示出的这些实施例仅作示例之用。基于在此包括的教导,其它的实施例对相关领域的技术人员来说是显而易见的。
附图说明
附图结合于此并形成说明书的一部分,与说明书一起示出了本发明,进一步用于解释本发明的原理,以及使得相关领域的技术人员能够实现并使用本发明。
图1是可以实现本发明的因特网协议电话(VoIP)的系统的框图。
图2示出了根据本发明的一个实施例使用I2S总线把第一处理器连接到第二处理器。
图3示出了根据本发明的一个实施例的通过I2S总线在第一和第二处理器之间同时交换定长帧的。
图4是示出了根据本发明的一个实施例的用于实现用于在两个处理器之间发送帧的语音优先方案的第一和第二处理器的部件的框图。
图5示出了根据本发明的一个实施例的有利于第一处理器和第二处理器之间通信的方法的流程图。
图6是示出了根据本发明的一个实施例的第一处理器将第二处理器用作网络代理的框图。
图7是示出了根据本发明的一个实施例的第一处理器将第二处理器用作网络代理的另一个框图。
图8示出了根据本发明的一个实施例的将能访问网络接口的第一处理器用作不能访问网络接口的第二处理器的代理的方法的流程图。
在与附图相结合时,通过以下阐述的具体实施方式,本发明的特征和优点将变得更加显而易见,其中类似的参考特征始终标识对应的元件。在图中,类似的参考标号通常表示相同、功能类似、和/或结构类似的元件。其中元件第一次出现的图由相应的参考标号中最左边的数字表示。
具体实施方式
A.示例操作环境
图1示出了本发明的实施例可以运行的示例操作环境。具体地,图1是用于可以实现本发明的VoIP电话的系统100的框图。系统100使用双处理器体系结构。具体地,系统100包括被配置为处理传统操作系统(OS)和计算任务的第一处理器102,以及被配置为处理音频信号数据的第二处理器104。在一个实施例中,第一处理器102是德州奥斯丁的Freescale半导体公司出售的MCIMX31(i.MX31)多媒体应用处理器,并且第二处理器104是马萨诸塞州诺伍德的Analog Device公司出售的ADSP-BF536 Blackfin嵌入式处理器。在图1的系统100中,第一处理器102被配置为用作基于Linux的中央处理单元(CPU),而第二处理器104作为数字信号处理器(DSP)运行。
如图1所示,第一处理器102被连接至存储器112,存储器112存储由第一处理器102执行的程序指令以及在执行这些指令期间使用或生成的数据。同样地,第二处理器104被连接至存储器116,存储器116存储由第二处理器104执行的程序指令,以及在执行这些指令期间使用或生成的数据。还如图1所示,第二处理器104被连接至网络接口118和可选择POTS(普通传统电话业务)接口120,网络接口118包括以太网PHY和MAC 112以及RJ45连接124,可选择POTS接口120包括PSTN线接口126和RJ11连接128。
在图1的系统100作为VoIP扬声器电话操作时,音频子系统106通过麦克风(未在图1中示出)获取来自用户的语音输入,并将语音输入转换为模拟音频信号。音频子系统106将模拟音频信号提供至第一处理器102,第一处理器102将模拟音频信号转换为数字形式,然后将数字音频信号传送至第二处理器104,以便在通过网络接口118被发送至因特网协议(IP)网络之前被压缩。相反地,第二处理器104通过网络接口118从IP网络接收压缩音频信号。第二处理器104解压压缩音频信号以产生数字音频信号,然后将数字音频信号传送至第一处理器102。第一处理器102将数字音频信号转换为模拟形式,然后将模拟音频信号传送至音频子系统106,用于通过扬声器(未在图1中示出)重放给用户。
通过提供能访问模拟音频输入和输出信号的第一处理器102,图1的系统100使得第一处理器102能够执行与这些信号有关的某些功能,例如语音识别或音频信号修正。同样,通过将第一处理器102直接连接至音频子系统106,图1的系统100还使得该处理器能够使用音频子系统106的麦克风和扬声器,以执行媒体或多媒体相关的功能,例如重放非电话相关的音频内容。第一处理器102还被配置为执行其它功能,包括但不限于通过显示器110(可以包括LCD显示器)呈现图形用户界面,以及处理通过键盘108接收的用户输入。
与此相反,第二处理器104的主要功能是压缩和解压缩音频信号,以分别用于通过网络接口118在IP网络上发送或接收音频信号。第二处理器104把压缩和解压缩功能实现为信号处理算法,并且信号处理算法是计算密集型的。第二处理器104还可以被配置为执行辅助功能,例如语音活动检测、回波消除、或其它与通过电话系统发送或接收音频信号相关的已知功能。
为了使第一处理器102和第二处理器104以上述方式一起工作,必须在第一处理器102和第二处理器104之间实现可靠的处理器间通信。如将在下面更详细描述的,使用特别配置的链路实现这种可靠的处理器间通信。具体地,根据本发明的一个实施例,使用特殊配置的串行总线114。在一个实施例中,该串行总线是I2S(Inter-ICSound)总线。
另外,根据本发明一个实施例,位于第二处理器104上的网络接口118对第一处理器102可用。实际上,第二处理器104被用作代理,并支持远程配置以及网络地址穿越(network address traversal,NAT)。该特征还将在下面更详细地描述。
虽然在此参考图1的示例系统100描述了本发明的多个方面,但本发明不限于该操作环境。如相关领域的技术人员将意识到的,本发明可以在使用两个或多个处理器执行系统功能的任何系统中使用。
B.根据本发明的一个实施例,使用串行总线作为通用数据链路
根据本发明的一个实例,使用特殊配置的串行总线作为第一处理器和第二处理器之间的通用数据链路。在此处描述的实施例中,串行总线为I2S总线,虽然该发明并不局限于此。将参考图1的示例性操作环境更详细地描述本发明的该方面,其中第一处理器102是i.MX31多媒体应用处理器,并且第二处理器104是ADSP-BF536Blackfin嵌入式处理器。然而,该发明不限于该特定实现方式,以及可以使用其它处理器。
如相关领域的技术人员将意识到的,I2S总线是飞利浦半导体公司(Philips Semiconductors)设计的电串行总线接口,用于将数字音频装置(例如压缩盘(CD)播放器、数字录音磁带、数字声音处理器和数字电视声音)连接在一起。例如,I2S总线可以用作串行链路,以在CD播放器中的CD转盘(transport)和数模(DAC)转换器之间运送双通道(立体声)脉冲编码调制数字数据。该I2S总线在Philips Semiconductors出版的I2S总线规范(1986年2月)中进行了描述,其全部内容通过引用被包含于此,如同在此处完全阐述。
I2S总线通常仅被用于处理音频数据,而其它信号(例如子编码和控制)被分开发送。为最小化所需的引脚数量并保持线路简单,I2S总线由三个串行总线线路组成:一个具有两个时分复用数据通道的串行数据线,一个字选择线,以及一个连续串行时钟线。通过将数据和时钟信号分开,I2S总线避免了造成抖动(jitter)的时间相关的误差,藉此消除了对于抗抖动装置的需要。在DAC中抖动可以造成失真。
i.MX31多媒体应用处理器和ADSP-BF536 Blackfin嵌入式处理器都提供了至少一个用于连接I2S总线的接口。具体地,i.MX31多媒体应用处理器提供两个同步串行接口(SSI)/I2S接口,其中每个接口都可以被用于连接到I2S总线,而BF536 Blackfin嵌入式处理器提供两个串行端口,其中每个端口都支持I2S使能操作。
如图2所示,在图1的系统100的一个实施例中,i.MX31多媒体应用处理器202(在此还被称为i.MX31处理器202)和ADSP-BF536 Blackfin嵌入式处理器204(在此还被称为BF536处理器204)通过使用四线配置的I2S总线206彼此连接。根据该四线配置,使用第一线232运送连续串行时钟(SCK),使用第二线234运送字选择信号(WS),使用第三线236从BF536处理器204运送串行数据(SD1)到i.MX31处理器202,以及使用第四线238从i.MX31处理器202运送串行数据(SD2)到BF536处理器204。SCK和WS的发送方向取决于哪个处理器作为总线主控(busmaster)。两个串行数据线的用法允许在两个处理器之间同时双向发送数据。
BF536处理器204被配置为使用I2S总线214来以传统方式发送音频信号以及发送用于多处理器通信的数据信号。在通过I2S总线214发送数据信号的操作模式中,BF536处理器204被配置为停止和重启串行时钟SCK。相比之下,i.MX31处理器202被配置为仅使用I2S总线发送音频信号。所以,i.MX31处理器202不能忍受由BF536处理器204停止和重启串行时钟SCK。因此,在i.MX31处理器202使用I2S总线214发送数据信号时,通过该总线接收并存储在i.MX31处理器202的先进先出(FIFO)缓存器中的数据可能被损坏。
理想地,优选仅在需要的时候在两个处理器之间发送变长帧(variable length frame)。这将节省DMA(存储器)带宽以及处理器周期。但这不总是可实现的。例如,如上所述,在两个处理器之间不发送数据的周期期间停止串行时钟SCK可能导致i.MX31处理器202失去同步,并且存储在该处理器的FIFO缓存器中的数据可能被损坏。
本发明的一个实施例通过创建和使用连续运行(流)协议来解决这个问题,该协议确保串行时钟SCK永远不会被停止。然后高度优化的包方式数据发送被置于I2S接口的顶层。
流协议使用具有定长头(fixed-length header)的定长帧(fixed-length frame)。作为示例,图3示出了具有定长头312和有效载荷314的代表性的定长帧302。每个定长头标识帧的类型(例如,音频或数据),并且还包括其它信息,例如由帧承载的包的长度以及校验和。在代表性头312中,这些字段分别表示长度324与校验和326。在一个实施例中,校验和为针对帧的整个数据设置的16位校验和。
根据该流协议,每个端点同时交换定长帧。因此,在i.MX31处理器202在发送帧头的第一个字时,BF536处理器204也正在发送另一个帧头的第一个字。这使得每个处理器能够使用相同的串行时钟SCK和字选择WS信号来控制数据的发送。为了例示,在图3中示出了代表性的定长帧302和304的同时交换。在本发明的一个实施例中,使用WS信号表示帧边界。如上所注意到的,每个帧都被归类为音频帧或数据帧。在一个实施例中,数据帧被格式化为不具有媒体访问控制(MAC)头的原始的因特网协议(IP)数据报(datagram)。
本发明的一个实施例还包括帧同步协议,使得两个处理器能够同步数据发送。该帧同步协议在系统启动期间使用,还可以在处理器重新启动或在因为任何原因导致两个处理器之间失去同步的任何情况下被使用。
为有利于帧同步,每个帧的头都包括两个标记字。这在图3中被进一步示出,其示出了代表性的帧302的头312包括第一标记字322和第二标记字328。在帧同步期间,作为总线主控的处理器持续地记录下“null”(空)帧,直到其检测到由其它处理器发送的帧的边界。空帧可以通过将与该帧相关的包的长度和校验和设置为0来表示。总线主控通过搜索其它处理器的标记模式来检测由其它处理器发送的帧的边界。一旦检测到由其它处理器发送的帧的边界,总线主控将其帧发送与其它处理器的帧发送对准。然后所有进一步的配置都发生在发送控制协议(TCP)/IP层。
在本发明的一个实施例中,每个处理器202和204都被配置为接收频带外的(out-of-band)重置信号,来触发上述同步协议。因为执行同步协议在时间和处理器资源方面是昂贵的,所以不期望使用协议来支持变长帧的发送,虽然这样的实现是可能的。
根据本发明的另外一个实施例,在语音优先情况下,两个处理器202和204通过I2S通信链路来进行通信。就是说,在发送帧时,待决的语音帧或音频帧总是优先于待决的数据帧。这种情况旨在最小化与由系统100处理的VoIP电话呼叫相关的延迟和抖动。
图4是示出了用于实现语音优先方案的每个处理器202和204的部件的框图。具体地,如图4所示,每个处理器包括通过多路复用器406连接到发射器408的数据队列402和语音队列404。数据队列402被配置为容纳计划通过I2S通信链路发送的数据帧,而语音队列404被配置为容纳计划通过I2S通信链路发送的语音帧。例如,如图4所示,数据队列402容纳示例性的数据帧412,并且语音队列404容纳示例性的语音帧414。多路复用器406被配置为选择性地将来自数据队列402的数据帧或来自语音队列404的语音帧提供到发射器408,以通过I2S通信链路发送。多路复用器406还被配置为通过使语音帧优先于数据帧来执行该功能。
如上所注意到的,根据本发明的一个实施例,数据帧和语音帧具有固定尺寸。为保证向语音通信提供高带宽的TCP/IP协议,大的帧尺寸可以被用于承载语音信息。为最大化效率,使用尽可能少的内存拷贝来发送每个帧。如上所注意到的,在头中针对帧的整个数据设置一个简单的16位校验和。除此以外,该协议对于其绝大部分处理不要求进行任何有效负载的检验。
图5示出了根据以上描述的有利于第一处理器和第二处理器之间的通信的方法的流程图500。下面将继续参考图1的系统100来描述流程图500。然而,流程图500的方法并不限于该实现方式。
如图5所示,流程图500的方法在步骤502开始,其中通过串行总线114将连续串行时钟从第一处理器102发送到第二处理器104。该步骤可以包括通过I2S总线的串行时钟信号线发送连续串行时钟信号。
在步骤504,在发送连续串行时钟信号期间,通过串行总线114把第一多个帧从第一处理器102发送到第二处理器104。该步骤可包括通过I2S总线的第一串行数据线来发送第一多个帧。第一多个帧可以包括语音帧或数据帧。第一多个帧中的每个帧都可以包括定长帧。
在步骤506,在发送连续时钟信号期间,通过串行总线114把第二多个帧从第二处理器104发送到第一处理器102,其中,第二多个帧中的每个帧的发送同步于第一多个帧中的每个相应帧的发送。该步骤可以包括通过I2S总线的第二串行数据线发送第二多个帧。第二多个帧可以包括语音帧或数据帧。第二多个帧中的每个帧都可以包括定长帧。
流程图500的上述方法还可以包括通过串行总线114从第一处理器102发送字选择信号到第二处理器104。在这样的实施例中,发送第一多个帧可以包括与连续串行时钟信号和字选择信号同步地发送第一多个帧中的每个帧。另外,在这样的实施例中,发送第二多个帧可以包括与连续时钟信号和字选择信号同步地发送第二多个帧中的每个帧。发送字选择信号可以包括通过I2S总线的字选择信号线发送字选择信号。
C.根据本发明的实施例的第一处理器将第二处理器用作网络代理
包括多个处理器的网络可用消费电子装置通常仅有单个网络接口(例如,以太网或Wi-Fi接口),其仅可被一个处理器访问。如果多处理器系统中的所有处理器都可以使用该单个网络接口,则是有利的。具体地,如果具有网络接入的单个处理器能够作为代理来支持远程配置和网络地址穿越,则是有利的。
如上所述,在本发明的一个实施例中,例如I2S总线的串行总线在第一处理器(其可以是例如通用CPU)和第二处理器(其可以是例如外部/远程的DSP)之间作为高速、大带宽、通用的数据链路,在两个处理器之间提供可靠的数据发送。根据本发明的另一个方面,串行总线还可以用于使得多处理器系统中的每个处理器能够访问网络,例如因特网或Wi-Fi网络,而不必使用内部开关或多个收发器。
例如,在以上参考图1描述的系统100中,网络接口118位于第二处理器104上。根据本发明的一个实施例,第一处理器102适于通过串行总线114配置和使用在远程处理器104上的网络接口118。这样的实施例的一个示例在图6中被示出,其中第一处理器102被实现为i.MX31多媒体应用处理器602(在此还被称为i.MX31处理器602),第二处理器104被实现为ADSP-BF536 Blackfin嵌入式处理器604(在此还被称为BF536处理器604),以及串行总线114被实现为I2S总线606。
参考图6中示出的实施例,使用一个协议来允许i.MX31处理器602对BF536处理器604进行配置。该协议位于I2S总线606的顶层,并被用于配置处理器间数据链路上的其它协议,包括配置NAT(网络地址穿越)和TCP/IP栈,以及位于BF536处理器604上的其它功能。这样的其它功能可以包括但不限于语音引擎配置、公共交换电话网络(PSTN)电话、系统心跳,以及其它各种任务。
该概念在图7中被进一步例示。具体地,图7示出了根据本发明的一个实施例的多处理器系统700,其中第一处理器702通过内部链路708连接到第二处理器704。第一处理器702能够使用在内部链路708上实现的位于串行总线接口顶层的协议(例如I2S总线接口),来配置第二处理器704内的NAT/路由逻辑712。这样配置NAT/路由逻辑712包括分配第一私有IP地址(在图6中被表示为“私有地址B”)给第一处理器702,以及分配第二私有IP地址(被表示为“私有地址A”)给第二处理器704。这样的私有IP地址可以被NAT/路由逻辑712以已知的方式使用,来管理两个处理器中的每一个处理器和位于网络706上的实体之间的通信,其中,这样的通信是通过单个网络接口710进行的。
使用这样的协议具体地与第二处理器704作为网络路由器的程度相关。在这样的情况下,需要向第二处理器704提供网络配置数据。根据该实施例,内部链路708被用于传送固定IP地址,以及TCP/IP被用于建立进一步的TCP/IP连接。
图8示出了根据上面描述的使用能访问网络接口的第一处理器作为不能访问网络接口的第二处理器的代理的方法的流程图800。如图8所示,流程图800的方法开始于步骤802,其中通过I2S总线在第一处理器和第二处理器之间建立数据链路。在步骤804,第二处理器通过数据链路访问网络接口。在一个实施例中,访问网络接口包括配置网络接口。配置网络接口可以包括,例如,配置NAT功能或配置TCP/IP栈。
D.结论
尽管以上已经描述了根据本发明的各种实施例,但是应当理解,其仅以示例的方式被呈现,而不用于限制本发明。例如,尽管上面已经参考图1的系统100的双处理器体系结构描述了本发明的多个方面,但该发明并不限于此操作环境。相反,本发明的实施例可以在使用多处理器体系结构的任何系统中实现。
此外,相关领域的技术人员应当理解,在不背离所附权利要求中限定的本发明的精神和范围的情况下,可以对本发明的实施例在形式和细节上做各种改变。因此,本发明的宽度和范围不应受上述示例性实施例中的任一个的限制,但应当仅根据以下的权利要求和其等同物进行限定。
Claims (25)
1.一种有利于第一处理器和第二处理器之间通信的方法,包括:
将连续串行时钟信号从所述第一处理器发送到所述第二处理器;以及
在发送所述连续串行时钟信号期间,将第一多个帧从所述第一处理器发送到所述第二处理器,其中所述第一多个帧包括至少一个数据帧。
2.根据权利要求1所述的方法,
其中发送所述连续串行时钟信号包括通过Inter-IC Sound(I2S)总线的串行时钟信号线发送所述连续串行时钟信号,以及
其中发送所述第一多个帧包括通过所述I2S总线的第一串行数据线发送所述第一多个帧。
3.根据权利要求1所述的方法,其中所述第一多个帧的每个帧是定长帧。
4.根据权利要求1所述的方法,进一步包括:
在发送所述连续时钟信号期间,将第二多个帧从所述第二处理器发送到所述第一处理器;
其中所述第二多个帧的每个帧的发送同步于所述第一多个帧中的每个相应帧的发送。
5.根据权利要求4所述的方法,其中发送所述第二多个帧包括通过Inter-IC Sound(I2S)总线的第二串行数据线发送所述第二多个帧。
6.根据权利要求4所述的方法,进一步包括:
将字选择信号从所述第一处理器发送到所述第二处理器;
其中发送所述第一多个帧包括与所述连续串行时钟信号和所述字选择信号同步地发送所述第一多个帧中的每个帧,以及
其中发送所述第二多个帧包括与所述连续串行时钟信号和所述字选择信号同步地发送所述第二多个帧的每个帧。
7.根据权利要求6所述的方法,其中发送所述字选择信号包括通过Inter-IC Sound(I2S)总线的字选择信号线发送所述字选择信号。
8.根据权利要求4所述的方法,进一步包括:
在从所述第一处理器发送到所述第二处理器的至少一个帧的头中检测标记字;
基于所检测到的标记字,同步所述第二多个帧的发送。
9.根据权利要求1所述的方法,进一步包括:
在第一队列中存储计划发送到所述第二处理器的数据帧;
在第二队列中存储计划发送到所述第二处理器的语音帧;
其中发送所述第一多个帧包括:根据语音优先方案,先于所述数据帧将所述语音帧发送到所述第二处理器。
10.一种多处理器系统,包括:
第一处理器;
第二处理器;以及
串行总线接口,连接所述第一处理器和所述第二处理器;
其中所述第一处理器被配置为通过所述串行总线接口发送连续串行时钟信号到所述第二处理器,以及在发送所述连续串行时钟信号期间通过所述串行总线接口发送第一多个帧到所述第二处理器,其中所述第一多个帧包括至少一个数据帧。
11.根据权利要求10所述的系统,其中所述串行总线接口包括Inter-IC Sound(I2S)总线,以及
其中所述第一处理器被配置为通过所述I2S总线的串行时钟信号线发送所述连续串行时钟信号。
12.根据权利要求10所述的系统,其中所述第一多个帧的每个帧都是定长帧。
13.根据权利要求10所述的系统,其中所述第二处理器被配置为在发送所述连续时钟信号期间发送第二多个帧到所述第一处理器,其中所述第二多个帧的每个帧的发送同步于所述第一多个帧中的每个相应帧的发送。
14.根据权利要求13所述的系统,其中所述串行总线接口包括Inter-IC Sound(I2S)总线,以及
其中所述第二处理器被配置为通过所述I2S总线的第二串行数据线发送所述第二多个帧。
15.根据权利要求13所述的系统,其中所述第一处理器被进一步配置为发送字选择信号到所述第二处理器,以及与所述连续串行时钟信号和所述字选择信号同步地发送所述第一多个帧中的每个帧,以及
其中所述第二处理器被进一步配置为与所述连续串行时钟信号和所述字选择信号同步地发送所述第二多个帧。
16.根据权利要求15所述的系统,其中所述串行总线接口包括Inter-IC Sound(I2S)总线,以及
其中所述第一处理器被配置为通过Inter-IC Sound(I2S)总线的字选择信号线发送所述字选择信号。
17.根据权利要求13所述的系统,其中所述第二处理器被进一步配置为在从所述第一处理器发送的至少一个帧的头中检测标记字,以及基于所检测到的标记字同步所述第二多个帧的发送。
18.根据权利要求10所述的系统,其中所述第一处理器被进一步配置为在第一队列中存储计划发送到所述第二处理器的数据帧;在第二队列中存储计划发送到所述第二处理器的语音帧;以及基于语音优先方案,先于所述数据帧发送所述语音帧到所述第二处理器。
19.一种使用能访问网络接口的第一处理器作为不能访问所述网络接口的第二处理器的代理的方法,包括:
通过Inter-IC Sound(I2S)总线在所述第一处理器和所述第二处理器之间建立数据链路;以及
通过所述数据链路由所述第二处理器访问所述网络接口。
20.根据权利要求19所述的方法,其中访问所述网络接口包括配置所述网络接口。
21.根据权利要求20所述的方法,其中配置所述网络接口包括配置网络地址穿越(NAT)功能。
22.根据权利要求20所述的方法,其中配置所述网络接口包括配置发送控制协议(TCP)/因特网协议(IP)栈。
23.一种多处理器系统,包括:
第一处理器;
第二处理器;
连接所述第一处理器和所述第二处理器的Inter-IC Sound(I2S)总线,以及
连接到所述第一处理器但不连接到所述第二处理器的网络接口;
其中所述第二处理器被配置为通过所述I2S总线建立与所述第一处理器的数据链路,以及通过所述数据链路访问所述网络接口。
24.根据权利要求23所述的系统,其中所述第二处理器适于通过配置网络地址穿越(NAT)功能来配置所述网络接口。
25.根据权利要求24所述的系统,其中所述第二处理器适于通过配置发送控制协议(TCP)/因特网协议(IP)栈来配置所述网络接口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97683307P | 2007-10-02 | 2007-10-02 | |
US60/976,833 | 2007-10-02 | ||
PCT/US2008/077882 WO2009045904A1 (en) | 2007-10-02 | 2008-09-26 | System and method for inter-processor communication |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101861577A true CN101861577A (zh) | 2010-10-13 |
Family
ID=40526626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880116333A Pending CN101861577A (zh) | 2007-10-02 | 2008-09-26 | 用于处理器间通信的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8755309B2 (zh) |
EP (1) | EP2195746B1 (zh) |
JP (1) | JP5363490B2 (zh) |
KR (1) | KR101163868B1 (zh) |
CN (1) | CN101861577A (zh) |
CA (1) | CA2701205C (zh) |
WO (1) | WO2009045904A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156957A (zh) * | 2011-01-25 | 2011-08-17 | 深圳市朗驰欣创科技有限公司 | 一种智能分析图像的方法、装置以及系统 |
CN103488605A (zh) * | 2013-09-24 | 2014-01-01 | 许继集团有限公司 | 多处理器并行通讯的总线架构 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5363490B2 (ja) | 2007-10-02 | 2013-12-11 | オープンピーク インコーポレイテッド | プロセッサ間通信のためのシステムおよび方法 |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8635412B1 (en) | 2010-09-09 | 2014-01-21 | Western Digital Technologies, Inc. | Inter-processor communication |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US8775707B2 (en) | 2010-12-02 | 2014-07-08 | Blackberry Limited | Single wire bus system |
EP2487858B1 (en) * | 2011-02-04 | 2013-12-18 | BlackBerry Limited | Systems and methods for encoding control messages in an audio bitstream |
US9032131B2 (en) | 2011-02-04 | 2015-05-12 | Blackberry Limited | Systems and methods for encoding control messages in an audio bitstream |
US9158670B1 (en) | 2011-06-30 | 2015-10-13 | Western Digital Technologies, Inc. | System and method for dynamically adjusting garbage collection policies in solid-state memory |
US8718806B2 (en) | 2011-09-02 | 2014-05-06 | Apple Inc. | Slave mode transmit with zero delay for audio interface |
EP2581903B1 (en) * | 2011-10-12 | 2017-08-23 | BlackBerry Limited | Systems and methods for reducing audio disturbance associated with control messages in a bitstream |
US8825497B2 (en) | 2011-10-12 | 2014-09-02 | Blackberry Limited | Systems and methods for reducing audio disturbance associated with control messages in a bitstream |
US9479275B2 (en) | 2012-06-01 | 2016-10-25 | Blackberry Limited | Multiformat digital audio interface |
CN104541473B (zh) | 2012-06-01 | 2017-09-12 | 黑莓有限公司 | 基于概率方法的用于保证多格式音频系统中的锁定的通用同步引擎 |
US9461812B2 (en) | 2013-03-04 | 2016-10-04 | Blackberry Limited | Increased bandwidth encoding scheme |
US20160012007A1 (en) * | 2014-03-06 | 2016-01-14 | Knowles Electronics, Llc | Digital Microphone Interface |
US9473876B2 (en) | 2014-03-31 | 2016-10-18 | Blackberry Limited | Method and system for tunneling messages between two or more devices using different communication protocols |
JP6043764B2 (ja) * | 2014-08-25 | 2016-12-14 | 京セラ株式会社 | 通信端末 |
KR101797929B1 (ko) * | 2015-08-26 | 2017-11-15 | 서경대학교 산학협력단 | 매니코어 플랫폼에서 코어에 프로세스를 할당하는 방법 및 코어 프로세스간 통신 방법 |
US10235324B2 (en) * | 2015-09-30 | 2019-03-19 | Nxp Usa, Inc. | Interconnect sharing with integrated control for reduced pinout |
JP6643104B2 (ja) | 2016-01-22 | 2020-02-12 | キヤノン株式会社 | 放射線撮像装置、放射線撮像装置の制御方法、放射線撮像システム |
TWI695313B (zh) * | 2019-02-15 | 2020-06-01 | 矽統科技股份有限公司 | 音訊介面偵測裝置及方法 |
EP3726393B1 (en) * | 2019-04-15 | 2023-05-31 | ams AG | Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method |
WO2020173807A1 (en) * | 2019-02-25 | 2020-09-03 | Ams Ag | Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method |
CN115280825A (zh) * | 2020-03-17 | 2022-11-01 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN113726485A (zh) * | 2021-07-15 | 2021-11-30 | 深圳市有为信息技术发展有限公司 | 用于商用车车载终端的多处理器间的通信方法及车载终端 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4177514A (en) * | 1976-11-12 | 1979-12-04 | General Electric Company | Graph architecture information processing system |
US4757525A (en) * | 1982-09-29 | 1988-07-12 | Vmx, Inc. | Electronic audio communications system with voice command features |
US5023778A (en) * | 1990-03-23 | 1991-06-11 | General Motors Corporation | Interprocessor communication method |
US6307868B1 (en) * | 1995-08-25 | 2001-10-23 | Terayon Communication Systems, Inc. | Apparatus and method for SCDMA digital data transmission using orthogonal codes and a head end modem with no tracking loops |
US6046823A (en) * | 1998-03-12 | 2000-04-04 | Avision Inc. | Interface control for analog signal processing |
US6763017B1 (en) * | 1998-09-30 | 2004-07-13 | Cisco Technology, Inc. | Method and apparatus for voice port hunting of remote telephone extensions using voice over packet-data-network systems (VOPS) |
JP4006871B2 (ja) | 1999-02-25 | 2007-11-14 | 株式会社デンソー | シリアル通信装置 |
US6535018B1 (en) * | 2000-07-26 | 2003-03-18 | Cirrus Logic, Inc. | Voltage level shifting circuits and methods and systems using the same |
AUPR604201A0 (en) * | 2001-06-29 | 2001-07-26 | Hearworks Pty Ltd | Telephony interface apparatus |
US7260090B2 (en) * | 2002-04-26 | 2007-08-21 | Ontash & Ermac, Inc. | Analog gateway |
US7996588B2 (en) * | 2002-10-04 | 2011-08-09 | Hewlett-Packard Company | Method and apparatus for real-time transport of multi-media information in a network |
US7313136B2 (en) | 2003-06-26 | 2007-12-25 | Nokia Corporation | Method and system establishing a data link layer protocol on a I2C™ physical layer connection |
US20040263695A1 (en) * | 2003-06-30 | 2004-12-30 | Castillo Mike J. | Multi-processor media center |
US20060133343A1 (en) * | 2004-12-22 | 2006-06-22 | Nokia Corporation | Multi homing transport protocol on a multi-processor arrangement |
US7778718B2 (en) * | 2005-05-24 | 2010-08-17 | Rockford Corporation | Frequency normalization of audio signals |
US20070015516A1 (en) * | 2005-07-12 | 2007-01-18 | Huotari Allen J | Access point with location application systems and methods |
JP2007026033A (ja) | 2005-07-15 | 2007-02-01 | Fujitsu Ltd | 半導体装置及び半導体装置の動作モード自動判定方法 |
US8213895B2 (en) * | 2005-10-03 | 2012-07-03 | Broadcom Europe Limited | Multi-wideband communications over multiple mediums within a network |
US20070112962A1 (en) * | 2005-11-14 | 2007-05-17 | Steve Lewontin | Network connection establishment using out of band connection request |
US20100042740A1 (en) * | 2006-06-26 | 2010-02-18 | Nxp B.V. | Method and device for data packing |
US20080233869A1 (en) * | 2007-03-19 | 2008-09-25 | Thomas Baker | Method and system for a single-chip fm tuning system for transmit and receive antennas |
JP5363490B2 (ja) | 2007-10-02 | 2013-12-11 | オープンピーク インコーポレイテッド | プロセッサ間通信のためのシステムおよび方法 |
-
2008
- 2008-09-26 JP JP2010528044A patent/JP5363490B2/ja active Active
- 2008-09-26 KR KR1020107009685A patent/KR101163868B1/ko active IP Right Grant
- 2008-09-26 CN CN200880116333A patent/CN101861577A/zh active Pending
- 2008-09-26 EP EP08836345.2A patent/EP2195746B1/en active Active
- 2008-09-26 CA CA2701205A patent/CA2701205C/en active Active
- 2008-09-26 US US12/239,269 patent/US8755309B2/en active Active
- 2008-09-26 WO PCT/US2008/077882 patent/WO2009045904A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156957A (zh) * | 2011-01-25 | 2011-08-17 | 深圳市朗驰欣创科技有限公司 | 一种智能分析图像的方法、装置以及系统 |
CN103488605A (zh) * | 2013-09-24 | 2014-01-01 | 许继集团有限公司 | 多处理器并行通讯的总线架构 |
Also Published As
Publication number | Publication date |
---|---|
CA2701205A1 (en) | 2009-04-09 |
EP2195746A1 (en) | 2010-06-16 |
WO2009045904A1 (en) | 2009-04-09 |
US20090116475A1 (en) | 2009-05-07 |
EP2195746B1 (en) | 2014-03-26 |
EP2195746A4 (en) | 2010-12-22 |
KR101163868B1 (ko) | 2012-07-13 |
US8755309B2 (en) | 2014-06-17 |
JP5363490B2 (ja) | 2013-12-11 |
JP2010541101A (ja) | 2010-12-24 |
KR20100083806A (ko) | 2010-07-22 |
CA2701205C (en) | 2015-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101861577A (zh) | 用于处理器间通信的系统和方法 | |
US7185094B2 (en) | Media session framework using a control module to direct and manage application and service servers | |
EP1856886B1 (en) | Method and apparatus for providing remote audio | |
US6658477B1 (en) | Improving the control of streaming data through multiple processing modules | |
US9807134B2 (en) | Method and device for filtering media packets | |
KR100889977B1 (ko) | 응용프로그램 및 서비스 서버 관리를 위한 프로토콜독립형 제어 모듈을 이용한 매체 세션 틀 | |
US6774927B1 (en) | Video conferencing method and apparatus with improved initialization through command pruning | |
TWI309128B (en) | Flexible and scalable integrated access device | |
US6349285B1 (en) | Audio bass management methods and circuits and systems using the same | |
US9231860B2 (en) | System and method for hierarchical link aggregation | |
US9780894B2 (en) | Systems for synchronous playback of media using a hybrid bluetooth™ and Wi-Fi network | |
US8085809B2 (en) | Codec converter, gateway device, and codec converting method | |
MXPA06001691A (es) | Metodo para realizar transporte de datos sobre un bus en serie usando protocolo de internet y aparato para usarse en el metodo. | |
US20170019198A1 (en) | System for synchronous playback of media using a hybrid bluetooth™ and wi-fi network | |
US20020174244A1 (en) | System and method for coordinating, distributing and processing of data | |
WO2023169202A1 (zh) | 视频流数据获取方法、装置、电子设备和计算机可读介质 | |
US7400617B1 (en) | Integrated voice-over-internet protocol processor | |
JP4496987B2 (ja) | コンテンツ送信サーバ、システム及びサーバプログラム | |
US7165114B1 (en) | Web streaming in a messaging system | |
WO2010020646A2 (en) | A method of processing packetised data | |
FR2760917A1 (fr) | Terminal de radiocommunication pour le traitement de donnees de serveurs internet notamment | |
CN103297314A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: ID8 GROUP R2 STUDIOS, INC. Free format text: FORMER OWNER: OPENPEAK INC. Effective date: 20140410 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20140410 Address after: American California Applicant after: ID8 Group R2 Studios, Inc. Address before: American Florida Applicant before: Openpeak Inc. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101013 |