CN101361324B - 同步串行tdma总线上的流量控制机制 - Google Patents
同步串行tdma总线上的流量控制机制 Download PDFInfo
- Publication number
- CN101361324B CN101361324B CN2006800483462A CN200680048346A CN101361324B CN 101361324 B CN101361324 B CN 101361324B CN 2006800483462 A CN2006800483462 A CN 2006800483462A CN 200680048346 A CN200680048346 A CN 200680048346A CN 101361324 B CN101361324 B CN 101361324B
- Authority
- CN
- China
- Prior art keywords
- data
- nights
- stay
- information source
- section
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/43—Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Communication Control (AREA)
- Time-Division Multiplex Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
一种发送数据的方法,该方法使得流量控制信息可以与用户数据一起发送到同步总线上。通过识别信源和至少一个信宿来定义信道,并且这包括对传输协议子集的定义,传输协议子集指示了数据的流量控制要求。随后,在至少一个数据时隙(30)中,将数据从信源发送至总线上;并且如果被传输协议子集指示,则在与数据时隙相关的至少一个流量控制时隙(20)中,还将流量控制信息从信源发送至总线上。
Description
技术领域
本发明涉及一种用于在两个或多个集成电路之间传送数据的方法,并且涉及适于根据这种方法来进行操作的集成电路。
背景技术
在很多情况下,需要或者希望在两个或多个集成电路或芯片之间传送数据。例如,多个电子产品相对复杂,并且包括多个集成电路,并且它们需要能够彼此通信。
移动产业处理器接口(MIPI)联盟是致力于对移动应用处理器接口的规范进行定义的组织。其提出,应该提供芯片间或集成电路间的总线来对数字音频和低速数据进行传送。所提出的总线基于时分多址(TDMA)的原理。所提出的总线以同步的方式操作,并且包括时钟线和数据线。
同步TDMA总线是已知的,但是它们通常并不为流量控制数据传输提供灵活的方案。例如,AC’97(音频编解码器’97,修订版2.3、修订版1.0”,Intel,2002年4月)提供了针对提取的数据模型(按需采样)的非常基本的方法,但是并不允许例如UART仿真。S/PDIF接口(Sony/Philips数字互连格式,也是IEC 958类型II,它是IEC-60958标准的一部分)和Texas Instruments的McBSP接口并不提供流量控制机制。
发明内容
根据本发明的第一方面,提供了一种在同步TDMA总线上将数据从信源至少发送至一个信宿的方法,所述方法包括:
通过识别所述信源和所述至少一个信宿来定义信道;
定义传输协议子集,其中所述传输协议子集表示针对所述数据的流量控制要求;
在至少一个数据时隙中,将所述数据从所述信源发送至所述总线上;以及
如果被所述协议子集所表示,则在与所述数据时隙相关的至少一个流量控制时隙中,将流量控制信息从所述信源发送至所述总线上。
这具有这样的优势,即,可以与用户数据一起发送流量控制数据。根据本发明的第二方面,提供了一种电子装置,其适于通过第一方面的方法来发送和/或接收数据。
附图说明
图1是根据本发明来进行操作的电子装置的示意框图。
图2图示了在根据本发明的方法中所使用的数据格式。
图3图示了在根据本发明的方法中所使用的第二数据格式。
图4图示了根据本发明的两个装置的操作。
图5图示了根据本发明的两个装置的替换操作。
图6图示了根据本发明的两个装置的另一替换操作。
图7图示了根据本发明的两个装置的另一替换操作。
图8图示了根据本发明的两个装置的另一替换操作。
图9图示了在根据本发明的方法中所使用的第三数据格式。
图10图示了在根据本发明的方法中所使用的第四数据格式。
具体实施方式
图1图示了电子装置10的一部分,其中包括四个集成电路IC1、IC2、IC3、IC4,它们通过总线15进行互连。对本领域技术人员而言显然的是,电子装置10可包含任何希望数目的集成电路,也可包括其它组件,但是对于本发明的完整理解来说,没有必要将它们显示出来。
在所示的实施例中,总线15是同步总线。也就是说,数据在数据线上从一个装置传递至另一个装置,同时时钟信号在第二线上进行发送,且接收装置能够与时钟信号同步,所以它们能正确地接收正在数据线上传输的数据。
并且,总线15按照时分原理进行操作,时间被分成子帧,并且每个子帧被分成若干时隙,二进制信号在时隙中进行传输。在所示实施例中,每个时隙中可传输4位,每个子帧中存在32个时隙,因此每个子帧中可传输128位,但是可以理解的是,本发明可应用于其中的这些参数为任何适当值的系统。
在本发明的所示的实施例中,每个子帧都可分成两个部分,第一部分包括控制信道信息,第二部分包括有用的有效载荷数据。
图2图示了在本发明的一个实施例中的每个子帧的数据结构。具体地说,段可包括多达3个不同的位字段(bit field),即TAG字段20、AUX字段25和DATA字段30。
TAG字段20(如果存在)包括将会占据一个或两个时隙的位的集合。那么,TAG字段20的位被用于携带流量控制和流量信息,这将在下文进行详细描述。
AUX字段25(如果存在)包括将会占据一个或两个时隙的位的集合,其对与数据内容相关的信息进行传递,这在下文将进行详细描述。
DATA字段30将包括由数据信道所携带的有效载荷。DATA时隙将不会使用逻辑或信令(signaling)。未使用的位的值为逻辑0。
当将在总线15上传输数据时,必须定义信道。信道一次只有一个数据信源,并可能具有一个或多个数据信宿。按照定义,信源产生数据,而信宿使用数据。每个信道均还具有相关的传输协议子集(transport profile),它是信道的属性。传输协议子集定义了针对该特定信道是如何执行流量控制的,尤其是流量控制信息将应该如何被映射至TAG字段中的位或TAG位。
因此,如用于该信道的传输协议子集所定义的那样,TAG位被用作携带流量控制信息。一个或多个装置可能分别利用逻辑或信令来驱动每一单个TAG位。在每个装置中,每个TAG位均具有相关的读/写状态,其表示该装置是否应该读或者写TAG位。R/W缺省状态由所使用的协议子集定义。未使用的位的值为逻辑0。
当TAG位R/W状态被设置为“读”或者逻辑电平0时,装置读取TAG位逻辑电平。
当TAG位R/W状态被设置为“写”或者逻辑电平1时,装置具有更加复杂的行为。由于逻辑或信令方法和NRZI编码,写0表示通过将输出端保持为高阻抗状态来不改变数据线电平。写1表示对总线进行有效驱动以改变其电平(0至1,或1至0)。“写”0的装置应当实际地读取位电平,以便察看别人是否正在写1(在下文所描述的仲裁机制中使用)。
如图2所示,任何TAG位20都在AUX位25之前出现在子帧中,而AUX位25都出现在DATA位30之前。因此,信道段结构为[TAG][AUX][DATA]。
当不存在由传输协议子集定义的TAG位时,那么在信道段中就没有分配给TAG字段的时隙。那么,信道段结构为[AUX][DATA],或者仅为[DATA](如果也不存在定义的AUX位)。
AUX位独立于传输协议子集。当不存在定义的AUX位时,那么在信道段中就没有分配给AUX字段的时隙。那么,信道段结构为[TAG][DATA],或者仅为[DATA](如果也不存在定义的TAG位)。AUX时隙不应该使用逻辑或信令。未使用的位的值为逻辑0。
如上所述,在定义信道时必须规定所使用的协议子集。以下的表格给出了可以使用的协议子集以及ID,在定义信道时可通过ID来识别它们。
ID | 协议子集名称 | 类型 | TAG位的编号 |
0 | 同步 | 多播 | 0 |
1 | “近”同步 | 多播 | 2 |
2 | 按需采样 | 单播 | 2 |
3 | 异步 | 单播 | 4 |
4 | 扩展异步 | 单播 | 8 |
5..13 | 保留 | - | - |
14 | 用户定义1 | ? | 4 |
15 | 用户定义2 | ? | 8 |
同步协议子集不提供任何流量信息或者流量控制。它被用于携带其速率与信道速率完全匹配的数据。不存在使用的TAG位,因此TAG字段的大小为零时隙。图3示出了利用该协议子集的每个子帧的数据结构。具体地说,段包括AUX字段25并且包括DATA字段30。
可使用该协议子集的典型例子是在48kHz信道速率(每秒可获取48000次信道段)上传输48kHz采样速率的PCM音频(每秒可获取48000次采样)。
作为示例,当16位线性PCM音频将要在总线15上传输时,DATA字段是4时隙宽,且没有AUX位。那么,段的大小是4时隙(16位)。
如前面的表格中所提到的那样,同步协议子集允许多播。也就是说,它允许多个信宿与数据信道连接。
“近”同步协议子集不包括流量信息。它被用于携带其速率与信道速率不匹配的数据。它依赖于推模式。也就是说,信源将驱动数据流,并且TAG字段20中的位表示DATA字段中的数据的可用性。
在这个“近”同步协议子集中,如上面所提到的,要求两个TAG位。因此,如下面的表格所示,分配了一个时隙(4位),但是4位中的2位未使用。
位 | 名称 | 信源 | 信宿 | 描述 |
b3 | × | × | × | 不考虑 |
b2 | P | W | R | 存在位。P=1表示DATA字段中存在有效信息 |
b1 | H | R | W | 中肯位。每当设置P位时,信宿就必须在当前段中设置 |
H | ||||
b0 | × | × | × | 不考虑 |
当信源决定发送在DATA字段中的数据时,它将设置P位。当段未被信源使用时,它将对P进行复位(P=0),并且不会驱动AUX和DATA字段的位(高阻模式)。
(多个)信宿将读取P位以检测DATA字段中是否存在有效信息。如果P位被设置,信宿将读取数据字段。如果P位未被设置,DATA字段将被忽略。
每当信源设置P位时,(多个)信宿将设置H位。信源可读取H位值,以便验证至少一个信宿仍然同步。中肯(happy)位的支持对信宿装置而言是强制的,对信源装置而言是可选的。
设计“近”同步协议子集所针对的典型的使用示例是在48kHz信道速率(每秒可获取48000次信道段)上传输44.1kHz采样速率PCM音频(每秒可获取44100次采样)。每160个信道段可得到147个采样。因此,信宿必须忽略每160个信道段中的13个信道段。信宿将通过读取TAG时隙中的P位来获知使用哪些段、忽略哪些段。
“近”同步协议子集允许多个信宿与同一数据信道连接(多播)。
下面的表格给出了一系列事件的示例,其使得上述机制变得更清楚。
序列 | × | P | H | × | 注释 |
段i | × | 1 | 1 | × | 信源在段中放置有效(P=1)采样。信宿读取它并设置中肯位(H=1)。 |
段i+1 | × | 1 | 1 | × | 信源在段中放置有效(P=1)采样。信宿读取它并设置中肯位(H=1)。 |
段i+2 | × | 0 | 0 | × | 信源没有可用的采样,并对P进行复位。信宿忽略数据并对中肯位进行复位(H=0)。 |
段i+3 | × | 1 | 1 | × | 信源在段中放置有效(P=1)采样。 |
信宿读取它并设置中肯位(H=1)。 | |||||
段i+4 | × | 1 | 1 | × | 信源在段中放置有效(P=1)采样。信宿读取它并设置中肯位(H=1)。 |
段i+5 | × | 0 | 0 | × | 信源没有可用的采样,并对P进行复位。信宿忽略数据并对中肯位进行复位(H=0)。 |
段i+6 | × | 1 | 1 | × | 信源在段中放置有效(P=1)采样。信宿读取它并设置中肯位(H=1) |
段i+7 | × | 1 | 0 | × | 信源没有可用的采样,并对P进行复位。由于某些原因,信宿并不设置中肯位H。信源必须假设信宿不同步。 |
图4示出了一系列的状态图,其图示说明了用于实现“近同步”协议子集的可能的状态机。其依赖于存储了采样的FIFO(具有计数器C和大小L)。
在信源方,如图4(a)所示,采样发生器馈送数据至FIFO。其在给定速率下产生数据(SampleClockTick事件)。如果采样速率高于信道速率,C将达到缓冲器大小(C==L),并且将导致缓冲器溢出。
在信宿方,如图4(b)所示,应用(例如数模转换器)在给定速率下从FIFO接收采样(SampleClockTick事件)。理想上,该速率应该与信源采样速率完全匹配。如果不是这样的话,那么若信源速率高于信宿速率,信宿则可能面临缓冲器溢出(C==L),或者若信源速率低于信宿速率,信宿则可能面临缓冲器数据不足(C==0)。信宿将采取适当的动作来正确地处理这些错误状态。
按需采样协议子集提供流量控制机制,由此信宿能够在需要时向信源请求数据。所以它依赖于拉模式(pull model)。它提供具有一个信源和仅仅一个信宿的点到点链接。如上所述,需要两个TAG位。因此,如在下面的表格中所示的那样,分配了一个时隙(4位),但是4位中的2位未使用。
位 | 名称 | 信源 | 信宿 | 描述 |
b3 | × | × | × | 不考虑 |
b2 | P | W | R | 存在位。P=1表示DATA字段中存在有效信息。 |
b1 | SRQ | R | W | 采样请求。SRQ=1,则请求在下一段中的采样。 |
b0 | × | × | × | 不考虑 |
信宿将写入SRQ(采样请求)位的值。信源将读取SRQ位。当SRQ=1时,信源将提供在下一段中的有效采样,并且将设置P位以便表示采样的存在。当SRQ=0时,信源将在下一段中不写入任何数据,但是将对P进行复位,并且不会驱动AUX+DATA字段。不管何种原因,如果信源不能够及时响应采样请求,它将把P设置成逻辑0。这将在信宿中产生错误标志。
针对该协议子集的使用示例类似于“近”同步协议子集的那些示例。更具体地说,例如,当要求高端音频质量并且系统设计者并不希望依赖于总线时钟质量时,可以选择设计具有其自身的高质量时钟的数模转换器(DAC)。总线时钟和DAC时钟之间的频率失配将使用“按需采样”协议子集来处理。
下面的表格给出了一系列事件的示例,其使得上述机制变得更清楚。
序列 | × | P | SRQ | × | 注释 |
段i | × | 0 | 0 | × | 信源等待采样请求并且不在段中放置任何数据(P=0)。信宿还不需要采样(SRQ=0)并且忽略段数据。 |
段i+1 | × | 0 | 1 | × | 信源等待采样请求并且不在段中放置任何数据(P=0)。信宿忽略段数据并且在下一段中 |
请求采样(SRQ=1)。 | |||||
段i+2 | × | 1 | 1 | × | 信源在段中放置采样并且设置P=1。信宿读取段数据并且在下一段中请求采样(SRQ=1)。 |
段i+3 | × | 1 | 0 | × | 信源在段中放置采样并且设置P=1。信宿读取段数据并且在下一段中不请求采样(SRQ=0)。 |
段i+4 | × | 0 | 1 | × | 信源等待采样请求并且不在段中放置任何数据(P=0)。信宿忽略段数据并且在下一段中请求采样(SRQ=1)。 |
段i+5 | × | 0 | 0 | × | 信源未获取采样并且对P复位。在信宿中,这是个错误条件。信宿忽略数据并且在下一段中请求采样(SRQ=1)。 |
图5示出了一系列状态图,其图示说明了用于实现“按需采样”协议子集的可能的状态机。其依赖于存储了采样的FIFO(具有计数器C、大小L和阈值电平T)。
在信源侧,如图5(a)所示,采样发生器馈送数据至FIFO。其在给定速率下产生数据(SampleClockTick事件)。如果采样速率高于信道速率,C将达到缓冲器大小(C==L),并且将导致缓冲器溢出。当前段中的采样的释放以REQ为条件,它保留了前一段的SRQ位的值。
如图5(b)所示,信宿监视它的FIFO电平(C),如果它低于给定阈值(T),它就通过设置SRQ来向信源请求采样。
异步协议子集提供在串行同步链路上实现异步数据传输所必需的方法,其中包括流量控制信号。如上所述,在异步协议子集中,需要4个TAG位。因此,如在下面的表格中所示的那样,分配了一个时隙(4位)。
位 | 名称 | 信源 | 信宿 | 描述 |
b3 | T | W | W | 令牌。被数据信源用来表示它拥有AUX+DATA字段。 |
b2 | P | W | R | 存在位。P=1表示在DATA字段中存在有效信息。 |
b1 | CTS | R | W | 清除发送。CTS=0表示信源将停止发送数据。 |
b0 | DR | W | R | 装置准备就绪。在装置准备好通信时被设置。 |
对信道资源的占用(也就是AUX和DATA字段)由令牌管理。
对信道资源的写访问仅仅授权给拥有令牌的装置。在初始的信道分配阶段,被指定成数据信源的装置是主信道占用者。被指定成数据信宿的装置是次信道占用者。信道缺省为空闲。也就是说,任意一方都不占有令牌位,并且令牌位的逻辑值为0。当对T位进行了复位时,CTS和DR位将被复位成0。
优先级方案被用来防止主占用者和次占用者同时试图获取令牌。主占用者具有最高优先级,并且在对令牌进行仲裁时通过设置T位和P位来对其进行表示。相反地,当次占用者试图获取令牌时,它设置T位并读取P位。如果P位具有逻辑值1,那么次占用者就知道它还没有获得令牌,并且它将在进行新的尝试之前等待T位再次变成0。如果P位具有逻辑值0,那么次占用者得到令牌并开始它的传输。拥有令牌的装置将把自己配置成数据信源。另一装置实际上则变成数据信宿。当T位从逻辑0变成逻辑1时,P位就不再表示“存在”数据。它变成优先级位并且信宿将忽略在当前段中的数据。一旦信源准备好进行通信,它将设置DR(装置准备就绪)位以便对信宿表示传输将要开始。当信宿准备好接收数据,它将设置CTS(清除发送)位。
在信源有可用数据时,它将把该数据写入段的DATA字段中,并且将把TAG字段中的P(存在)位设置成逻辑值1以便对信宿表示段中可获取数据。如果信源没有任何可用数据,它将P位复位成逻辑值0并且将不驱动DATA字段。不管出于何种原因,如果信宿不再接收数据,它将CTS复位成逻辑值0,并且信宿不再发送任何新的数据,直到CTS位再次被设置为逻辑值1。
下面的表格给出了一系列事件的示例,其使得上述机制变得更清楚。
序列 | T | P | CTS | DR | 注释 |
段i | 0 | 0 | 0 | 0 | 信道空闲。主占用者和次占用者均不希望发送数据。 |
段i+1 | 1 | 1 | 0 | 0 | 主占用者请求令牌(T=1&P=1)。如果次占用者同时试图获取令牌,那么它输掉仲裁。主占用者变成信源,次占用者变成信宿。 |
段i+2 | 1 | 0 | 0 | 1 | 信源对其DR(装置准备就绪)位进行设置以对信宿表示发送将要开始 |
段i+3 | 1 | 0 | 1 | 1 | 信宿对CTS位进行设置以便对信源表示它准备接收数据。 |
段i+4 | 1 | 1 | 1 | 1 | 信源在段中写入有效DATA(P=1)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+5 | 1 | 0 | 1 | 1 | 信源没有任何数据写入段中(P=0)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+6 | 1 | 1 | 1 | 1 | 信源在段中写入有效DATA(P=1)。信宿允许数据出现在下 |
一段中(CTS=1)。 | |||||
段i+7 | 1 | 1 | 0 | 1 | 信源在段中写入有效DATA(P=1)。信宿不允许数据出现在下一段中(CTS=0)。 |
段i+8 | 1 | 0 | 0 | 1 | 信源不在段中写入有效DATA(P=0)。信宿不允许数据出现在下一段中(CTS=0)。 |
段i+9 | 1 | 0 | 1 | 1 | 信源不在段中写入有效DATA(P=0)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+10 | 1 | 1 | 1 | 1 | 信源在段中写入有效DATA(P=1)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+11 | 0 | 0 | 0 | 0 | 信源完成传输并释放令牌。它还对DR位进行复位。信宿也对CTS位进行复位。信道此时空闲。 |
段i+12 | 1 | 0 | 0 | 0 | 次占用者请求令牌。由于P=0,所以它获取令牌并且变成数据信源。主占用者变成数据信宿。 |
段i+13 | 1 | 0 | 0 | 1 | 信源对其DR(装置准备就绪)位进行设置以便对信宿表示传输将要开始。 |
段i+14 | 1 | 0 | 1 | 1 | 信宿对CTS位进行设置以便对信源表示它准备好接收数据。 |
段i+15 | 1 | 1 | 1 | 1 | 信源在段中写入有效DATA(P=1)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+16 | 1 | 1 | 1 | 1 | 信源在段中写入有效DATA(P=1)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+17 | 1 | 1 | 1 | 1 | 信源在段中写入有效DATA(P=1)。信宿允许数据出现在下一段中(CTS=1)。 |
段i+18 | 0 | 0 | 0 | 0 | 信源完成传输并释放令牌。它还对DR位进行复位。信宿也对其CTS状态进行复位。 |
异步协议子集仅用于具有一个信源和一个信宿的单播点到点链路。
图6示出了一系列状态图,其图示说明了用于实现“异步”协议子集的可能的状态机。其依赖于存储了数据字节的FIFO(具有计数器C和大小L)。
异步协议子集本质上是半双工的。也就是说,虽然数据可以从主占用者发送至次占用者,或者从次占用者发送至主占用者,但是任何时候它都只能在一个方向上发送。在需要全双工通信(其中两个装置能同时发送数据)时,则需要两个信道,其中每个信道都采用异步协议子集。当装置具有两个信道(其中每个信道都采用异步协议子集,两个信道附在其两个端口上,一个作为信源一个作为信宿)时,这就建立了双工链路。在该配置中,次信道占用者将绝不试图请求对令牌进行仲裁。如图7所示,异步协议子集可被用来对传统UART链路进行仿真,其中EIA232信号被映射至定义在异步协议子集中的TAG位。这允许现有UART软件驱动器以最少的修改量而被重新利用。
在图7中,TxD和TxD被用来表示发送管脚和接收管脚上的信号。管脚使用一位串行线路,而协议子集提供一个或多个字节,所以需要串行器(软件或硬件)来提供位流。
RTS(请求发送)和CTS(清除发送)是流量控制信号。异步协议子集未携带信源的RTS信号。信宿将总是声明它的CTS输入信号。由于信源并不需要调节信宿数据流量,所以这并不构成问题。
信源的RTS信号实际上触发了令牌请求,但不是经由专用位将其携带至信宿。令牌位将不用来驱动信宿的CTS电平。
信宿的RTS信号被映射至协议子集的CTS流量控制位。它将调节从信源到信宿的数据流量。
DTR发送信号来表示DTE(采用来自EIA232的命名)已经准备好了。对DTR信号的使用方式很大程度上取决于应用,但是由于传统原因,它由协议子集的DR位提供。
DSR发送信号来通知DTE:主要为调制解调器的DCE(同样采用来自EIA232的命名)实际上已经准备好通过电话线进行通信。DSR信号不是由协议子集提供的,并且应该总是被声明。
应该注意的是,UART的物理层将起始和停止位加入传输中。异步协议子集不需要使用这些同步位。也不实现可选的UART奇偶校验位。
如图8所示,两个装置A和B之间的全双工仿真依赖于采用异步协议子集的两个信道。
在这种情况下,装置A的RTS电平被馈入数据信道2的CTS位。它被装置B读取并且被映射在它的CTS输入信号上。装置B的RTS电平被馈入数据信道1的CTS位。它被装置A读取并且被映射在它的CTS输入信号上。
DTR发送信号来表示DTE(同样采用来自EIA232的命名)已经准备好了。使用DTR的方式很大程度上取决于应用,并且按照传统实现。装置A(被视为DTE)的DTR电平被馈入数据信道1的DR位。它被装置B读取并且被映射在它的DTR输入信号上。
DSR发送信号来表示DCE(同样采用来自EIA232的命名)已经准备好了。使用DSR信号的方式很大程度上取决于应用,并且按照传统实现。装置B(被视为DCE)的DSR电平被馈入数据信道2的DR位。它被装置A读取并且被映射在它的DTR输入信号上。
在信道速率较低而要求的数据速率较高的时候,多个字节可能被推送至段DATA字段中。以上定义的异步协议子集具有DATA字段,该DATA字段为2个时隙宽。可选地,还定义了扩展的异步协议子集,其DATA字段大小范围为4至28个时隙,每间隔为2个时隙。该扩展的异步协议子集的操作原理等同于异步协议子集的操作原理。
但是,对DATA字段中有多少个字节是有效的进行指示是强制的,这是因为消息长度可能不是DATA字段长度的倍数。其它TAG位将被用于对有效字节数量进行编码。
第二TAG时隙(4位)被分配用来对有效字节G的数量进行编码。帧结构将不允许段的DATA字段中出现多于14个字节。因此,G的范围是0至14。数值15是非法的。
位 | 名称 | 信源 | 信宿 | 描述 |
b7 | T | W | W | 令牌。被数据信源用来表示它拥有AUX+DATA字段。 |
b6 | P | W | W | 存在位。P=1表示在段的DATA字段中存在有效信息。在两个装置对令牌进行仲裁时,它也是优先级位。 |
b5 | CTS | R | W | 清除发送。CTS=0表示信源将停止发送数据。 |
b4 | DR | W | R | 装置准备就绪。在装置准备好通信时进行设置。 |
b3 | G3 | W | R | G值的最高有效位(MSB) |
b2 | G2 | W | R | G值的第二位 |
b 1 | G1 | W | R | G值的第三位 |
b0 | G0 | W | R | G值的最低有效位(LSB) |
下面的表格给出了一系列事件的示例,其使得上述机制变得更清楚。该示例假设DATA字段是16时隙宽的(8个字节),并且将要传输21个字节的消息(两个8个字节的包以及一个5个字节的包)。
序列 | T | P | CTS | DR | G | 注释 |
段i | 0 | 0 | 0 | 0 | 0 | 信道空闲。主占用者和次占用者均不希望发送数据。 |
段i+1 | 1 | 1 | 0 | 0 | 0 | 主占用者请求令牌(T=1&P=1)。主占用者变成信源,次占用者变成信宿。 |
段i+2 | 1 | 0 | 0 | 1 | 0 | 信源对其DR(装置准备就绪)位进行设置以对信宿表示发送将要开始。 |
段i+3 | 1 | 0 | 1 | 1 | 0 | 信宿对CTS位进行设置以便对信源表示它准备接收下一段中的数据。 |
段i+4 | 1 | 1 | 1 | 1 | 8 | 信源在段的数据字段中写入有效DATA(8字节)(P=1),信宿允许数据出现在下一段中(CTS=1)。 |
段i+5 | 1 | 1 | 0 | 1 | 8 | 信源在段的数据字段中写入有效DATA(8字节)(P=1),信宿不允许数据出现在下一段中(CTS=0)。 |
段i+6 | 1 | 0 | 1 | 1 | 0 | 信源不在段中写入有效DATA(P=0),信宿允许数据出现在下一段中(CTS=1)。 |
段i+7 | 1 | 1 | 1 | 1 | 5 | 信源在段中写入有效DATA(5字节)(P=1),信宿允许数据出现在下一段中(CTS=1)。 |
段i+8 | 1 | 0 | 1 | 1 | 0 | 信源不在段中写入有效DATA(P=0),信宿允许数据出现在下一段中(CTS=1)。 |
段i+9 | 0 | 0 | 0 | 0 | 0 | 信源完成传输并释放令牌。它还对DR位进行复位。信宿也对CTS位进行复位。信道此时空闲。 |
如上所述,也可将用户定义的协议子集提供给特定的、不可预见的传输类型。当在信道中使用用户协议子集时,假设的是,两个装置都知道TAG位的含义,也知道怎么对它们的改变作出反应。用户协议子集还定义了这些TAG位的缺省R/W状态。在一个实施例中,如上所示,可以提供两个用户定义的协议子集,第一个协议子集具有4个TAG位,而第二个协议子集具有8个TAG位。
如上所述,辅助(AUX)字段的位携带与DATA字段的内容相关的边带信息。它们通常取决于产生数据的装置的类型。AUX位由数据信源驱动。
例如,AUX字段可被用来为S/PDIF接口所要求的数据提供通道。IEC 60958标准定义了4位,这4位与音频数据和成帧信息同时传输。对于立体声或多信道操作,可能要求在总线上与数据一起携带这些位。S/PDIF帧由两个子帧唯一地组成,其中每个子帧由4位字节组成。
图9图示了子帧(例如,在线性PCM应用中)的格式。在帧中,第一子帧(立体声操作的左边或者“A”信道)通常以前导“M”开头。但是,如图10所示,每192个帧中,前导变化一次为前导“B”,以便识别用来组织信道状态信息的块结构的开始。第二子帧(立体声操作的右边或者“B”信道)通常以前导“W”开头。
图9所示的子帧的28至31位与图2所示的帧结构中的AUX位字段的定义有关,而该帧结构的DATA字段中将携带图9所示的子帧的4至27位。
因此,在图9中,位28“V”是有效性位,它是在信道不携带线性PCM音频时设置的;位29“U”是用户数据位,它是192位的块结构的一部分(见IEC 60958);位30“C”是信道状态,它是192位的块结构的一部分(见IEC 60958);以及位31“P”是奇偶校验位,它是这样计算的:4至31位(包括4位和31位)将携带偶数个1和偶数个0(也就是说,它们将具有偶数个奇偶校验)。
由于IEC 60958前导并不与数据一起发送,所以块结构的开始将以不同方式被宣布。S/PDIF发射器可很容易地重新构建P位,该位不携带关键信息。指示块结构的开始的“Z”位可以代替它。每到IEC 60958帧0就设置一次Z位,并且重新设置剩余时间。
位 | 名称 | 描述 |
b3 | Z | 块结构的开始 |
b2 | C | 信道状态位,在192位的块中组织 |
b1 | U | 用户数据位,在192位的块中组织 |
b0 | V | 有效性。在信道不携带线性PCM音频时进行设置 |
可针对特定的未定义的边带信息提供其它(用户定义的)AUX格式。当在信道中使用用户定义的格式时,假设的是,两个装置都知道每个AUX位的含义。提供了两种格式,第一种具有4个AUX位而第二种具有8个AUX位。
在定义信道时,必须规定使用中的AUX位的格式。以下表格给出了将被使用的格式ID。
AUX格式ID | AUX格式名称 |
0 | 无AUX位 |
1 | S/PDIF通道-4个AUX位 |
2...13 | 保留以备使用 |
14 | 用户定义的1-4个AUX位 |
15 | 用户定义的1-8个AUX位 |
因此,提供了一种发送数据的方法,其允许流量控制信息与用户数据一起在同步总线上传输。
虽然公开了本发明的示范性实施例,但是对所属领域技术人员而言明显的是,可以在不脱离本发明的精神和范围的情况下作出能够实现本发明优点的各种改变和修改。所附权利要求包括了这些对发明思想的修改,权利要求中的标号不应被解释为限制本发明的范围。并且,在说明书和所附权利要求中,“包括”的意思不应该被理解为排除其它元素或步骤。而且,“一个”或“一种”并不排除多个,以及单个处理器或其它单元可能完成权利要求中所陈述的多个装置的功能。
Claims (5)
1.一种以期望数据速率将数据从信源(IC1,IC2,…)发送到至少一个信宿(IC1,IC2,…)的方法,所述方法包括:
通过识别所述信源和所述至少一个信宿来定义信道,定义的信道具有信道速率;
定义传输协议子集,其中所述传输协议子集指示了针对所述数据的流量控制要求;
其特征在于还包括:
在至少一个数据时隙中,在同步TDMA总线(15)上将所述数据从所述信源发送至所述总线上;
如果被所述协议子集所指示,则在与所述数据时隙相关的至少一个流量控制时隙中在所述总线上将流量控制信息从所述信源发送至所述总线上;
其中定义传输协议子集的步骤包括从多个预定传输协议子集中选择协议子集;
所述预定传输协议子集之一是这样一个协议子集,其适用于当所述信源将要把数据推送至所述至少一个信宿并且期望数据速率小于信道速率时,并且
其中期望数据速率和信道速率是异步的。
2.如权利要求1所述的方法,其中,当定义了所述预定传输协议子集之一时,所述信源在与其间将要发送数据的数据时隙相关的每个流量控制时隙期间设置第一标志。
3.如权利要求2所述的方法,其中,一旦在流量控制时隙期间接收到所述第一标志,所述至少一个信宿中的每一个对在相关的数据时隙期间发送的数据进行读取。
4.如权利要求2或3所述的方法,其中,一旦在流量控制时隙期间接收到所述第一标志,所述至少一个信宿中的每一个在所述流量控制时隙期间设置第二标志。
5.如权利要求4所述的方法,其中所述信源对由所述至少一个信宿中的每一个所设置的第二标志施加逻辑或运算,以便获取组合的同步信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05112936 | 2005-12-23 | ||
NL05112936.9 | 2005-12-23 | ||
PCT/IB2006/055029 WO2007072463A2 (en) | 2005-12-23 | 2006-12-22 | Flow control mechanisms on synchronous serial tdma bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101361324A CN101361324A (zh) | 2009-02-04 |
CN101361324B true CN101361324B (zh) | 2012-04-18 |
Family
ID=38051120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800483462A Expired - Fee Related CN101361324B (zh) | 2005-12-23 | 2006-12-22 | 同步串行tdma总线上的流量控制机制 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9571397B2 (zh) |
EP (1) | EP1966942B1 (zh) |
JP (1) | JP4940478B2 (zh) |
KR (1) | KR20080086907A (zh) |
CN (1) | CN101361324B (zh) |
WO (1) | WO2007072463A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8477703B2 (en) * | 2009-06-24 | 2013-07-02 | Texas Instruments Incorporated | Channel utilization improvement in coexisting wireless networks |
EP2856690B1 (en) | 2012-06-01 | 2020-12-02 | BlackBerry Limited | Universal synchronization engine based on probabilistic methods for guarantee of lock in multiformat audio systems |
US9479275B2 (en) | 2012-06-01 | 2016-10-25 | Blackberry Limited | Multiformat digital audio interface |
US9939881B2 (en) * | 2013-09-17 | 2018-04-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management in a configurable bus |
US20180018296A1 (en) * | 2016-07-14 | 2018-01-18 | Qualcomm Incorporated | Flow control protocol for an audio bus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2411629Y (zh) * | 2000-01-12 | 2000-12-20 | 天津华诺通信有限公司 | 一种用于宽带码分多址无线接入系统的时分复用电路 |
CN1578483A (zh) * | 2003-07-28 | 2005-02-09 | 中兴通讯股份有限公司 | 一种基站组控系统及其实现方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5008901A (en) * | 1987-10-29 | 1991-04-16 | U.S. Robotics, Inc. | Asymmetrical duplex error-controlled modem |
US5222062A (en) | 1991-10-03 | 1993-06-22 | Compaq Computer Corporation | Expandable communication system with automatic data concentrator detection |
KR100383685B1 (ko) | 1994-06-28 | 2003-07-12 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 시분할다중접속디지털전송시스템및그시스템용스테이션 |
IL134287A0 (en) * | 1997-07-31 | 2001-04-30 | Stanford Syncom Inc | Means and method for a synchronous network communications system |
CA2261548A1 (en) * | 1998-03-06 | 1999-09-06 | Lucent Technologies Inc. | Time division multiple access communication system |
US7684380B2 (en) * | 2002-01-22 | 2010-03-23 | Freescale Semiconductor, Inc. | System and method for handling asynchronous data in a wireless network |
AU2003216068A1 (en) | 2002-01-22 | 2003-09-02 | Xtremespectrum, Inc. | Method for transmission of isochronous and asynchronous data in a radio network |
US20030137970A1 (en) * | 2002-01-22 | 2003-07-24 | Odman Knut T. | System and method for improved synchronization in a wireless network |
EP1387533A1 (en) | 2002-07-29 | 2004-02-04 | Motorola, Inc. | Communication of packet data units over signalling and traffic channels |
CN1622653A (zh) * | 2003-11-28 | 2005-06-01 | 皇家飞利浦电子股份有限公司 | 一种用于对td-scdma系统下行链路进行频率估测的装置和方法 |
US7920884B2 (en) * | 2004-06-04 | 2011-04-05 | Qualcomm Incorporated | Frame structures for a wireless communication system with multiple radio technologies |
US20060245533A1 (en) * | 2005-04-28 | 2006-11-02 | Arad Rostampour | Virtualizing UART interfaces |
-
2006
- 2006-12-22 WO PCT/IB2006/055029 patent/WO2007072463A2/en active Application Filing
- 2006-12-22 EP EP06842680.8A patent/EP1966942B1/en active Active
- 2006-12-22 CN CN2006800483462A patent/CN101361324B/zh not_active Expired - Fee Related
- 2006-12-22 KR KR1020087017905A patent/KR20080086907A/ko not_active Application Discontinuation
- 2006-12-22 US US12/158,997 patent/US9571397B2/en not_active Expired - Fee Related
- 2006-12-22 JP JP2008546826A patent/JP4940478B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2411629Y (zh) * | 2000-01-12 | 2000-12-20 | 天津华诺通信有限公司 | 一种用于宽带码分多址无线接入系统的时分复用电路 |
CN1578483A (zh) * | 2003-07-28 | 2005-02-09 | 中兴通讯股份有限公司 | 一种基站组控系统及其实现方法 |
Non-Patent Citations (1)
Title |
---|
IBM TDB.Interconnect bus protocol using dynamic flow control.《IP.COM PriorArtDatabase》.2003, * |
Also Published As
Publication number | Publication date |
---|---|
JP4940478B2 (ja) | 2012-05-30 |
JP2009534872A (ja) | 2009-09-24 |
WO2007072463A3 (en) | 2007-10-18 |
US20090268708A1 (en) | 2009-10-29 |
EP1966942B1 (en) | 2018-02-07 |
KR20080086907A (ko) | 2008-09-26 |
US9571397B2 (en) | 2017-02-14 |
CN101361324A (zh) | 2009-02-04 |
WO2007072463A2 (en) | 2007-06-28 |
EP1966942A2 (en) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101361324B (zh) | 同步串行tdma总线上的流量控制机制 | |
EP1835413B1 (en) | Data communication circuit and arbitration method | |
EP2862290B1 (en) | Multiple protocol tunneling using time division operations | |
CN100357922C (zh) | 用于实现流控制的方法和通用输入/输出接口 | |
CN100468373C (zh) | 经平台总线传送和接收网络协议顺应信号包的方法 | |
US8060672B2 (en) | Event signaling between peripheral modules and a processing unit | |
CN100416528C (zh) | 增强型通用输入/输出体系结构及在其中建立虚拟信道的有关方法 | |
CN105027104B (zh) | 用于多分支数字总线的方法和装置 | |
CN100442257C (zh) | 提供同步信道的通用输入/输出装置和方法 | |
US5848072A (en) | Method of and apparatus for communicating messages | |
CN101309258A (zh) | 高速以太网介质无关接口码块的分发和接收方法及装置 | |
CN100574257C (zh) | 用高优先级流量抢先低优先级流量 | |
CN103814367A (zh) | 具有通过用于串行芯片间数据传输的物理传输路径的逻辑多通道通信的通信装置 | |
CN1326057C (zh) | 用于与总线连接的总线系统和总线接口 | |
CN101674158A (zh) | 增强型通用输入/输出体系结构中的差错转发及有关方法 | |
TW200836070A (en) | Bus-based communication system | |
CN103502966A (zh) | 无端口通用设备(软件管理通用设备) | |
CN116529720A (zh) | 菊花链网络中的节点发现和配置 | |
TW587211B (en) | Method and apparatus for data transmission over an AC-97 protocol link | |
CN101473611B (zh) | 一种处理数据段的方法和装置以及一种通信系统 | |
CN102411921A (zh) | 编解码装置及其执行与驱动方法 | |
JP2003273741A (ja) | スケーラブル・インターフェースおよびその上でデータを伝送する方法 | |
JP2005332316A (ja) | データ分配装置、データ転送装置及び画像処理装置 | |
JPH03174643A (ja) | 直列データ母線用アプリケーシヨン特有集積回路 | |
CN116049075A (zh) | 一种面向嵌入式处理器的usart外设 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120418 Termination date: 20201222 |