CN107148765B - 数字附件接口 - Google Patents
数字附件接口 Download PDFInfo
- Publication number
- CN107148765B CN107148765B CN201580059255.8A CN201580059255A CN107148765B CN 107148765 B CN107148765 B CN 107148765B CN 201580059255 A CN201580059255 A CN 201580059255A CN 107148765 B CN107148765 B CN 107148765B
- Authority
- CN
- China
- Prior art keywords
- data
- transmitting
- frame
- frames
- symbols
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
- H04L5/16—Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
- H04L5/18—Automatic changing of the traffic direction
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Bidirectional Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种用于通过半双工有线通信链路传送数据的方法,包括在多个帧中的每个帧中:在第一方向上传送同步数据模式;在所述第一方向上传送第一有效载荷数据;在与所述第一方向相反的第二方向上传送第二有效载荷数据;以及传送控制数据,其中该帧的格式使得,不管是在所述第一方向上传送所述控制数据还是在所述第二方向上传送所述控制数据,在每个帧中仅存在数据传送方向的一对反转。
Description
本发明涉及通过有线通信链路传送数据的方法。具体地说,本发明涉及适合于例如在主机设备和通过可移除的电缆连接到主机设备的附件之间传送数字数据的接口。
当将附件(诸如,具有至少一个麦克风和至少一个扬声器的耳机)连接到主机设备(诸如,移动电话)时,通常需要将信号从主机设备传输到附件以及从附件传输到主机设备。
由于许多现有主机设备和附件设备都配备有标准4针插座或插孔,因此提供可以使用总共四根导线用于连接的接口具有优势。由于所述导线中的一个被用于接地连接,因此只有三个信号导体可用。有利的是,使用这些导体中的一个来将电力从主机设备提供到附件,以避免在附件中提供电池的需要,因此只有两个导体可用于将信号从主机设备传送到附件和从附件传送到主机设备。
在使用平衡传输时有众所周知的优点,例如,降低电磁干扰(EMI)发射和提高灵敏度,但是这需要每个通信路径使用两根导线,而不是一根导线。
这些因素意味着,可能优选的是,在一根导线上(或在一对导线上)在主机设备和附件之间提供双向(半双工)链路,而不是提供一个全双工链路,该全双工链路将在一根导线上具有从主机设备到附件的连接,并且在另一根导线上具有从附件到主机设备的连接。
伴随在单根导线上双向链路而出现的一个问题是需要考虑主机设备和附件之间的传输延迟。例如,当在第一方向上从第一设备向第二设备传送一个数据符号时,它在某一时间延迟之后到达第二设备。然后,如果要求是应从第二设备向第一设备传输下一个数据符号,则在该下一个数据符号由第一设备接收之前存在另一个传输延迟。
根据本发明的第一方面,提供了一种用于通过半双工有线通信链路传送数据的方法,包括在多个帧中的每个帧中:
在第一方向上传送同步数据模式;
在所述第一方向上传送第一有效载荷数据;
在与所述第一方向相反的第二方向上传送第二有效载荷数据;以及
传送控制数据,其中该帧的格式使得,不管是在所述第一方向上传送所述控制数据还是在所述第二方向上传送所述控制数据,在每个帧中仅存在数据传送方向的一对反转。
所述方法可以包括在所述第一方向上传送所述同步数据模式和在所述第二方向上传送所述第二有效负载数据之间,在所述第一方向上或在所述第二方向上传送所述控制数据。
所述方法可以包括在每个帧开始时在所述第一方向上传送所述同步数据模式。
所述同步数据模式可以包括不同物理信号电平的两个符号。
所述同步数据模式可以仅由两个符号组成。
所述方法可以包括以在每个帧中可配置数目的符号在所述第一方向上传送第一有效载荷数据。
所述方法可以包括以在每个帧中可配置数目的符号在所述第二方向上传送第二有效载荷数据。
所述方法可以包括以在每个帧中四个或更少的符号传送控制数据。
所述方法可以包括以在每个帧中仅一个符号传送控制数据。
当在多个所述帧中传送数据时,所述方法可以包括:
在第一多个所述帧中在第一方向上传送所述控制数据,以及
在第二多个所述帧中在第二方向上传送所述控制数据。
所述方法可以包括在多个所述帧中传送数据,其中所述帧被分组在超帧中,在每个超帧中具有预定数目的帧;其中来自一个超帧中的多个帧的控制数据被组合以形成至少一个控制命令。
每个控制命令可以包括形成命令标识符的第一多个符号,以及形成该控制命令的操作数的第二多个符号。
所述第一多个符号可以形成识别地址命令、读取命令、写入命令和CRC命令中的一个或多个的命令标识符。
来自一个超帧中的多个帧的控制数据可以包括与在所述第一方向上发送的数据相关的CRC和与在所述第二方向上发送的数据相关的CRC中的至少一个。
根据本发明的第二方面,提供了一种用于根据第一方面的方法通过半双工有线通信链路传输和接收数据的设备,所述设备被配置成,在多个帧中的每个帧中:
在第一方向上传输同步数据模式;
在所述第一方向上传输第一有效载荷数据;
在与所述第一方向相反的第二方向上接收第二有效载荷数据;以及
传输或接收控制数据,其中该帧的格式使得,不管是在所述第一方向上传输所述控制数据还是在所述第二方向上传输所述控制数据,在每个帧中仅存在数据传送方向的一对反转。
根据本发明的第二方面,提供了一种用于根据第一方面的方法通过半双工有线通信链路传输和接收数据的设备,所述设备被配置成,在多个帧中的每个帧中:
在第一方向上接收同步数据模式:
在所述第一方向上接收第一有效载荷数据;
在与所述第一方向相反的第二方向上传输第二有效载荷数据;以及
传输或接收控制数据,其中该帧的格式使得,不管是在所述第一方向上传送所述控制数据还是在所述第二方向上传送所述控制数据,在每帧中仅存在数据传送方向的一对反转。
当指定多个方法步骤时,应理解,执行步骤的顺序可以是或可以不是所列出步骤的顺序。
为了更好地理解本发明,以及示出如何实施本发明,现在将以实施例的方式参考附图,在附图中:
图1例示了根据本发明的一个方面的系统;
图2例示了该系统的逻辑拓扑;
图3例示了一个帧结构;
图4至图6例示了第一设备和第二设备之间的信号时序;
图7例示了一个命令帧结构;
图8至17例示了多个命令的格式;以及
图18例示了被配置用于如在本文中所描述的那样操作的第一设备和第二设备。
图1示出了一个音频系统,仅作为使用在本文中所描述的方法的系统的一个实施例。
具体地,图1示出了主机设备10,该主机设备在此实施例中表现为智能手机的形式,但该主机设备可以是任何设备。该方法可以在主机设备是便携式音频设备的情形下使用,但也可以在其他情形下使用。在此实施例中,该主机设备具有音频处理能力。
图1还示出了附件设备20,该附件设备在此实施例中表现为一对耳机的形式,但该附件设备可以是任何设备。在此实施例中,该对耳机具有两个听筒22、24,每个听筒包括一个用于响应于从主机设备10传送的音频信号再现声音的扬声器。每个听筒22、24还包括至少一个麦克风,例如,用于检测佩戴者附近的环境噪声。
表示环境声音的信号然后从耳机传送到主机设备10,该主机设备10使用算法执行噪声消除功能,并且生成传送到耳机用于回放的抗噪声信号。回放抗噪声信号的效果是,降低由穿戴者听到的环境噪声的水平,并且也从主机设备10传送的希望的声音(音乐、语音等)因此是更听得见的。
附件设备20通过电缆30连接到主机设备10。在一个实施例中,电缆30可以设置有常规的4极TRRS插孔,而主机设备10设置有匹配的4极插座。在其他实施例中,该电缆可以是任何合适的格式,例如,它可以是USB Type-C连接器,该USB Type-C连接器类似地具有可用于音频接口的四个极。作为另一个替代方案,该附件设备(或主机设备)可以设置在USB棒加密狗(USB Stick dongle)中,其中通过USB兼容有线通信链路在该加密狗和其他设备之间传送数据。
图2示出了该系统的逻辑拓扑。因此,图2示出了通过总线60连接的主设备40和从设备50。主设备40和从设备50通常每个具有多个音频端口,例如,A、B、C、D。在本文中所描述的方法允许同步数据流在这些端口之间流动,从主设备向从设备(在本文中被称为“下行”方向)或从从设备向主设备(在本文中被称为“上行”方向)。总线上的任何一个端口是源或宿。源端口提供同步流,而宿端口接收它们。源端口和宿端口都可以安置在主设备或从设备上。
为了例示,在图1中示出的实施例中,主设备40可以设置在主机设备10中,而从设备50可以设置在附件20中。
在此情况下,源端口是生成数据的设备,例如诸如,在听筒22,24中的一个中的麦克风或主机设备10中的处理设备的输出。宿端口是接收数据的设备,例如诸如,在听筒22,24中的一个中的扬声器或主机设备10中的处理设备的输入。
作为实施例,端口可以提供或接收过采样的音频数据,诸如,脉冲密度调制(PDM)数据或脉冲编码调制(PCM)数据或批量数据,作为实施例。在音频数据的情况下,使用过采样数据允许以较低的延时生成、传输以及处理数据,因此有利于传送在噪声消除处理中使用的数据,在噪声消除处理中,对由检测到的环境噪声生成噪声消除信号花费的时间有重要的时间约束,而PCM(在较低采样率但是多位)固有地导致较长的延时,但是在总比特率方面通常更有效率。
在操作中,数据以半双工方式通过单个有线通信链路上行和下行传输。这可以是单根导线,或优选地是平衡的一对导线,以允许差分传输。第三根导线可以被用来从主机向附件提供电力或传递信息。第四根导线可以用作接地回路(ground return)。因此,可以使用标准4极插孔。替代地,可以使用标准USB或USB-On the Go连接器或多极连接器(诸如,USB Type-C连接器)的三根或四根(或更多根)导线。
数据位被编码成符号。在一个优选实施方案中,仅通过实施例的方式,单个符号编码单个位,使得具有值“0”的数据位的传输对应于施加在第一根导线上的逻辑高电平和施加在第二根导线上的逻辑低电平,然而具有值“1”的数据位的传输对应于施加在第一根导线上的逻辑低电平和施加在第二根导线上的逻辑高电平。可以使用多种编码方法来应用所描述的发明,不管编码符号所涉及的导线的数目和编码在单个符号中的数据位的数目如何。
图3示出了在主设备和从设备之间的传送数据的格式。从主主机设备到从附件的接口被设计且被配置成,在使用中,使得以超帧的格式传输数据,该超帧在所例示的实施例中包括128个帧,在图3的第一列中从0编号到127。每个帧具有相同可配置数目(N_symble)的符号槽(slot)。
数目N_symble例如可配置为在8到20的范围内。例如,N_symble可以具有默认值12,如果需要,该默认值可以变化。
在每个符号槽期间,总线上的接口中有且仅有一个(即,主设备或从设备)能够在总线上传输符号。如果两个接口同时尝试在总线上驱动数据符号,则冲突驱动电流将防止在接口之间正确传送数据符号,即使两个接口同时驱动的时间仅包括一个符号槽周期的一小部分。因此,帧和超帧结构实现严格的编配(orchestration),其中每个特定符号槽被分配给主设备或从设备,从而当一个正在传输时另一个正在接收。
另外,数据符号的正确传送要求,直到在前一个符号槽中在总线上通过第二接口传输的任何符号已经被完全传送,包括与该传送相关联的电缆上的传输延迟,第一接口才在任何下一个符号槽期间传输。
在此实施例中,每个帧仅含有两个同步(sync)符号,所述同步符号是从主设备传输的,并且没有同步符号是从从设备传输的。在此实施例中,两个同步(sync)符号是每个帧的前两个符号。
在此实施例中,在同步符号槽期间传输一个预定信号模式,使得从设备可以在每个帧中的相同位置中预测此信号模式,并且可以使用两个同步符号槽之间的接收信号电平中的转变来建立和/或维持其时钟的同步。在此实施例中,第一符号槽和第二符号槽分别编码逻辑‘0’和逻辑‘1’。
每个帧还含有许多专用于传输控制数据的符号槽。在所例示的实施例中,仅为每帧的控制数据提供单个符号槽,因为这将足够用于许多目的。在一些帧中可以从主设备向从设备传输控制数据,并且在其他帧中可以从从设备向主设备传输控制数据。在每个帧中存在分配给控制数据的多个符号槽的情况下,在至少一些帧中,可以分配这些符号槽中的一个或多个用于从主设备向从设备传输控制数据,并且可以分配这些符号槽中的一个或多个用于从从设备向主设备传输控制数据。
每个帧可以被配置成,在使用中,允许以半双工方式从主设备向设备下行传输许多符号(Nd)和从从设备向主设备上行传输多个符号(Nu)。对于超帧的所有帧,这些数字可以是相同的。
为了避免改变传输方向时的开销(overhead)或死区时间(dead time),同步符号、控制符号和信号(即,有效载荷)数据上行和下行的顺序被约束,以使得在每个帧中仅发生传输方向的一对反转。因此,单个符号槽可能足以适应主设备和从设备之间以及从从设备再次回到主设备的最大传输延迟。图3将此单个符号槽示出为“未使用的”。下文更详细地解释了此未使用的符号槽在帧中的位置。
因此,上行和下行信号数据符号的最大总数可以是N_symble减去同步符号、控制符号以及允许传输延迟的另一个符号的总数。在两个同步符号和一个控制符号的情况下,这允许每帧传输多达(N_symble-4)个信号数据符号。对于例如为20的N_symble,这给出80%的符号槽利用系数。换句话说,可用于同步符号、控制符号、上行数据和下行数据的符号槽的总数仅比N_symble少一个。
一个超帧中的帧的公共长度(N_symble)和符号在该超帧的多个帧中的分配可以在使用中即时(on-the-fly)编程。帧率可以是预定的,且符号率增加以适应每帧的更大数目的符号,以维持延时,而不是保持符号率恒定以及降低帧率。
数据符号的分配可以在一个超帧中从帧到帧不同。此灵活性有利地允许比特流过采样数据以最小延迟通过,同时允许有效地且方便地封包多位PCM字,并且允许任何传输延时的最小化。双向控制信道也可以有利地被即时地重新配置,以适应需要沿着链路上行或下行传递更多或更少控制数据的不同情景。
图3示出了如何同时在总线上传输不同的数据流。因此,图3示出了:
在每个偶数帧的两个符号槽中从从设备向主设备传输的第一PCM数据流(PCMA);
在每个奇数帧的三个符号槽中从从设备向主设备传输的第二PCM数据流(PCMB);
在每块四个连续的帧的前两个帧的三个符号槽中从主设备向从设备传输的第三PCM数据流(PCMD);
在每块四个连续的帧的最后两个帧的一个符号槽中从主设备向从设备传输的第四PCM数据流(PCME);
在每个帧的一个符号槽中从从设备向主设备传输的第一PDM数据流(PDMA);以及
在每个帧的一个符号槽中从主设备向从设备传输的第二PDM数据流(PDMF)。
图3还示出了如何在一些帧(例如,帧0、1和2)中从主设备向从设备且在另一些帧中(例如,帧3和4)从从设备向主设备传输控制符号。
图4示出了传输延迟的影响。具体地,在图4中,上图表示出了在主设备侧上观察到的随时间推移的帧格式,下图表示出了在从设备侧上的时间感知。在每个图表中,相应的中心水平线上方的符号表示由主设备驱动的符号,而相应的中心水平线下方的符号表示由从设备驱动的符号。在该绘图中,帧周期被定义为t帧,而符号周期被定义为t符号。
因此,前两个符号是实现从设备恢复符号时序的两个同步符号Sync0和Sync1,在固定相反信号电平处的两个连续的符号槽。
如图4中示出的,由从设备接收所述两个同步符号稍微晚于由主设备传输所述两个同步符号的时间。
所述同步符号之后是控制(ctrl)符号。单个超帧的128个控制符号(从每个帧取一个控制符号)一起构成控制帧,如下文更详细地描述的。控制帧中的每个符号可以在任一方向流动。控制数据的每个符号流动的方向由该控制帧中的先前数据位定义并且由主设备支配。
图4例示了两种替代可能性,所述可能性不能够同时在相同的帧中发生。因此,图4示出了在70处由主设备传输且在传输延迟之后在72处由从设备接收的控制符号。图4还示出了替代可能性,其中控制符号在74处由从设备传输并且在传输延迟之后在76处由主设备接收。
接着的N上行符号槽从从设备携带音频数据。存在一个空槽,在空槽中主设备或从设备都不传输任何数据。注意,在主设备侧上,来自从设备的上行数据的最后一个数据符号的很大一部分将在该空槽期间进入。在超帧中的这些N上行符号槽期间,数据位可以被编码并且被分组在一系列连续的符号中,以在从设备上的源端口和主设备上的宿端口之间传达音频流。
接着的N下行符号槽将音频数据从主设备携带到从设备。类似地,在此阶段期间数据位可以被编码并且被分组在一系列连续的符号中,以在主设备上的源端口和从设备上的宿端口之间传达音频流。
为数据分配的符号槽的数目由每帧的符号槽的总数确定。换句话说,(N上行+N下行)≤(N_symble-4)。
图5更详细地例示了该时序的一个实施例。
如前所述,每个帧具有从主设备传输到从设备的两个同步符号,然后是一个可以在任一方向上传输的控制符号,然后是从从设备向主设备传输的一系列数据符号D1、D2、...、DNu,以及从主设备向从设备传输的一系列数据符号D1、D2、...、DNd。传输延迟适用于在两个方向上的传输。从从设备向主设备传输的符号被例示为具有比从主设备向从设备传输的符号稍微较低的高度,但这仅仅是出于例示的目的并且不具有物理意义。
具体地,图5例示了为控制数据从主设备向从设备的传输分配双向控制槽的情况。
在此情况下,从设备接收控制符号,且然后在由附图标记90指示的延迟之后传输第一数据上行符号。因为在两个方向上的传输延迟以及从设备内的延迟90,在主设备传输控制符号的时间与主设备接收第一数据上行符号的时间之间存在由附图标记92指示的延迟。
与对应于符号周期的主设备符号传输时钟(未例示)同步地从主设备向从设备传输数据。因此,当数据传输的方向再次反转时,直到从下行传输的在前符号(在此情况下,恰在延迟92之前发送的控制符号)开始整数个符号周期之后,才传输第一数据下行符号。因此,当主设备接收最后一个数据上行符号时与直到它传输第一个数据下行符号时之间存在另一个延迟94。因为在两个方向上的传输延迟和此附加延迟94,在从设备传输最后一个数据上行符号的时间与从设备接收第一个数据下行符号的时间之间存在由附图标记96指示的延迟。
因此,当数据流的方向改变时,在每个设备处存在延迟。在主设备处看到的两个延迟92、94具有与在从设备处看到的两个延迟90、96相同的总长度。在此实施例中,在每种情况下,这两个延迟总计一个符号周期t符号。因为在每个帧中仅存在数据传输方向的两个这样的反转,所以与传输延迟相关联的总时间小于与更多方向改变相关联的总时间。
图6例示了该时序的另一个实施例,具有与图5中相同的帧结构,但是处于双向控制槽被分配用于从从设备向主设备传输控制数据的情况。
在此情况下,从设备接收第二同步符号,然后在由附图标记100指示的延迟之后传输控制数据符号。因为在两个方向上的传输延迟和从设备内部的延迟100,所以在主设备传输第二同步符号的时间与主设备接收控制符号的时间之间存在由附图标记102指示的延迟。
在此情况下,不需要第一数据上行符号和控制符号的传输之间的延迟。仅当数据传输方向反转时才存在另一个延迟,换句话说,当主设备接收最后一个数据上行符号时,它由于等待主设备符号传输时钟的下一个沿而在由附图标记104指示的延迟之后传输第一数据下行符号。因为在两个方向上的传输延迟和此延迟104,在从设备传输最后一个数据上行符号的时间和从设备接收到第一个数据下行符号的时间之间存在由附图标记106指示的延迟。
此外,当数据流动的方向改变时,在每个设备处存在延迟,并且在每个帧中仅存在两个这样的方向改变,即使控制符号在与图5中示出的方向相反的方向上。在主设备处看到的两个延迟102、104具有与在从设备处看到的两个延迟100、106相同的总长度。此外,这两个延迟(在每种情况下)总计一个符号周期t符号。
考虑到对于延时的约束以及使接口任一侧上的两个设备同步所需的开销,这确保帧周期的最大部分可以被有效地用于传输数据,这固有地优化每单位时间可以传送的数据符号的数目。作为所描述的符号槽的排序的结果,控制符号中的数据的方向对每单位时间可以传送的数据符号的最大数数目没有影响。
图7示出了的一个控制帧的结构,如上文所讨论的。在此实施例中,该控制帧由一个超帧的每个帧中的一个符号组成,因此该控制帧总共包括128个符号,其中每个符号编码单个位。
如上所述,该控制帧中的数据可以在任一方向上流动。数据流动的方向由一组规则定义,这些规则确保主设备和从设备在作为该控制帧的一部分的每个符号槽期间都知晓该方向。
该控制帧的以下描述讨论位槽,假设任何一个符号槽传达一位,但是只要数据符号仅编码在单个方向上流动的数据位,所描述的机制就可以适用于任何编码方案(即,每个符号2个或更多个数据位)。
在此例示的实施例中:
该控制帧的位0-15由主设备超帧循环冗余校验(CRC)MSFCRC组成,所述主设备超帧循环冗余校验保持对在前的超帧中由主设备发送的数据的循环冗余校验;
该控制帧的位16-21指示主设备的状态;
该控制帧的位22-37由从设备超帧循环冗余校验(SSFCRC)组成,所述从设备超帧循环冗余校验含有对在前的超帧中由从设备发送的数据的循环冗余校验;以及
位38-55、56-73、74-91、92-109和110-127含有五个命令CMD0、CMD1、CMD2、CMD3和CMD4的序列,每个命令由十八位组成,并且被用来执行主设备和从设备之间的控制数据传送。
如上所述,该控制帧的位16-21指示主设备的状态。更具体地,在一个实施例中,6位主设备状态保持以下主设备状态位:
在标准实施方式中,在CRC码本身的实际传输之前用“0”填充CRC。结果,当在数据传送期间没有引入位错误时,与所接收的CRC码本身级联的待被保护的所接收的比特序列a除以CRC多项式的余数得到全都为‘0’的余数。
通过用一个修改的填充序列填充CRC,此余数将具有一个不全都为‘0’的固定值,与待被保护的数据序列无关。
通过用一个特定的填充序列填充CRC,可以保证在不存在传输错误时余数全都为‘1’。
CRC计算的特性是,当在传送的数据序列中引入任意数目的错误时,在接收端上的所计算的余数可以以相同的可能性获得每个值。结果,通过允许单个修改的填充序列提供诸如与中断的传送相关联的二进制消息传递机制对CRC计算上的鲁棒性的影响仅使未检测到错误地接收的数据序列的概率增加2倍。这样的鲁棒性损失在即将到来的脚本中是可以接受的。
该控制帧还允许从设备通过应用上文所描述的使用一个修改的填充序列用于在分配传输SSFCRC的符号槽中计算SSFCRC的方法,而向主设备发送中断请求。
如上所述,每个控制帧允许传输五个命令,每个命令由十八位组成。这十八位在此实施例中由两位编码四个不同的可能的命令组成。
在此实施例中,所述四个可能的命令是:
命令 | 操作数 | 操作数来自 |
ADDR | 16位地址 | MA |
RD | 待要由主设备从从设备读取的16位数据字 | SL |
WR | 待要由主设备向从设备写入的16位数据字 | MA |
CRC | 对先前传送的16位循环冗余校验 | SL/MA |
每个命令之后是一个16位操作数或返回值。这可以确保所有命令落入18位网格中。固定网格确保,当从设备不正确地检测到命令中的单个位时,从设备始终能够恢复它们在命令序列中的位置,这使错误进一步扩大的风险最小化。
读取传送和写入传送由多个命令加上操作数或返回值的级联形成。定义基本命令的特定序列如何导致多种更复杂的传送的规则忽略了控制帧边界。因此,例如,占用18位槽中的两个的命令可以使用一个超帧中的两个连续的槽(例如,CMD0槽和CMD1槽),但是可以同样仅使用一个帧中的CMD4槽和随后一帧的CMD0槽。
因此,命令全部由主设备发布。当主设备未主动传送时,默认命令是CRC命令。每个传送序列都以一个ADDR命令开始。第二个ADDR命令可以被用来将16位部分地址扩展到32位完整地址。
然后,一个或两个ADDR命令之后是一个或多个RD命令或WR命令。随后的RD命令或WR命令对随后的寄存器寻址(因此,假设自动递增)。RD传送或WR传送的结束由一个CRC或随后的ADDR命令标记。
在WR之后的第一个CRC来自主设备,以保护传送的内容,包括地址。在WR之后的第二个CRC然后从从设备返回,以可靠地确认数据的接收。在RD之后的第一个CRC来自从设备,以保护传送的内容。
从设备上的完整性缓冲器实现在写入传送被传递例如到从设备内部的寄存器内之前校验并且清除/批准这样的写入传送。完整性缓冲器仅在从设备处于完整性模式时使用。否则,寄存器写入可以被直接馈送到寄存器内。
图8示出了用于基本16位数据、基本16位地址写入传送的命令的格式,由单个ADDR命令跟随一个WR命令构成。16位地址允许对可以由32位地址寻址的设备和端口的子集寻址。
图9示出了用于16位数据、全32位地址写入传送的命令的格式,由两个ADDR命令跟随一个WR命令构成。
图10示出了用于4×16位块、基本16位地址写入传送的命令的格式,由一个ADDR命令跟随四个WR命令构成。这仅是一个例示性实施例,因为任何数目的WR命令可以跟随单个ADDR命令。随后的字节字存储在随后的地址位置中。此自动递增功能仅适用于地址的RA部段,而不适用于DA或PA。
图11示出了基本16位数据、基本16位地址读取传送的命令的格式,由一个ADDR命令跟随一个RD命令构成,其中数据(data0)在此情况下从从设备向主设备传送。
类似地,如图12中示出的,使用两个ADDR命令允许全32位寻址。
此外,如图13中示出的,多个连续的RD命令形成一个块读取命令。
块写入和读取可以与全32位寻址以及基本寻址结合。
该命令方案还允许使用鲁棒的读取和写入。鲁棒的写入传送与非鲁棒的写入传送相同,不同之处在于鲁棒传送由来自主设备的CRC命令和CRC推断出。可以给出第二个CRC命令,从设备将通过CRC响应于该第二个CRC命令,以确认接收到在前的鲁棒写入传送。
除了添加CRC命令和后面的来自从设备的16位CRC,鲁棒的读取传送与非鲁棒的读取传送相同。
鲁棒的写入传送假设存在完整性缓冲器。在传送(读出或写入)期间,重新取回的数据将被写入到完整性缓冲器内。一旦通过CRC结束传送确认了传送的完整性,才从完整性缓冲器重新取回数据。仅在那时在写入传送的情况下它将找到其进入从设备的寄存器内的路径,或者在读取传送的情况下它将被主设备接受。
图14示出了用于鲁棒的块读取的命令序列,使用基本寻址,其中从从设备向主设备发送data0、datal和crc16,并且线
指示哪些数据位(CMD+OPERAND/RESPONSE)被相应的CRC覆盖。
图15示出了用于鲁棒的1-字写入的命令序列,使用全寻址,因此具有两个ADDR命令、一个WR命令和一个CRC命令。
图16示出了用于鲁棒的1字写入的命令序列,使用基本寻址,且使用回应,因此具有一个ADDR命令、一个WR命令和两个CRC命令,其中data0以及第一个crc16是从主设备向从设备发送的,且第二个crc16是从从设备向主设备发送的。
图17示出了用于鲁棒的长块写入的命令序列,使用基本寻址,因此具有一个ADDR命令、四个WR命令和两个CRC命令,其中data0、datal、第一个crc16、data2、data3和第二个crc16是以那个序列从主设备向从设备发送的。
图18示出了如上文所描述的系统的一个实施方案,示出了由总线124连接的主设备120和从设备122。
在此实施方案中,主设备侧上的时序由主设备时钟BCKM_R以符号率设定,并且通过在分频器126中将该主设备时钟除以每帧符号数目N_symble来获得帧时钟FCKM。(在其他实施方案中,FCKM可以被供应作为主设备时钟,并且通过时钟倍频器由该FCKM生成的BCKM_R,或者两个时钟都可以是从某个较高频率的主设备时钟向下分频的)。
BCKM_R时钟的相位对应于主设备120期望从从设备122接收数据符号的时序。因此,BCKM_R时钟信号通过反相器128被供应给接收块130,该接收块130接收从从设备传输的数据。此数据含有通信量数据(traffic data)和控制数据,因此所接收的信号被传递到多路分配器132,该多路分配器132将通信量数据提供给输出134,并且将控制数据供应给控制器136。
当主设备侧正在传输数据时,来自控制器136的控制数据在多路复用器138中与待被传送的通信量数据多路复用,并且被供应给输出寄存器140。BCKM_R时钟被传递通过延迟块142以生成时钟脉冲BCKM_T,该时钟脉冲BCKM_T的相位对应于主设备120意在传输数据符号的时序。BCKM_T时钟信号然后被用来将来自输出触发器140的输出数据锁存到缓冲器144。缓冲器144由定序块146控制,该定序块146在知晓一个帧中的哪些符号槽被分配用于从主设备向从设备传输的情况下,在正确的时间槽期间实现数据被传递通过缓冲器144。
当在从设备侧处接收数据时,脉冲被传递到时钟恢复电路160。如先前所述,在每个帧中曾经存在同步模式允许维持从设备与主设备的同步。时钟恢复电路160可以例如包括一个锁相环,其中压控振荡器生成作为恢复帧时钟FCKS的频率的倍数(在此实施例中,128倍)的时钟信号BCKS_R,BCKS_R对应于从设备122期望从主设备120接收数据符号的时序。因此,BCKS_R时钟信号通过反相器162被供应给接收块164,该接收块164接收从主设备传输的数据。此数据含有通信量数据和控制数据,因此所接收的信号被传递到多路分配器166,该多路分配器166将通信量数据供应给输出168,并且将控制数据供应给控制器170。
当从设备侧正在传输数据时,来自控制器170的控制数据在多路复用器172中与待被传送的通信量数据多路复用,并且被供应给输出寄存器174。BCKS_R时钟被传递通过延迟块176,以生成时钟脉冲BCKS_T,该时钟脉冲BCKS_T的相位对应于从设备122意在传输数据符号的时序。BCKS_T时钟信号然后被用来将来自输出寄存器174的输出数据锁存到缓冲器178。缓冲器178由定序块180控制,定序块180在知晓一个帧中的哪些符号槽被分配用于从从设备向主设备传输的情况下,在正确的时间槽期间实现数据被传递通过缓冲器178。
也以所述符号率将恢复的时钟BCKS_R传递到分频器182,从而通过将它除以每帧的符号数目来获得帧时钟FCKM。
Claims (16)
1.一种用于通过半双工有线通信链路传送数据的方法,包括在多个帧中的每个帧中:
在第一方向上传送同步数据模式;
在所述第一方向上传送第一有效载荷数据;
在与所述第一方向相反的第二方向上传送第二有效载荷数据;以及
传送控制数据,其中该帧的格式使得,不管是在所述第一方向上传送所述控制数据还是在所述第二方向上传送所述控制数据,在每个帧中仅存在数据传送方向的一对反转。
2.根据权利要求1所述的方法,包括在所述第一方向上传送所述同步数据模式和在所述第二方向上传送所述第二有效载荷 数据之间,在所述第一方向上或在所述第二方向上传送所述控制数据。
3.根据权利要求1或2所述的方法,包括在每个帧开始时在所述第一方向上传送所述同步数据模式。
4.根据权利要求1或2所述的方法,其中所述同步数据模式包括不同物理信号电平的两个符号。
5.根据权利要求1或2所述的方法,其中所述同步数据模式仅由两个符号组成。
6.根据权利要求1或2所述的方法,包括以在每个帧中可配置数目的符号在所述第一方向上传送第一有效载荷数据。
7.根据权利要求1或2所述的方法,包括以在每个帧中可配置数目的符号在所述第二方向上传送第二有效载荷数据。
8.根据权利要求1或2所述的方法,包括以在每个帧中四个或更少的符号传送控制数据。
9.根据权利要求1或2所述的方法,包括以在每个帧中仅一个符号传送控制数据。
10.根据权利要求1或2所述的方法,包括在多个所述帧中传送数据,所述方法包括:
在所述帧中的第一多个帧中在第一方向上传送所述控制数据,以及
在所述帧中的第二多个帧中在第二方向上传送所述控制数据。
11.根据权利要求1或2所述的方法,包括在多个所述帧中传送数据,
其中所述帧被分组在超帧中,在每个超帧中具有预定数目的帧;
其中来自一个超帧中的多个帧的控制数据被组合,以形成至少一个控制命令。
12.根据权利要求11所述的方法,其中每个控制命令包括形成命令标识符的第一多个符号,以及形成该控制命令的操作数的第二多个符号。
13.根据权利要求12所述的方法,其中所述第一多个符号形成识别地址命令、读取命令、写入命令和CRC命令中的一个或多个的命令标识符。
14.根据权利要求11至13中的任一项所述的方法,其中来自一个超帧中的多个帧的控制数据包括与在所述第一方向上发送的数据相关的CRC和与在所述第二方向上发送的数据相关的CRC中的至少一个。
15.一种用于根据权利要求1至14中的任一项所述的方法通过半双工有线通信链路传输和接收数据的设备,所述设备包括:
控制器;
输出寄存器;以及
接收块,其中所述设备被配置成,在多个帧中的每个帧中:
在第一方向上传输同步数据模式;
在所述第一方向上传输第一有效载荷数据;
在与所述第一方向相反的第二方向上接收第二有效载荷数据;以及
传输或接收控制数据,其中该帧的格式使得,不管是在所述第一方向上传输所述控制数据还是在所述第二方向上传输所述控制数据,在每个帧中仅存在数据传送方向的一对反转。
16.一种用于根据权利要求1至14中的任一项所述的方法通过半双工有线通信链路传输和接收数据的设备,所述设备包括:
接收块;
输出寄存器;以及
控制器,其中所述设备被配置成,在多个帧中的每个帧中:
在第一方向上接收同步数据模式:
在所述第一方向上接收第一有效载荷数据;
在与所述第一方向相反的第二方向上传输第二有效载荷数据;以及
传输或接收控制数据,其中该帧的格式使得,不管是在所述第一方向上传送所述控制数据还是在所述第二方向上传送所述控制数据,在每帧中仅存在数据传送方向的一对反转。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1419482.3A GB2531803B (en) | 2014-10-31 | 2014-10-31 | Digital accessory interface |
GB1419482.3 | 2014-10-31 | ||
PCT/GB2015/053266 WO2016067041A1 (en) | 2014-10-31 | 2015-10-30 | Digital accessory interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107148765A CN107148765A (zh) | 2017-09-08 |
CN107148765B true CN107148765B (zh) | 2021-03-16 |
Family
ID=52118564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580059255.8A Active CN107148765B (zh) | 2014-10-31 | 2015-10-30 | 数字附件接口 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9853804B2 (zh) |
EP (1) | EP3213455A1 (zh) |
KR (1) | KR102298483B1 (zh) |
CN (1) | CN107148765B (zh) |
GB (1) | GB2531803B (zh) |
WO (1) | WO2016067041A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2542970B (en) * | 2014-12-02 | 2018-08-08 | Cirrus Logic Int Semiconductor Ltd | Digital accessory interface calibration |
US10305671B2 (en) * | 2015-05-21 | 2019-05-28 | Cirrus Logic, Inc. | Synchronous differential signaling protocol |
WO2017072475A1 (en) * | 2015-10-27 | 2017-05-04 | Cirus Logic International Semiconductor Limited | Transfer of data with check bits |
US11374623B2 (en) * | 2020-05-27 | 2022-06-28 | Qualcomm Incorporated | Connected isochronous stream swapping |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102859904A (zh) * | 2010-02-22 | 2013-01-02 | 三星电子株式会社 | 在无线通信网络中管理资源的方法和设备 |
WO2013178274A1 (en) * | 2012-05-31 | 2013-12-05 | Phonak Ag | System and method for master-slave data transmission based on a flexible serial bus for use in hearing devices |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4675863A (en) * | 1985-03-20 | 1987-06-23 | International Mobile Machines Corp. | Subscriber RF telephone system for providing multiple speech and/or data signals simultaneously over either a single or a plurality of RF channels |
US7423586B2 (en) * | 2003-07-30 | 2008-09-09 | Siemens Aktiengesellschaft | Antennas array calibration arrangement and method |
WO2005096531A1 (en) * | 2004-04-02 | 2005-10-13 | Nortel Networks Limited | Wireless comunication methods, systems, and signal structures |
KR100465307B1 (ko) * | 2004-09-02 | 2005-01-13 | 이승한 | 유선케이블망을 위한 디지털 케이블 모뎀 장치 |
JP4949816B2 (ja) * | 2006-12-01 | 2012-06-13 | ルネサスエレクトロニクス株式会社 | 双方向通信回路、双方向通信システム及び双方向通信回路の通信方法 |
JP4343967B2 (ja) * | 2007-02-28 | 2009-10-14 | キヤノン株式会社 | 通信装置、及びその制御方法 |
KR101656288B1 (ko) * | 2011-01-31 | 2016-09-09 | 삼성전자주식회사 | 이동통신 시스템에서 간섭 기지국으로부터의 하향링크 간섭을 회피하기 위한 방법 및 장치 |
GB2491835A (en) * | 2011-06-13 | 2012-12-19 | Neul Ltd | Communication using time frames of at least one second duration |
US9722847B2 (en) * | 2012-10-30 | 2017-08-01 | Panasonic Corporation | Transmitter, receiver, transmission method, and reception method |
US9775151B2 (en) * | 2014-07-21 | 2017-09-26 | Intel IP Corporation | System and method for TDD communications |
-
2014
- 2014-10-31 GB GB1419482.3A patent/GB2531803B/en active Active
-
2015
- 2015-10-30 EP EP15791728.7A patent/EP3213455A1/en not_active Withdrawn
- 2015-10-30 US US14/928,179 patent/US9853804B2/en active Active
- 2015-10-30 CN CN201580059255.8A patent/CN107148765B/zh active Active
- 2015-10-30 KR KR1020177014491A patent/KR102298483B1/ko active IP Right Grant
- 2015-10-30 WO PCT/GB2015/053266 patent/WO2016067041A1/en active Application Filing
-
2017
- 2017-12-13 US US15/840,592 patent/US10298379B2/en active Active
-
2018
- 2018-06-28 US US16/021,793 patent/US10305670B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102859904A (zh) * | 2010-02-22 | 2013-01-02 | 三星电子株式会社 | 在无线通信网络中管理资源的方法和设备 |
WO2013178274A1 (en) * | 2012-05-31 | 2013-12-05 | Phonak Ag | System and method for master-slave data transmission based on a flexible serial bus for use in hearing devices |
Also Published As
Publication number | Publication date |
---|---|
EP3213455A1 (en) | 2017-09-06 |
US10298379B2 (en) | 2019-05-21 |
US10305670B2 (en) | 2019-05-28 |
CN107148765A (zh) | 2017-09-08 |
US20180102894A1 (en) | 2018-04-12 |
WO2016067041A1 (en) | 2016-05-06 |
GB201419482D0 (en) | 2014-12-17 |
US20180309564A1 (en) | 2018-10-25 |
KR20170098217A (ko) | 2017-08-29 |
US9853804B2 (en) | 2017-12-26 |
KR102298483B1 (ko) | 2021-09-03 |
US20170019244A1 (en) | 2017-01-19 |
GB2531803B (en) | 2017-12-20 |
GB2531803A (en) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10305670B2 (en) | Digital accessory interface | |
US10642570B2 (en) | Digital accessory interface calibration | |
US10649945B1 (en) | Non-native digital interface support over a two-wire communication bus | |
US10356504B2 (en) | Low latency transmission systems and methods for long distances in soundwire systems | |
US9929972B2 (en) | System and method of sending data via a plurality of data lines on a bus | |
CN105027104A (zh) | 用于多分支数字总线的方法和装置 | |
US20200136858A1 (en) | Content protection over synchronous data networks | |
CN116529720A (zh) | 菊花链网络中的节点发现和配置 | |
US10042796B2 (en) | Digital accessory interface calibration | |
CN107852320B (zh) | 通过半双工有线通信链路来传输和接收数据的设备和方法 | |
US10433060B2 (en) | Audio hub and a system having one or more audio hubs | |
CN109308177B (zh) | 一种音频处理装置、耳机及音频播放机 | |
CN116711328A (zh) | 麦克风阵列校准的系统与技术 | |
WO2024007027A1 (en) | Serial daisy-chained bus power for serial daisy-chained communication system | |
CN113841133A (zh) | 主机通信电路、客户端通信电路、通信系统、声音再现装置和通信方法 | |
GB2542371A (en) | Communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |