HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

低功率、高带宽、低等待时间的数据总线的制作方法

2021-01-28 13:01:05|231|起点商标网
低功率、高带宽、低等待时间的数据总线的制作方法

相关申请的交叉引用

本申请要求2018年5月31日提交的美国临时专利申请no.62/678,993和2018年8月22日提交的美国临时专利申请no.62/721,412的优先权和权益;这些专利申请中的每一篇通过引用以其整体并入本文中。

本申请是2018年9月7日提交的美国专利申请no.16/125,617的部分继续,其通过引用以其整体并入本文中。

本公开一般涉及数据通信,并且更特别地,例如涉及用于在设备之间传送数字数据的系统和方法。



背景技术:

用于在电子设备之间发射和接收数字数据的各种接口是本领域中已知的。然而,现有接口不满足许多现代系统的所有需要。通常期望实现用于多种连接的设备的高带宽通信,同时维持可靠性和良好的信号质量,并且满足低成本、低功率设备的需要。例如,自适应噪声消除(anc)头戴送受话器可能需要复杂且昂贵的装备,并且anc头戴送受话器与主机设备之间的高带宽通信对于某些应用可能是期望的,诸如在主机设备上处理噪声消除信号。

在一些方法中,通过在接收器处端接(terminate)的数字通信链路来实现高带宽通信。这些方法可为某些配置提供令人满意的信号完整性,但如果同时存在对低功耗的要求,那么接收器终端中的静态功耗可能是不期望的。此外,这些方法中的许多不是针对低等待时间数据传输而优化的,因为数据通信可能采取要在数字通信链路上传输的完整的采样时段。一些系统通常具有附加的要求,诸如支持到多个设备的连接以及支持满足某些长度要求(例如,1-2米)的物理链路。附加的要求可以包括连接的设备之间的通信、支持和灵活性以符合不同的设备类型,并且支持各种数据传输实现方式,包括在其中以序列化格式输送数据的系统中的批量数据传输。

鉴于前述内容,在本领域中持续需要改进的数字数据通信系统和方法。



技术实现要素:

本公开提供了解决本领域中对物理连接的设备之间的改进的数字数据通信的需求的系统和方法。在各种实施例中,数据总线系统和方法包括根据第一通信协议耦合到用于数字音频数据通信的第一接口的设备控制器。设备控制器包括用于根据第二通信协议来控制多分支(multi-drop)总线的主总线控制器。第一从设备被耦合到多分支总线并且被配置成根据第二通信协议利用设备控制器发射和接收数字音频数据通信。使用附接在传输线的一端处的设备且通过在另一端处附接的另一设备来端接每个传输线,并且控制由于通过包括中间信令节点而导致的阻抗失配而引起的反射,以允许多分支设备支持和高速信令。第二通信协议可使用固定帧格式来支持多个音频数据速率。

在一些实施例中,连接到总线的第一从设备和第二从设备被定时,使得所发射的消息作为前向行进波或后向行进波的序列被发送,由此使用端接的传输线能够实现多分支高速双向通信。在一个实施例中,差分信令用于通信,并且一条线端接于逻辑高,并且一条线端接于逻辑低,以减少共模干扰。在一个实施例中,差分信令用于降低emi,并且当数据不被传输时,通过根据终端电平将输出驱动器设置为高电平和低电平中的一个来处理每个传输线的端接,并且总线空闲,由此通过传输端点能够实现较低的功耗。

在一些实施例中,传输线上的中间节点被连接到具有对行进波的短中断的传输线,并且要求传输线的短截线和/或中断显著短于用于信令的最短波长(例如,小于最短波长的1/50)。可以通过使用大于最小所需信令速率的信令速率并使总线空闲达每个时钟周期或每个帧的一部分来减少功耗,由此减少终端中的功率损耗,只要输出终端电平等于最终输出状态电平(空闲电平)。信令所需的功率可以通过电容性或电感性下降调节器来获得,由此使调节器中的功率损耗最小化。通过降低总线上的传输电压,可以进一步限制功耗,并且可以采用差分信令来实现低电压信令,同时系统针对外部噪声和emi是鲁棒的。

在一些实施例中,通过将总线充电到已知值来测量部件之间的延迟,在传输线的开始和结束处禁用驱动器,以确保总线在测量期间是浮动的且不端接,从而等待设备改变总线上的电平并测量转变延迟。可在附接到总线的部件的计数(enumeration)期间通过允许多个驱动器改变当前总线状态来禁用传输线的每一端处的驱动器。当前总线状态可以由控制器设置,并且一个或多个设备可以在允许设备计数的给定时间窗内将传输线改变为相反值。设备控制器还可以包括锁相环(pll)或延迟锁定环(dll),其提供用于根据第一通信协议来同步通信的第一时钟信号、用于根据第二通信协议来同步通信的第二时钟信号,以及用于在音频数据处理中使用的第三时钟信号。

在各种实施例中,第二通信协议支持使用固定帧结构的不同通信带宽。在一些实施例中,每个同步信号之后的数据端口或数据由高频载波或伪随机发生器调制,由此减小音频频带中的电流调制以用于音频系统中的较低干扰。设备控制器、第一从设备和第二从设备可以包括音频头戴送受话器或其他音频收听设备。在一些实施例中,在发射器的激活期间暂时禁用传输线的端处的终端以减少功耗。

在各种实施例中,一种方法包括使用耦合到多分支总线的第一从设备,根据第一通信协议跨第一接口接收和发射数字音频数据,根据第二通信协议利用设备控制器控制多分支总线,根据所述第二通信协议利用设备控制器接收和发射数字音频数据,并将传输线的每一端中的发射器设置为已知状态,以使得能够端接任何信号。在一些实施例中,第二通信协议可以使用固定帧格式来支持多个音频数据速率。

该方法可以进一步包括使用锁相环或延迟锁定环以生成用于根据第一通信协议来同步通信的第一时钟信号、用于根据第二通信协议来同步通信的第二时钟信号,以及用于在音频数据处理中使用的第三时钟信号。在一些实施例中,第二通信协议支持使用固定帧结构的不同通信带宽。抖动可以被添加到pll或dll,以用于通过频谱扩展来降低发射的emi。在总线上传输的数据可以在传输时被加扰并且在接收时被解扰以降低音频频带中的频谱内容。

本发明的范围由权利要求限定,所述权利要求通过引用并入本部分中。通过考虑以下对一个或多个实施例的详细描述,本领域技术人员将被提供对本发明的实施例的更完整的理解,以及其附加优点的实现。将参考将首先被简要描述的附图的附页。

附图说明

图1a是根据一个或多个实施例的示例性总线接口系统。

图1b和1c图示了根据一个或多个实施例的示例性头戴送受话器。

图2a是根据一个或多个实施例的总线接口系统的示例。

图2b图示了根据一个或多个实施例的示例性头戴送受话器。

图3图示了根据一个或多个实施例的示例性定时序列。

图4图示了根据一个或多个实施例的示例性时间门控锁相环(pll)。

图5a和5b图示了根据一个或多个实施例的示例性时钟解决方案。

图6a和6b图示了根据一个或多个实施例的示例性时钟解决方案。

图7图示了根据一个或多个实施例的示例性时钟解决方案。

图8a和8b图示了根据一个或多个实施例的示例性时钟解决方案。

图9a-f图示了根据一个或多个实施例的示例性帧结构。

图10a图示了根据一个或多个实施例的用于附接的设备的延迟测量的方法。

图10b图示了根据一个或多个实施例的用于附接的设备的计数的方法。

图11a图示了根据一个或多个实施例的示例性双工(duplex)通信布置。

图11b图示了根据一个或多个实施例的差分信令、同步和数字数据通信的示例。

图11c图示了根据一个或多个实施例的差分信令系统的示例。

图11d图示了根据一个或多个实施例的差分信令系统的另一示例。

图12图示了根据一个或多个实施例的示例性pll锁定序列。

图13是根据一个或多个实施例的示例性pll同步使能电路。

图14图示了根据一个或多个实施例的示例性同步信令。

图15图示了根据一个或多个实施例的数字数据通信系统的示例性操作。

图16a、16b和16c图示了可以根据一个或多个实施例使用的示例帧结构。

图17图示了根据一个或多个实施例的示例帧。

图18a、18b和18c图示了根据一个或多个实施例的用于读取和写操作(包括批量传输)的示例帧配置。

图19图示了根据一个或多个实施例的示例帧同步算法。

所包括的附图用于说明性目的,并且仅用于提供用于提供上下文感知音频处理的所公开的方法和系统的可能系统和方法的示例。在不脱离本公开的精神和范围的情况下,这些附图不以任何方式限制在形式和细节上可以对由本领域技术人员所公开的那些做出的任何改变。

具体实施方式

本公开解决了本领域中对于电子设备之间的改进的数字数据通信的需要。在各种实施例中,公开了用于在主设备和通过物理数据链路连接的一个或多个从设备之间提供低功率、高带宽、多分支和/或低等待时间通信的系统和方法。本公开提供了优于常规系统和方法的许多优点,包括较低的功耗、高带宽和长链路长度的组合、低的和良好控制的等待时间、除了点对点连接之外的多分支拓扑的支持、以及设备之间的简单同步。

在各种实施例中,甚至对于端接的设备,通过包括快速地发送位并且然后使总线空闲达时钟周期的其余部分或帧的持续时间的其余部分的过程,来获得低功率。以相反极性端接的差分数据总线促进低功率操作和减少的电磁干扰(emi)。本公开还促进在具有未端接端的配置中的低功耗,其中高频时钟或定时元件用于确保可以在一个或多个时间单元中接收数据,由此能够实现高信噪比(snr)和高数据速率之间的选择而不改变物理系统,例如,可以使用多个时隙来定义每个符号,以能够实现带宽和信号完整性之间的折衷。

本公开还提供了具有多个设备的多分支差分长的长度总线,所述多个设备使用端发射器作为实际终端并且使用相反的终端极性来确保减少用于低emi的公共信令。用于连接的设备的同步的算法包括查找不根据期望模式改变的时隙,并且系统地消除所有无效位置以用于安全同步。以这种方式,即使利用任意的随机数据,系统的某些实现方式也可以保证安全同步。当单个同步候选被留下时,搜索将首先完成,并且因此,任何随机数据不会导致错误同步。还提供了用于批量数据传输的算法,以促进独立于总线业务的存储器模块之间的传输。在一些实施例中,通过向系统时钟添加抖动来实现较低的emi。可以通过在传输之前对数据符号进行加扰以及在接收之后解扰值(以获得原始值),来降低音频频带中的干扰。参考以下公开将理解本公开的这些和其他特征以及优点。

本文中公开了各种实施例。在一个实施例中,一种系统包括:主设备,所述主设备耦合到多分支总线以用于使用包括多个时隙的通信协议进行数字通信;以及第一从设备,其耦合到多分支总线并且被配置成根据通信协议利用主设备发射和接收数字通信。时隙中的至少一个用于定义用于第一从设备的通信配置,以动态地优化带宽和/或信号完整性。多分支总线是在两条线上以不同电压电平端接的差分数据总线,由此促进低功率操作和低电磁干扰。在一个方面,多分支总线是被配置成使用端发射器来接收多个从设备的多分支差分长的长度总线。通过以大于所需信令速率的信令速率操作并且留出多分支总线空闲以用于每个周期的一部分来降低功耗。

在一个实施例中,该系统还被配置成同步两个或更多个连接的设备,包括标识不根据期望的固定模式改变的时隙,以及消除无效位置以用于安全同步。该系统还被配置成促进独立于多分支总线数字通信业务的批量数据传输。在另一方面,连接到总线的第一从设备和第二从设备被定时,使得所发射的消息作为前向行进波或后向行进波的序列被发送,由此使用端接的传输线能够实现多分支高速双向通信。多分支总线上的中间节点被连接到具有对行进波的短中断的多分支总线,并且由中间节点产生的到传输线的中断的物理长度短于用于信令的最短波长。

在一些实施例中,通过以下方式来测量设备之间的延迟:将总线充电至已知值、禁用总线的开始和结束处的驱动器以使得总线在测量期间浮动并且不端接、等待设备改变总线上的电平、以及测量转变延迟。使用pll或dll来获得主设备和第一从设备之间的锁定。从设置在主设备和/或第一从设备中的分数pll获得系统定时,并且通过将来自伪随机发生器的输出添加到分数加法器来抖动pll,由此减少emi。在一个实施例中,伪随机发生器被配置成对一个或多个数据端口的输出进行加扰,由此通过白化(whiten)输出频谱能够实现较低的emi。pll和/或dll可以包括在pll的初始锁定期间启用的时间门,并且稍后仅允许同步信息通过以避免pll锁定到随机总线业务上。

在各种实施例中,一种方法包括:提供主设备,所述主设备耦合到多分支总线以用于使用包括多个时隙的通信协议进行数字通信;将第一从设备耦合到多分支总线,并且配置从设备以根据通信协议利用主设备发射和接收数字通信;以及使用时隙中的至少一个来定义用于第一从设备的通信配置,以动态地优化带宽和/或信号完整性。该方法还可以包括将多分支数据总线操作为以相反极性端接的差分数据总线,由此促进低功率操作和低电磁干扰,和/或同步两个或更多个连接的设备,包括标识不根据期望的固定模式改变的时隙,并消除无效位置以用于安全同步。在该方法的一些实施例中,连接到总线的第一从设备和第二从设备被定时,使得所发射的消息作为前向行进波或后向行进波的序列被发送,由此使用端接的传输线能够实现多分支高速双向通信。

参考图1a,将根据本公开的一个或多个实施例来描述示例性音频系统100。系统100包括主机设备110和至少一个连接的设备130。主机设备110可以是被配置成向或从连接的设备130发送或接收音频数据的任何电子设备,包括例如智能电话、平板计算机、膝上型计算机、汽车语音接口、语音会议系统、音频回放系统或其他电子设备。连接的设备130可以包括被配置成发送、接收和/或处理音频数据的一个或多个电子设备,并且可以包括例如一个或多个麦克风、扬声器或音频处理系统。尽管参考音频通信来讨论本实施例,但是应当理解,根据本公开,本文中描述的系统和方法可以利用其他电子设备和数据类型来实现。

在所图示的实施例中,主机设备110包括应用处理器112、音频codec114和接口部件116。应用处理器112控制主机设备110和连接的设备130之间的数字音频数据通信。音频codec114根据主机设备110的要求来提供音频输入和/或输出处理。接口部件116促进主机设备110与连接的设备130之间经由线缆120和可兼容连接器的物理连接。在各种实施例中,接口部件116可以包括用于容纳连接器的端口和用于实现通信协议的对应接口控制器。在本文中所述的实施例中,描述了通用串行总线(usb)连接器和接口;然而,应当理解,根据本文中所述的实施例,可以使用其他线缆、连接器和协议。

在一个或多个实施例中,应用处理器112使用包括诸如由soundwire规范或usb规范定义的时钟和数据线的多导线总线协议来促进主机设备110与连接的设备130之间的通信。应用处理器112可以使用音频接口(诸如soundwire或另一数字接口)以主-从关系与音频codec114通信。音频codec114促进应用处理器112与接口部件116之间的通信,由此在两个接口协议之间转换音频数据。音频数据在接口部件116和设备控制器140之间发射,设备控制器140被配置成处理跨线缆120的数据传输。设备控制器140还适于作为主设备来操作,以用于与一个或多个从设备(诸如音频部件142和音频部件144)跨连接的设备130的接口总线进行通信,并且适于促进其他设备功能,诸如通过用户接口部件146处理用户输入。在一个实施例中,总线线路包括功率总线(vbus)、用于数据传输的差分对d+和d-、接地和设备id。本领域的技术人员将了解,可根据本公开的教导使用其他总线线路配置。系统100的各种设备和部件之间的通信可以根据本文中公开的数字数据通信系统和方法来促进。

参考图1b,图1a的示例性连接的设备130可以被实现为usb头戴送受话器150,其包括用于连接到主机设备110的接口部件116的usb连接器152、容纳在连接器152中的设备控制器、用户接口157(诸如按钮)、以及将设备控制器152与音频部件160和170连接的有线数据158总线。在一个实施例中,头戴送受话器150是自适应噪声消除(anc)头戴送受话器。参考图1c,图示了用于在anc头戴送受话器中使用的音频部件160和170的示例性实施例。音频部件160/170被实现为头戴送受话器150的数据总线158上的从设备。音频部件160/170中的每个包括用于从从部件接收音频数据且驱动一个或多个扬声器186播放用于用户的音频数据的音频输出电路182,以及用于从一个或多个麦克风184接收传感器数据、数字化所接收的数据并将数字化的音频数据提供给从(slave)以用于跨数据总线158传输到主(master)的音频输入电路180。

在图2a中图示了连接的设备的另一个实施例。连接的设备230包括连接器216、线缆220、设备控制器240、用户接口246和音频部件242和244。连接器216适于与主机设备的接口部件(诸如图1a的接口部件116)耦合。线缆220将连接器216耦合到设备控制器240,设备控制器240提供用于与主机设备通信的通信协议和连接的设备230的总线协议之间的接口。设备控制器240用作耦合一个或多个从设备(诸如音频部件242和音频部件244)的通信总线的主。用户接口246耦合到设备控制器240以提供用户控制(诸如一组耳机上的音量控制或静音)。

参考图2b,图2a的示例性连接的设备230可以被实现为usb头戴送受话器250(例如,usb耳机),其包括用于连接到主机设备110的接口部件116的usb连接器252、usb线缆254、设备控制器256、用户接口257(诸如按钮)、以及将音频部件260和270连接到设备控制器256的有线数据总线258。

本公开的系统和方法支持长的有线链路、低功率实现方式和高带宽通信。在各种实施例中,低占空比用于信号,这降低了与端接的链路相关联的静态功耗。在本公开的各个方面,低占空比是在每个符号的基础上(例如,通过使用短符号)实现的和/或通过快速地发射数据分组,然后让总线空闲达短时间时段来实现。这些方法的一个优点是支持低等待时间链路,因为数据分组可以快速地传输,在其之后总线进入空闲并且消耗很少的功率或不消耗功率。在一个或多个实施例中,通过在每个接收设备中并入内部锁相环(pll)或dll(延迟锁定环)来支持更高的数据速率,以基于定期发射的同步符号来生成更高速的内部时钟。使用低占空比的符号的一个优点在于,其允许中等传输速率的低功耗,因为由于低占空比而减少了由于使用端接的链路的静态功耗。换句话说,可以利用能够使用端接的传输线的高波特率的链路来获得中等到低速信令的低功耗,因为本文中公开的各种实施例的功耗随着所使用的带宽线性地缩放(由于接收用于接收数据的pll的功耗将是恒定的,但是可以被使得是总功率预算的一小部分)。因此,本文中所公开的数据链路实现方式在使用中等到低带宽时能够具有低功耗,并且仍然能够以稍微更高的功耗来传输大量数据。在这两种情况下,pll时钟频率或dll延迟可以是恒定的或根据系统需要而变化。

本公开还通过在中间节点处提供控制来支持多分支总线拓扑,从而即使在中间节点处存在将导致常规系统中的差的信号完整性的阻抗失配时,也允许获得高质量信号。在许多常规系统中,这是通过避免传输线的端处的终端而不是控制信号的转换速率(slew-rate)来解决的,然而,这导致较慢的系统,这是由于可能避免反射的最大转换速率的限制。本文中公开的各种系统和方法不受这种限制的困扰。

本文中公开的实施例提供鲁棒且可靠的数据链路,其具有信号完整性的最小降级。在一些实施例中,发射器可在发射时禁用其自己的并联终端电阻器以进一步减小功耗。在一些实施例中,在总线传输线的每一端处的发射器可通过在不发射时将输出电平设置为静态值来提供端接。通过将该电压电平设置为系统的静态空闲值并且将串联输出阻抗与总线阻抗相匹配(即在每一端处的输出发射器在其不发射时用作终端),将实现低功耗(例如,除了内部时钟的运行之外没有功耗等)当不存在发射的数据时)。在常规系统中,传输线中的阻抗的改变将导致所发射的信号中的反射。此事实已导致常规系统基于多个部件不能容易地放置在传输线上的中间节点上而不严重地使所发射信号失真的概念而遵守设计约束。

然而,在本公开中,应当认识到,如果与所涉及的最短波长相比阻抗的改变在相对短的距离上发生,则将存在很少的信号干扰,并且可以实现实际的系统。作为示例,使用50欧姆传输线的实验系统包括多个中间节点,每个中间节点涉及小短截线(长度为1-2cm),并且这导致每个节点的从4.7ns到4.8ns(或大约100ps增加)的转换速率的改变和大约6%的幅度减小。因此,即使转换速率稍微增加并且幅度减小一点,信号的改变是最小的,获得了良好的眼图,并且实现了鲁棒的数据传输。因此,即使常规的理论已经导致系统要求阻止沿着传输线的阻抗的任何改变以避免反射,只要这些干扰的长度比所涉及的最快信号的波长短得多,这些反射就可以被控制为具有不对实际功能系统有害的这种小的幅度。

实验系统具有2cm的短截线长度,其等于在空气中小于0.1ns的传输时间,或者比上升时间(5ns)短得多。在这种情况下,通过短截线的上升时间和延迟之间的因子大于50,并且导致系统中的最小延迟和干扰。如果延迟已经是5ns(等同于没有屏蔽的150cm的线缆),则系统中的系统上升时间和延迟将是可比的,并且线缆将显得是可扩充的(open-ended)。因此,如本文中所公开的那样定尺寸,本公开的一个或多个系统将允许在传输线的端处适当地端接的非常快的信号的传输,并且同时允许多个部件驻留在相同的传输线上,由此解决了获得仍然允许高传输速度的多分支总线系统的问题。此外,通过对信号的传输的排序进行定时,使得前向波或后向波被控制,有可能避免在干扰行进波的驻留于传输线上的中间节点上的有源发射器方面的问题。

现在将参照图3描述根据一个或多个实施例的定时序列的示例,其示出了在主设备和3个从设备之间行进的信息。通过优化与数据传输的方向有关的定时,可以获得更高的带宽。在各种实施例中,一旦所有数据包到达在其被吸收的线端处的终端,所有数据包将消失。假设主m1位于具有位于同一传输线上的多个从设备(s1、s2和s3)的传输线的端处,其中从设备标记为数字一、二、三等,因为每个从设备较远离主设备。

当发送来自主的前向行进波时,主m1首先发送消息(时间a),当前向波刚刚经过从设备s1时(时间c)紧接着从设备s1,然后当来自从设备s1的消息的结束已完成时(时间e),从设备s2发送其前向行进波消息。当来自从设备s2的消息已完成时,从设备s3发送前向行进波消息。当所有前向行进波消息已被传输线的另一端处的终端完成和吸收时,驻留在传输线上的最后一个设备(例如,在时间f处的从设备s3)开始朝向主m1发射后向行进波。就在来自最后一个设备的消息已经过去之后等等,该后向行进波跟随驻留在传输线上的从第二个设备到最后一个设备(例如,在时间g处的从设备s2)的后向行进波的传输。当所有后向行进波消息已被主设备处的终端完成和吸收时,主m1将再次开始使用如先前所描述的前向行进波来发射消息。

在一些实施例中,如果这些设备位于传输线的相对端并且其自身的发射波的影响从所测量的波(前向和后向行进波的叠加)中减去,则两个设备可以同时发射消息。在一些实施例中,这也可以甚至利用位于传输线的中间点上的设备来执行,然而,在一些实施例中,位于中间点上的设备通常不应该在接收的同时进行发射,因为这可能导致前向或后向行进波的反射。

在各种实施例中,与诸如音频头戴送受话器之类的音频设备一起使用的通信总线包括使用差分阻抗匹配的信令能够实现高带宽和低功耗的多分支总线。总线具有高控制和音频带宽并且支持高达多于10米的链路。在一个或多个实施例中,总的总线链路长度是两米或更小。参考图1a,链路长度是两个终端端点zend之间的导线的长度,并且包括从可以集成到连接器中的设备控制器140到用户接口部件146的线缆120的长度(长度a)、从用户接口部件146到中间节点的导线的长度(长度b1和长度b2)、以及从中间节点到终端端点的导线的长度(长度c1和长度c2)。在一个实施例中,链路具有距终端端点0-200cm的总的长度,包括以下范围:长度a,0-80cm;长度b,0-60cm;和长度c,0-60cm。在一个实施例中,短截线b2和c2应当保持尽可能地短,以最小化对信号完整性的影响。

参考图2a,在一个实施例中,usb线缆的长度为从0-200cm,并且每个终端端点和设备控制器240之间的链路长度分别为从0-100cm。在所图示的实施例中,头戴送受话器的终端端与最远的扬声器或麦克风之间的链路小于200cm,但可使用其他距离。

在各种实施例中,链路支持标准时钟速率,诸如12.288mhz和19.200mhz,由此提供与标准电信和音频系统的兼容性。在一个实施例中,通过在切换信令方向时增加周转延迟,在12.288mhz操作模式中支持10米的链接距离。

在各种实施例中,期望pll的锁定范围是窄的,并且在每个同步符号之间维持恒定数量的位。此外,在各种实施例中,期望与多个时钟系统维持48khz的兼容性。本公开提供了在从和主设备之间的初始同步,其简单且鲁棒,并且在各种实施例中,使用恒定帧大小。恒定帧大小的使用与soundwire和类似协议形成对比,其能够实现多个帧大小以确保与多个时钟系统的兼容性。在一个或多个实施例中,在帧内表示一个或多个信标位,以维持多个源(诸如利用不同采样频率的多个音频端口)之间的同步。

下面,表格中图示了根据本公开的一个或多个实施例的示例性操作模式:

本文中所公开的系统和方法提供了包括能量高效设计的附加优点,解决了在同步符号干扰帧大小方面的一些问题,包括通过将同步列与命令合并的高效的带宽利用方案,具有简单的时钟方案,使用单个时钟源,能够实现针对最优信号完整性的延迟的微调,支持12.288、19.200和12.000mhz系统,不需要宽带pll跟踪(即,pll仅需要支持相对窄的锁定范围),恒定帧大小可与变化的数据格式一起使用以支持多个时钟系统,并且使用样本间隔的微步进来准确测量从延迟以用于在接收数据时优化眼图。在各种实施例中,例如,在维持恒定的帧长度时,多分支总线可用于多个时钟系统,诸如电信、usb和音频操作模式。在一些情况下,诸如768khz的较低的同步频率可被用于较长的总线直径。

同步符号可以通过从延迟的仔细定时与命令的信令合并,使得在主已完成同步符号(典型地为0-1转变)之后的时隙可被用于用信号通知命令或允许多个设备在同一时隙内通过使该时隙未被驱动并允许设备改变当前电平来响应,但不驱动当前电平(类似于有线或(wired-or)配置)。

时钟支持

如先前所论述,常规总线拓扑结构所遇到的一个问题涉及支持不同时钟频率,包括获得期望基础频率所需的乘法器或除法器。作为示例,可以通过将19.200mhz除以400(4x5x5)或12.288mhz除以256(4x4x4x4)来获得48khz。在本文中所公开的各种实施例中,在总线上发射的命令不妨碍音频流。在一个实施例中,以与音频数据相同的步调(或其子倍数)发出命令。在一些实施例中,存在pll或dll时钟同步的约束以将时钟嵌入数据线中,并由此节省导线和功耗。通过使用差分信令,可约束电磁干扰(emi)。

在一个实施例中,提供了一种解决方案,其包括添加额外的位以在通信帧内给出用于同步和命令的空间。该系统可以支持各种时钟频率,并且可以相对于给定的长总线直径的约束的带宽利用来优化帧结构。此实施例的结构是确定且简单来解码的,并且不需要复杂的模拟电路来确定确切时钟频率,例如每一同步符号帧之间的时钟脉冲的数量保持恒定。

现有系统(诸如soundwire)包含多种定义的帧格式——例如,8个列大小和19个可能的行值达总共152个组合。一个挑战是设计支持12.288mhz和19.200mhz操作两者的系统,因为每个都具有不同的乘法器(19200/48=400和12288/48=256),而不需要特殊的模拟系统。在本文中描述的各种实施例中,可以使用允许支持12.288mhz和19.200mhz两者以及甚至12.000mhz系统的单个帧大小。

本文中公开的pll和时钟解决方案解决了与常规系统相关联的各种问题。当存在未端接的传输线时,存在可能干扰信号质量的反射。一种解决方案是减慢数据传输。然而,对于许多系统,期望高速传输,并且因此,优选的是端接线来用于消除不需要的反射。通过对数据使用高时钟速度和低占空比(对于每个符号或者作为每个周期/线结束时的空闲空间),可能减少每个发射位的静态功耗,并由此获得中等速度链路的较低功耗。

当仅存在两个设备时,设备之间的同步被简化,因为没有交叉业务。此外,这样的系统可能不需要在每端处的终端,因为这两个设备在这些设备位于传输线的端处时不会经历任何半电压。在多个设备的情况下,存在从设备将丢失主设备上的锁定的可能性。一种解决方案是重启总线,但是这对于许多实现方式是不期望的,因为系统将丢失音频达一段时间。本公开的各种实施例解决了通过解决时钟同步而失去同步而总线上的其他设备继续操作的从设备的问题。

参考图4,现在将描述示例性锁相环(pll)300,其可以被包括在图1a的设备控制器140和图2a的设备控制器240中,以及图1a的从设备142和144以及图2a的从设备242和244中。即使在存在来自多个从设备的信号的情况下,pll300也允许电路保持锁定,所述多个从设备与主同步信号一起被时分复用。

pll300(或dll)生成具有相对于输入参考时钟的相位和频率的相位和频率的输出时钟信号。在操作期间,通过时间门302的参考时钟信号和来自除法器310的反馈信号被输入到相位检测器304中。相位检测器304比较输入参考时钟信号和反馈信号的相位和频率,并且输出控制信号以相应地调整反馈信号以具有与参考时钟信号的相位和频率同步的相位和频率。相位检测器304对准参考时钟信号和反馈信号的上升(或下降)边沿的相位。相位检测器304的输出被提供给环路滤波器306以调整压控振荡器(vco)308的电压和频率。来自vco308的信号输出通过除法器310以产生反馈信号。输出时钟信号被提供给如本文中所述的各种系统部件。在所图示的实施例中,除法器配置成144个位的帧大小的倍数,但可选择其他整数值(例如,m=16、m=42、m=48或m=80)。使用m=4直接地给出4个时隙,或者使用用于总线信号的数据捕获的时钟的两个相位给出8个时隙。使用m=8直接给出8个时隙,或使用两个相位给出16个时隙,这提供了具有高分辨率的简单解决方案。

在各种实施例中,在初始启动期间的所有时间启用时间门302,在其之后仅在从主设备接收到参考同步脉冲期间启用时间门302。这使得即使多个从设备也在总线上发信号,并且这些从设备在时间上与主偏移,也能够将电路锁定到主。此外,如果pll/dll失去与主同步的锁定,则设备将禁用输出驱动器以避免总线冲突并重新启用对同步脉冲的宽搜索。在一些实施例中,通过使用时间门作为相位检测器(例如,通过使用足够窄的时间窗),可以完全消除相位检测器。这可以用于减少定时抖动(时间门仍将由来自vco的输出通过除法器来控制)。在一些实施例中,相位检测器将具有相位-频率类型,因此其对频率和相位差(iii-iv型相位检测器)两者敏感,由此确保正确状态的安全初始获取。

现在将描述与本公开的实施例一起使用的示例性时钟划分解决方案。在图5a和5b中图示的一个实施例中,时钟解决方案是生成三个同步时钟信号的频率锁定环(fll)400、用于音频输入和输出处理的音频时钟402、用于主机设备和连接的设备之间的usb通信的usb时钟404,以及用于在本公开的低等待时间数据总线中使用的数据总线和dsp时钟406的实现方式。存在于usb协议中的同步脉冲可用作定时参考。

在所图示的实施例中,同步检测器410耦合到fll400的输入。同步检测器410确定时钟信号是否与系统时钟(usb时钟参考)同步以允许适当的总线通信。如果同步符号不同步(arriveoutofsync),则同步检测器410将使fll400修改时钟周期以使其与主时钟进入同步。fll400可以被实现为图示的那样包括数字滤波器和预测器412、数模转换器(dac)414,诸如δ-σdac、压控振荡器(vco)417、除法器424、频率计数器418和减法器块414,以将结果与参考频率408进行比较。所图示实施例的另一方面是使用参考频率整数48384(参见参考408),其可用于使fll400使用除法器420、除法器422和分数除法器426产生期望的分频频率。在图5b中图示了分数除法器430的实施例,其可用于将时钟信号除以分数值。分数除法器430使用相位加法器432和除法器434来实现,其中特定相位值被添加到每个时钟周期的相位和,并且当当前相位和超过某个最大相位值时,从当前和减去另一相位值并且激活输出。如果使用二进制补码(two-complement)加法器,那么可将所述相位值采取为2n个步长且归因于在二进制的补码运算中发生的自动环绕(wrap-around)而不需要减法。在一些实施例中,δ-σ转换器可以执行积分而不是相位加法器,由此消除由分数除法产生的痕迹(spur)。这可以用于通过扩展输出频谱来降低输出时钟信号的emi。

下面,表格中图示了用于本公开的各种实施例的示例性时钟解决方案。如本文中所使用的,术语“耳链路(earlink)”指的是本公开的音频总线系统和方法。

第二时钟解决方案的示例性实施例在图6a和6b中图示。第二时钟解决方案是生成三个同步的时钟信号的频率锁定环(fll)500、用于音频输入和输出处理的音频时钟502、用于主机设备与连接的设备之间的usb通信的usb时钟504以及用于在本公开的低等待时间数据总线中使用的数据总线和dsp时钟506的实现方式。fll500包括同步检测器510、滤波器和预测器512、δ-σdac516、vco517、除法器524、频率计数器518和减法器块514,除了如本文中所述,其可以以与图5a和5b的对应部件类似的方式实现。fll400使用除法器520、除法器522和pll540产生期望的分频频率,pll540以音频时钟频率的125/128输出频率。在图6b中图示了pll540的实施例,并且其包括来自除法器520的输出的1/128参考输入、相位检测器544、环路滤波器546、vco548和1/125除法器550。

在图7中图示了第三时钟解决方案的示例性实施例。第三时钟解决方案是生成三个同步的时钟信号的频率锁定环(fll)600、用于音频输入和输出处理的音频时钟602、用于主机设备与连接的设备之间的usb通信的usb时钟604以及用于在本公开的低等待时间数据总线中使用的数据总线和dsp时钟606的实现方式。fll600包括同步检测器610、滤波器和预测器612、δ-σdac616、vco617、除法器624、频率计数器618和减法器块614,除了如本文中所述,其可以以与图5a和5b以及图6的对应部件类似的方式实现。fll600使用除法器620、除法器622和pll630产生期望的分频频率,pll630以21倍的音频时钟频率输出频率。

第四时钟解决方案的示例性实施例在图8a和8b中图示。第四时钟解决方案是生成三个同步的时钟信号的频率锁定环(fll)700、用于音频输入和输出处理的12.288mhz处的音频时钟信号702、用于主机设备与连接的设备之间的usb通信的12mhz处的usb时钟信号704以及用于在本公开的低等待时间数据总线中使用的258.048mhz处的数据总线和dsp时钟信号706的实现方式。fll700包括同步检测器710、滤波器和预测器712、δ-σdac716、vco717、除法器724、频率计数器718和减法器块714,除了如本文中所述,其可以以与图5-7的对应部件类似的方式实现。fll700使用分数除法器720、除法器722和分数除法器730产生期望的分频频率,分数除法器730以21倍的音频时钟信号702输出频率。分数除法器720的实施例在图8b中图示,其可用于生成数据总线和dsp时钟信号706。分数除法器720使用相位加法器732和除法器734来实现,其中特定相位值被添加到每个时钟周期的相位和,并且当当前相位和超过某个最大相位值时,从相位和减去另一相位值并且激活输出。在一些情况下,抖动发生器736提供相位加法器的抖动以不仅将时钟除以分数值,而且还将抖动值添加到中间相位值。这将增加时钟的抖动,但是可以用于通过控制添加的抖动量来降低系统时钟的emi。典型地,所发射的emi将通过该动作而降低15-20db。抖动发生器736可使用数字伪随机发生器或生成随机数字的其他数字电路来实现。如果伪随机发生器将平均值添加到与零不同的相位加法器序列,则应当在更新相位加法器时考虑这一点。

帧结构

根据本公开的各种实施例,可以跨多个支持的频率使用单个帧结构。现在将描述与所公开的实施例一起使用的示例性帧结构。

参考图9a的实施例,帧结构包括具有42位的恒定大小的帧,其中同步模式以每帧一次的频率重复。在一个实施例中,每个消息的命令位的数量是32位,并且消息同步位每48khz重复一次。每个帧可以包括一个或多个子帧,例如,四个子帧和每个子帧具有相同的结构并且在同步方面看起来是相同的。命令位的示例性组织在下面图示,其中scmd是命令的开始,s48是48khz信标,res是保留字段,op2-op0是三位操作码,dev3-0是4位设备号,dat是要作为命令的一部分被传输的数据,par是用于安全性的奇偶校验位,以及ack是确认位:

对于每48khz的报时信号(timetick)或每64个帧或256个子帧(对于每24khz的报时信号或512个子帧,针对9.600mhz系统),位s等于第一子帧的开始处的一个位。s位可用于找到帧的开始并将多个声源同步到48khz(例如,第一帧的开始应该是采样事件)。

数据组织的细节在图9a中进一步图示。从设备中由pll使用零到一转变来使内部定时与主同步,随后是命令位cmd。接下来,可以从主设备向从设备传输16位的音频,随后是在从主设备到从设备的切换(包括读取、r、命令)期间的一个或多个时隙延迟(以允许信号方向的改变)。接下来,可将16位音频从从设备传输到主设备,随后是一个或多个时隙延迟。

针对9.600mhz、12.000mhz和16.000mhz系统的实施例在图9b和9c中图示。这些格式将使得能够支持电信时钟,并且可以变化主和从之间所利用的带宽,所述变化从由主或由从使用的带宽的约1/3到2/3。这些格式具有以下优点:每行的位的数量是10或稍微更多,以用于在与19.200mhz相关的时钟频率处的较高效的传输。该频率或38.40mhz=2*19.20mhz通常用于在电信应用(诸如移动电话和手持设备)中使用。

参考图9d和9e,将描述附加的帧结构。根据各种实施例,在每个同步脉冲之间的每个帧中存在相同数量的位。然而,可以例如通过改变用于命令的带宽量来变化位的数量。帧结构还可在行和列的数量上变化且仍维持相同数量的位。例如,图9d和9e两者每帧包括相同数量的位。通过每帧除以较大数量的位(例如,80或144位),其可以被分解成各种因子,可以在不改变pll乘法因子的情况下改变帧组织,代价是由于较高带宽导致的接收睁眼(eyeopening)中的更高的抖动。

示例性消息字段的组织如下所图示:

应当理解,虽然许多命令可以是常规的(什么都不做,读取和写寄存器),但是可以使用delay命令来找到附接到传输线的设备之间的延迟以用于最佳定时。这可以通过主首先将线充电到某个值,然后利用总线保持器或利用浮动总线保持该值来实现,在其之后主驱动器被释放,并且在其之后附接到总线的任何设备可以切换(toggle)该值。定位最靠近主的设备将首先影响总线线路的切换,这可以使用以检测定时事件的高速计时的计数器或使用多个延迟电路来可靠地测量。在测量期间,总线将不会被端接以便不影响定时。测量可以在主设备内部进行(以优化从发射定时)或在从设备内部进行(以优化从到从通信定时)。

图9f图示了根据各种实施例的示例性协议符号。另一示例性命令设置在下面的表格中进一步图示:

现在将描述“寄存器读取操作”的实施例。为了执行寄存器读取操作,可执行以下指令序列:(i)使用地址写操作写正确的地址值,以及(ii)执行寄存器读取操作(数据字段将包含读取值)。如果需要读取寄存器的范围,则这可以在不更新每个读取操作之间的地址寄存器的情况下完成。这是可能的,因为对于每次读取操作,地址计数器可以递增一。

现在将描述“寄存器写操作”的实施例。为了执行寄存器写操作,可执行以下指令序列:(i)使用地址写操作写正确的地址值,以及(ii)执行寄存器写操作(数据字段将包含读取值)。如果要写寄存器的范围,则这可以在不更新每个写操作之间的地址寄存器的情况下完成。这是可能的,因为对于每次写操作,地址计数器可以递增一。

现在将描述“地址寄存器写操作”的实施例。寄存器访问由地址寄存器控制。在执行寄存器操作之前,首先定义地址寄存器的值。这与地址寄存器写操作一起发生。地址寄存器指向被寻址的从设备中的当前有效寄存器。后续访问(读取或写操作)可以递增地址寄存器。这使得能够更快地访问多个寄存器。在各种实施例中,仅存在控制读取和写操作两者的单个寄存器,并且任何读取或写操作可以递增该地址寄存器的值。该递增在地址寄存器的值在读取或写操作中已经首先被使用一次之后发生。不能使用表中所示的命令读回地址寄存器的当前值。

现在将描述“信标”命令的实施例。该命令可以由具有48khz的重复时段的主设备发送出。其可由从设备使用以将音频定时同步到帧的开始,使得所有音频源同步。

现在将描述“设备回路延迟”命令的实施例。该命令通过测量由从设备发起并行进到主的转变来测量从从设备到主的周转延迟。在本实施例中,提供了一种用于测量两路径延迟的机制。现在将参照图10a描述用于延迟测量的方法800的实施例。首先,主向设备发送命令以指示延迟测量将开始(步骤802)。接下来,终端在两端处被禁用(步骤804),并且传输线利用已知符号被充电(步骤806)。在步骤808中,已知的设备通过对传输线放电来进行响应。在步骤810中,从充电事件到放电事件测量延迟。在步骤812中,如果系统包括端终端,则在传输线的两端处启用终端。

在一个实现方式中,主发送出设备回路延迟命令,随后是要被询问的设备号。接下来,主发送出在数据字段中的设备id值。如果设备id等于数据字段,则内部标志(“device_update_ready”)将被设置,并且如果设备id不等于数据字段,则内部标志将被重置。接下来,总线被主带到已知状态(即,总线被初始化为已知逻辑值,零)。主将利用弱(weak)总线保持器或使用浮动总线维持此状态,并且在将总线驱动到已知状态之后禁用其发射器且确保在测量期间禁用两端处的终端。作为示例,主可以使用0-1信号用于同步并且使总线处于“1”状态。

然后,从设备可以使用从设备内部的强内部驱动器将该状态驱动到不同的值。在一个实施例中,从设备输出以下序列,其中z是禁用的驱动器,并且0正在驱动低信号——zzzz-00-zzzz——并且双零将确保在所有延迟条件下的零的正确读数。当主接收器接收到来自一个或多个从的转变信号时,其将知道来自定时的延迟。此事件的定时将用于找出到最近设备的双向延迟,并且通过控制发射或接收定时延迟来优化接收器的眼图。可以基于主设备内部的内部过采样时钟或使用主设备内部的延迟线或延迟采样来测量延迟值。在一些情况下,在总线上存在显著量的噪声或时钟抖动的情况下,可能必要多次重复该程序,以便获得良好的延迟读数。这还可涉及从多个时隙中读取返回值,并以精细分辨率(例如2ns)获取,并且然后对多个读取值(例如64个)进行平均。如果返回值可以在从0-36ns的任何位置中发生,则我们将需要总共19个值,每个值基于从从设备返回的多个测量来准确地确定所有情况下的延迟,并且在每种情况下,我们可能必须执行多个(例如,64个)读数来使得返回良好的平均值。通过从中间延迟位置开始搜索,有可能显著减少搜索时间。此外,还可能通过改变取决于最后返回值是什么的搜索方向来减少搜索时间,因为这给出了延迟是太长还是太短的指示。在限制的情况下,我们将测量恰好在转变处的从从返回的零和一的大约50%。除此之外,我们将需要添加1/2数据时隙以得到最佳采样点。

在另一实现方式中,主可将其已从从读取的值往回写,并且然后使从设备自调整内部延迟。这可以用于优化从到主的通信,即,减少用于调整的所需带宽。类似地,一个从设备可写其已从另一从设备读取的值,并且使此另一设备自调整其内部发射定时。

当主将总线设置为已知值时,总线上留下的电荷将被主吸收,并由此清空任何先前信息的传输线。如果存在多个从,则其可以使用它们的设备id(16位常数)一次被消除一个。最靠近主的从将对应于所获得的延迟值。换句话说,在设备延迟的测量或附接到总线的设备的计数期间,附接到传输线的第一设备(典型地为主)和附接到总线的最后一个设备(典型地为从设备)将在此程序期间均禁用其驱动器以启用浮动总线,这通过传输线内部的固有电荷维持状态。

在各种实施例中,只有具有数字dev和等于或高于数据字段值的设备id的设备将激活输出。然后可以使用二进制搜索来找到具有连接到总线的最高地址电流的设备,通过向其分配不同的设备id(典型地为3位以节省带宽并继续找到附接至总线的第二最高设备的地址等)来从搜索中消除该设备。换句话说,必须首先使用判优(arbitration)程序,使得首先读取设备id的msb,并且具有低设备id的所有从将后退。该程序将继续,直到仅单个设备将响应为止(注意,该程序类似于i2c多主和soundwire地址判优)。

在一个实施例中,当延迟命令用于确保其将不会干扰测量时,所有设备将关闭帧的最后一行中的正常数据业务。在一些实施例中,从设备可被编程以使用对应于某一几何配置的特定延迟,由此,省略了在与该部件交互之前找到物理延迟的需要,并且省略了对包括非易失性存储器或向内部电路传送延迟值的其他装置的需要。

参考图10b,图示了用于计数包含内部设备号而不是适合于总线的设备号的附接的设备的方法850。在步骤852中,主发送命令以指示计数将开始。在步骤854中,在两端处的终端被禁用,并且在步骤856中,主继续利用已知符号对传输线充电。如果来自设备号的位为高,则总线上的未知设备通过对传输线进行放电来响应(步骤858)。在已知延迟之后,具有用于此位置的设备号中低位的所有设备将中止(步骤860)。如果多于一个设备留下(步骤862),那么检查下一设备位,并且设备判优在步骤864中继续。如果仅留下单个设备,则在步骤866中设备被分配地址。如果主预先知道所有附接的设备的长id(例如16位),其一次可以简单地寻址这些设备,并且在引导之后立即向每个设备重新分配新的短id(3位),而不需要执行地址判优。

现在将描述“设置设备地址”命令的实施例。在上电复位之后,从设备被分配设备地址值零。当执行该命令时,被寻址的设备将得到新的地址(0-7)。通知地址7(111)被包括以用于广播。在一个实施例中,只有具有device_update_ready设置的设备将被更新。

双工操作

现在将参照图11a描述双工操作的实施例。在各种实施例中,总线900可以以单工或双工操作模式工作。在此布置中,i/o端口可配置成通过输出驱动器的设计同时进行发射及接收信号两者,其可用于启用超过25米的总线长度,例如可用于家庭音频系统。

在该实施例中,前向行进波和后向行进波处的瞬态响应被用于评估在存在两个同时的驱动器时正在发生的情况。任何点处的电压由前向行进波和后向行进波的和来确定。因此,我们可以测量任何节点处的点并减去来自两个驱动器的影响,而不是简单地通过考虑输出驱动器的阻抗和传输线的阻抗。

为简单起见,让我们首先评估仅具有位于传输线每端处的两个驱动器902和904的情况。让我们还假设驱动器902和904使用具有等于传输线阻抗z0的值的串联终端,以适当地端接链路。这意味着前向和后向行进波都将是初始驱动器电压的一半。由于可从前向和后向行进波的和找到任何点处的电压,所以我们可通过从所测量的电压减去驱动器电压的一半来找到正确的接收电压。这可以通过简单地将一半反转的发射电压添加到所接收的信号(例如,通过使用电容器交换和添加一半的差分发射电压)来针对差分情况完成。在该方法中,在发射器方向的周转期间的双向延迟对于许多配置是不需要的并且长得多的链路(例如,25米)在继续操作的情况下是可能的,并且由于不存在周转延迟而在数据流中没有中断,并且在极高速度下的全双工操作是可能的(0.1-5gbps)。注意,只要操作被限制在每个线端处的一个节点并且至少一个节点在定期的基础上发送出同步脉冲,该配置就不需要任何定时调整。

多个从

现在将描述多个从的各种实施例。虽然当具有单个主和单个从时双工操作相对简单,但是对于多个从设备,该情况变得更加复杂。一个问题是中间节点将从任一方向反射波,因为其不呈现端接(以便能够实现多分支连接)。因此,传统的双工操作对于某些实现方式可能是不实际的。然而,可能利用信号的适当定时来增加吞吐量。在各种实施例中,信号将首先从主到从设备。其他从设备可能需要等待,直到来自主的前向波在其可以开始发射之前已经通过这些设备。因此,处理这种情况并且不需要任何切换延迟的示例性定时图将是以下发射序列:{m,s1,s2,s3,s4,s5},并且然后当改变方向时,以反向{s5,s4,s3,s2,s1,m}重复该模式,其中m表示主,以及s1是最靠近主的从设备,以及s5是最远离主的从设备。换句话说,附接到总线的设备将发射用于前向或后向波的序列,并且所述方式避免在来自传输线上的中间点的反射方面的问题。在尝试该方案之前,附接到总线的设备的定时延迟将被确定和校正。

通过确保差分信令方案用于所有通信,发射和接收的emi将显著降低。图11b示出了以空闲时段开始、接着是同步信号、然后是数据并然后再次变得空闲的差分信令920的示例。空闲时段也应当具有差分本质以避免共模噪声,这意味着一条线上的终端应当以高电平结束,而另一端应当以低电平结束,以避免在空闲时段期间的静态功耗,并由此能够实现对于适度带宽需求的非常低的功耗。

图11c示出了差分信令系统930的示例,差分信令系统930具有到高和低信令电压的终端,以确保在空闲模式中的最低可能的emi和最低可能的功耗。图11d示出了差分信令系统940的类似示例,其中在每端处的发射器942、944、946和948被用作总线的串行终端,由此降低了端节点处的功耗,这是由于没有终端负载并且简化了实现方式。当每一端处的总线驱动器不是信令数据时,其将进入空闲状态,用信号通知默认终端电压,由此降低空闲状态中的功耗。在一些实施例中,两个传输线中的一个可以使用电源线而不是接地以用于屏蔽,由此也能够传输功率。一些实施例可以使用4个绞合线而不是屏蔽的同轴线缆,例如,包括用于低emi要求的四线绞合对配置中的data+、data-、接地和电源。接地和电源线将进一步减少emi。在其他实施例中,将使用单个屏蔽件,并且功率和差分数据将位于屏蔽件内部的三条导线中。

在一些应用中,重要的是最小化在总线上发生的随机信令所引起的音频噪声。这可以通过改变总线上的各种源的信令电平来完成,例如,通过在数据端口的发射器和接收器处使用伪随机发生器,由此使总线业务随机化,以及由此降低音频频带中的频谱内容。在一些情况下,随机化可以利用频谱锐化来执行,因此通过将数据信号与高频内容相乘(例如通过将每行与某个随机或预定义的值相乘),音频频带中的频谱内容甚至更低。在一些情况下,随机化可以通过简单地将行与可听带宽外的载波相乘来执行。在一些实施例中,每个端口包括错误测试器(例如,用于验证和测试的8位伪随机发生器)。该端口测试器还可以用于对音频数据进行加扰和解扰。数字域中的乘法可以通过xor或xnor门执行。例如,几乎相同的伪随机发生器可用于恢复原始的数据序列,参见例如用于伪随机发生器和接收器/测试器的示例的soundwire规范。早先已经例如在无线电调制解调器中使用了类似的技术,以便减少或移除来自发射的数据流的dc内容。这里加扰的使用没有如避免具有相同值的多个符号的传输的情况那么多,这可能导致同步的丢失,但是用于降低输出频谱的低频内容,以便避免音频频带中的任何干扰。

在一些情况下,随机化可以使用具有已知模式的δ-σ调制器来执行,以便不仅使来自各种发射器的输出随机化并由此减少任何音频干扰,而且甚至还通过有意地控制调制器的噪声传递函数来对噪声的输出频谱进行噪声整形。

线缆规范

现在将描述根据各种实施例的示例性线缆规范。对于入耳式头戴送受话器,可以使用细的线缆来满足用户要求,诸如使用细的awg30或awg34导线的屏蔽的配置。对于较长的链路或对于大的头戴送受话器和头戴受话器,可能使用较粗的线缆,这也降低了位的衰减,除了仅需要4个、而不是8个导线之外,示例将是类似于cat5要求的双绞合的线缆对(导线类型awg24)。例如,可以使用标准100base-tx线缆。15米的链路的衰减将是66db/100mx15m=9.9db或3.1次。因此,当设计系统时,发射电压与最大接收器滞后之间的差应考虑这一点。

中间节点

现在将描述具有中间节点的示例性实施例。在各种实施例中,端节点具有z0的串联输出阻抗,以便与传输线匹配,而中间节点将调查1/2z0的阻抗(因为中间节点将本质上调查两个传输线,每个传输线具有阻抗z0)。通常期望为所有节点提供相同的性能。在各种实施例中,(i)每个节点具有u0的输出电压;以及(ii)每个端节点具有z0的输出阻抗。如果在行进波到达节点时其是有效的,则中间节点的阻抗将导致反射波。这种情况可以通过信号的适当定时(即每个节点首先在具有先前发射的信息的信号波已经过去之后发射信号)来避免。行进波最终将在传输线端处被吸收。示例性传输线阻抗和信令电压可以包括z0=75ω,u0=250mv,其中差分信令被使用。

另外,传输线上的中间节点将面对两个线输入,并且如果其输出阻抗与位于传输线的远端处的节点相同,则输出信令电压将更低。这可以通过使用用于中间节点的较低输出阻抗、通过增加中间节点的输出驱动电压或通过将传输线上的接收器调整到较低阈值电压来校正。

启动序列

现在将描述示例性启动序列。在各种实施例中,常规信令是差分的、两电平信令。然而,为了获得用于启动条件和在可能的从故障之后或在断电条件之后的用于重新同步的唯一模式,主可以被配置成发送出第三或不同的较高电压电平。该电平将不被用于数据传输,而是仅用于从设备的重新同步或启动条件(从低功率待机唤醒)。这将不会影响所发射的emi,因为该较高电平仅在初始同步期间(例如,第一1ms)被使用。在一个实施例中,启动序列由具有正常信令电平的两倍的电压电平的12个位间隙组成。在各种实施例中,紧接在启动序列之后将跟随由pll使用的同步沿。在正常操作期间将不发射启动序列以降低emi并增加可用带宽。在所图示实施例中,在启动或重新同步期间,主将在9.60mhz操作模式中具有近似62.5%留下的原始带宽(使用12.288mhz时钟频率)和40%留下的正常带宽。在简化的实现方式中,dc偏移被添加到一定数量的(例如12个)时隙,并且因为接收器是差分的,所以额外偏移将不影响数据,但可用于检测加电条件。在仅针对初始和启动条件的甚至更简单的实现方式中,诸如1.0v这样的逻辑电压可以用于唤醒检测,由此消除了对低功率状态中的差分接收器的需要。

下面,表格中图示了示例性差分信令电压。

在各种实施例中,为了确保从设备的安全启动机制,当从设备需要再次返回同步时,在总线线路上使用较高的电压电平。该较高的电压将用于在正常的数据业务和重置条件之间进行区分。其还可用于当总线正运行时的低功率唤醒(例如,唤醒词)的上电电路。较高的总线电压可发生达比正常数据符号更长的时间,来避免总线上的随机噪声从而触发唤醒电路并且来降低功耗。为了获得合理的容差、良好的噪声抗扰性和低功耗,建议唤醒事件将由12位间隙的指针(trail)组成。这相当于在134.400mhz的最高位时钟下大约89ns的最小发生时间。

参考图12,在步骤1002中对系统上电,并且禁用锁定标志和驱动器(步骤1004),并且禁用相位检测器(步骤1006)。在步骤1008中,启用宽搜索以检测设备。如果在步骤1010中检测到针对设备的特殊序列,则在步骤1012中检测到同步脉冲。如果未检测到针对设备的特殊序列,那么重复步骤直到检测到所述特殊序列为止。在步骤1014中,如果pll被锁定,则禁用宽搜索(步骤1016),并且启用驱动器(步骤1018)。当时间门打开时(步骤1020),重复同步序列(步骤1012-1018)。如果pll不被锁定(步骤1014)且启用窄带(步骤1022),那么在步骤1024中禁用驱动器,并且控制转到步骤1008以在高功率下重复宽搜索。

现在将参考图13描述特殊启动电路1100的操作。在正常操作期间,将不存在启动序列,并且来自该电路的输出将为零。来自该电路的输出被使用,直到pll变得被锁定为止。在操作中,电路将对来自总线的输入进行滤波,并且如果总线已经高于某个高阈值达一定时间,则启用pll以查看下一个高到低转变。当总线电平为低时,电路将放电任何累积的电荷,并且再次开始寻找高值的不中断序列。

该系列逻辑一的长度将取决于时钟频率和高值同步脉冲的长度。这可由模拟电路使用以检查在错误条件下的同步的开始。

在50ns(至多120ns)或逻辑一之后启用来自相位检测器的输出,接着是逻辑零。在所图示的实施例中,这使得即使在使用最多4个连续时隙的故障期间也能够进行音频传输。在故障状况期间,前4列被保留用于音频传输,而每隔5列被用于发送逻辑零,接着是更多的音频,直到同步脉冲的开始为止。在0-1转变之后,再次禁用相位检测器输出。在一个实施例中,在从设备已经获得锁定之后,其查看由当前锁定位置确定的用于同步转变的窄窗内部,并忽略所有其他总线业务。

锁定检测器

现在将描述示例性信令解决方案。在第一信令序列解决方案中:

使用三电平信令:{-1,0,+1},如由{低,零,高}发信号那样,以用于降低的emi,类似于cat5信令。

逻辑零:与之前相同的电平(四个零之后可以是来自反向序列的值,即在若干个零之后沿相反方向行进以确保安全开始检测)。

逻辑一:三进制值的序列中的下一个值(例如,多个一)将作为序列{零,高,零,低,零,高,低等}被发信号。然后,比合法数据值更可能的是,同步值将使用不同的序列(例如,{高,低,高,低}或{零,高,零,高})来在同步和数据之间进行区分。换句话说,三进制编码使得接收器能够可靠地在同步与数据之间进行区分,同时通过降低所生成的谐波能够实现emi的减少。

在第二信令序列解决方案中,使用两电平信令。在一个实施例中,除了主之外没有设备可以在一行中拥有多于4个时隙,或者将在分组之间插入零。如果多个设备在彼此之后发送出数据,则在每隔4个位之间使用间隔,并且插入零。如果模拟延迟电路可以被制造为具有比上述更窄的容限,则可以按序列输送更多的位。这是其中带宽被折衷以能够实现与任何合法数据值不同的同步符号的特殊编码的示例。可以使用诸如8/10b编码的其他编码方案来在同步和数据之间进行区分。

在第三信令序列解决方案中,dc偏移被应用于来自主设备的所有信令,而从将不使用dc偏移。差分信号由主设备利用共模信号进行调制以指示帧的开始。虽然这将在某种程度上增加emi,但这将仅在初始同步期间发生达一短时段。无论总线上的当前信令模式和任何从设备内部的任何先前遇到的状态如何,可以由从设备可靠地检测dc偏移的这种改变,并由此可以总是获得同步。图14(3)图示了该解决方案的示例。

高速转变

参考图15,将描述本公开的操作的实施例。即使在音频仍然运行的同时,该解决方案也允许改变同步速率。在一个实施例中,250mv信令可用于慢速模式和快速模式两者,并且门控时间窗内部的接收信号的同步边沿用于音频采样。在慢速模式中,如果时隙未被驱动,则在总线上不存在额外的功耗,并且存在较少的来自以更高速率运行的内部pll的额外功耗。因此,可以选择慢速模式的较高频率,其被用作低功率模式。在慢速模式中,设备可以相对容易地检查同步(例如,用于同步的12个时隙中的2个时隙)。在一个实施例中,所有设备一直维持同步。在另一实施例中,设备可进入睡眠模式且等待特殊vdd唤醒信号,所述信号将在其发挥功能之前诱发延迟(例如,1ms)。

在一个或多个实施例中,到高速的转变以慢同步(例如,768khz)在慢速模式中开始。插入额外的同步符号以准备高速模式,并且使时隙变得较短,但维持原始的768khz转变。假设在发射间隔的中间读取符号。慢速模式设备没有看到额外的同步符号。每个发射器包括内部时钟,该内部时钟以原始时隙时钟的至少两倍运行,以插入较短的符号。在高速模式中,现在存在更多时隙。在各种实施例中,慢速设备可以在快速模式下读取。该解决方案能够实现带宽和同步重复速率的改变,同时保持音频运行,同时使慢速设备和快速设备两者同时被附接到总线。其基本上在现有定时中插入子间隔,并且使用这些子间隔来向现有传输协议添加带宽。该方法可以用于与现有接口(诸如soundwire)向后兼容性,并且还使得能够支持更高带宽,但是不能提供原始接口。

帧同步和批量传输

本领域普通技术人员将认识到本文中公开的系统和方法的许多优点。在各种实施例中,面向接口设备(从设备)的多个上游可以在各个点处附接到总线,并且可以部分地由于准确的定时测量而以全速与彼此通信。由于通过传输线传播的前向波和后向波之间的定时控制和区分,来自不同设备的信令可以被堆叠靠近在一起。这即使在降低emi的适度转换速率的情况下也能够实现高带宽,这对于认证和对诸如fcc类a和b设备(部分15)的emi标准的遵守是有益的。

本文中所描述的系统可用于促进两个导线上的低功率数据通信。接口支持与一个主和一个或多个从设备的多分支操作,并且允许以全速且跨比常规时分复用的低等待时间系统更长的距离来在从设备之间进行点对点通信。通过差分低电压操作和转换速率的控制来实现较低的电磁干扰(emi)。每个从设备包括pll/dll,并且系统支持端接的多分支、多设备系统布置。

所述系统和方法包括提供优于常规方法的许多优点的简单帧结构和初始同步序列。在各种实施例中,从与主设备之间的初始同步是简单的、鲁棒的且使用恒定帧大小。虽然在现有系统中已经使用了变化的帧大小来确保与多个时钟系统的兼容性,但是在本公开中采用了不同的方法。本公开利用由如本文中所公开的过采样时钟系统提供的额外自由度,以提供灵活且有效的解决方案。在一些实施例中,可以根据形成帧的一部分的信标信号来推断实际时钟频率。

在一些实施例中,不管时钟频率和操作模式如何,一行数据都包括80个时隙。这些时隙的解释可以取决于所选择的配置,尽管各个字段将位于相同的序列中。在启动时,为最长总线直径(最慢速度)设置默认数据格式。参考图16a,图示了每一行数据中的不同字段。通过改变各个时隙的解释,可能选择波特率和总线直径之间的各种折衷。同步模式以每一行数据一次的频率重复(例如,如图中所示,同步速率是3.072mhz)。每行以零到一转变开始。该转变被用作内部δ-σ转换器的采样事件,并且用于将pll/dll锁定到总线上,使得可以接收位。图16a图示了同步模式和简化的行描述。使用零到一事件作为δ-σ转换器的采样事件的一个优点在于,其仅包含来自主时钟的抖动而不包含与从设备的时钟恢复相关联的额外抖动。因此,由于pll/dll的低电流消耗的要求,即使在从设备中的时钟恢复单元内部存在更高的抖动,该解决方案也能够实现音频采样的低抖动。

每行由以下各项组成:同步字段(帧以逻辑一开始且以逻辑零结束)、命令字段(c为来自主的命令)、用于在前向方向上(典型地为从主到从)传输音频的字段、双向延迟“周转”以能够实现信令方向(t1)的改变、来自从设备的响应字段“r”(仅在从从设备读取时使用)、用于在后向方向上(典型地为从从到主)传输音频的字段以及可能的空隙字段并且以同步模式的开始来结束。该行还可以包括前向命令(从主到从)和帧(信标)字段(f)以及数据字段d0-d4。分配给这些字段中的每一个的时隙的数量可以随着应用而变化,但是行内的时隙的总数是固定的数量,例如,80。为了改变一行中的列的数量,可以使用图15的技术(例如,以从768到3072khz的同步速率改变)。图16表示在启动时的默认配置,其中以下所示的索引是每个字段的开始处的时隙的数量。

数据的传输将在传输线上发生。为了避免来自多个设备的数据分组之间的冲突,我们将在前向波和后向波之间进行区分。前向波在主处开始,并被引导离开主。后向或反向波是已经从从设备发送出并且在朝向主的方向上行进的数据。在周转时段期间,没有设备将传输任何信息,并且它们的驱动器被禁用(除了用于这样的系统的有源终端的可能性外)。

音频数据可以在链路上在两个方向上行进,即在从主设备到从设备的前向方向上以及在从从设备到主设备的后向方向上。如果从设备想要将数据传输到比从设备本身位于更远离主的另一个从设备,则它将在前向方向上发送数据,即,在标记为d0-d7的字段中,如图16b中所示。在各种实施例中,系统可以容纳控制数据(寄存器读取和写)、等时音频(pdm和pcm)、异步音频(pcm)和批量传输操作。

下面,表格列出了允许对接口进行精细调谐以适应各种带宽要求相对于信号完整性决定的寄存器。在一些实施例中,在已应用重置之后,接口将以默认值开始。在该实施例中,tx延迟被存储为二进制补码带符号值,以确保与多分支配置的兼容性,并且rx延迟被存储为二进制补码带符号值。由于pll/dll中的滞后,可能存在负偏移。如果寄存器f的值等于寄存器g的值,则将不传输块数据。如果寄存器j的值等于寄存器k的值,则将不传输块数据。在本实施例中,以半时钟增量对所有寄存器值进行计数,并且除了tx和rx延迟寄存器之外,所有寄存器值都是正的(单字节)。

参考下面的表格,tx延迟被存储为二进制补码带符号值,以确保与多分支配置的兼容性。rx延迟被存储为二进制补码带符号值,并且由于pll中的滞后,可以存在负偏移。如果寄存器f的值等于寄存器g的值,则将不传输块数据。如果寄存器j的值等于寄存器k的值,则将不传输块数据。以半时钟增量对所有寄存器值进行计数。除了tx和rx延迟寄存器外,所有寄存器值都是正的(单字节)。

在图17中图示了帧的概要。第一列和最后一列中的框由主设备以3.072mhz的速率同步驱动。下两行中的某些框(例如,op、id、##、c、fa、sa)表示由主设备驱动的命令字段。标记为m的框表示从主到从的音频数据,并且标记为s的框可以包括从从到主的音频数据或响应。标记为1的第二列中的框可以包括周转延迟或逻辑一,并且标记为t的框是从主到从的周转延迟。在所图示的实施例中,针对多分支、多写应用分配一个列(判优/计数)。大多数列专用于单个设备,但是可以与如本文中所描述的仔细的定时控制共享。

为了节省带宽,通过首先更新从设备内部的地址寄存器来执行寄存器读取和写操作,在其之后发生实际读取或写操作。以这种方式,重复的读取和写操作将不需要在每个命令中传输地址。

使用冗余对命令进行编码,使得需要至少两个错误来生成与预期不同的操作,但是通常在该条件甚至发生之前需要更多的错误。这些操作已经被设计为考虑到具有保守操作——任何单个错误将导致不操作,而不是试图在可能的错误操作之前进行。命令建立在以下符号{a,b,c,d}上。符号被定义如下:

a={d2,d1,d0}={1,0,0}

b={d2,d1,d0}={0,1,0}

c={d2,d1,d0}={0,0,1}

d={d2,d1,d0}={1,1,1}。

这些命令在其之间具有汉明距离二,即其需要两个错误来将一个正确的符号映射到另一个正确的符号。以下值被认为是故障或非法符号:

f1={d2,d1,d0}={0,1,1}

f2={d2,d1,d0}={1,0,1}

f3={d2,d1,d0}={1,1,0}

f4={d2,d1,d0}={0,0,0}。

如果在命令中遇到非法符号中的任一者,那么可忽略此命令且意图的接收器可在此帧结束时响应请求注意。任何正在进行的块操作应该被暂停,并且只有非块操作将继续。

命令由opcode字段定义。该字段可以由3或6位组成。仅从存储器读取24位将使用缩短形式的opcode。换句话说,当遇到用于“读取24位”的特定opcode时,即使在读取所有6个opcode位之前,该帧也应当被立即识别为读取帧。

块操作适合于去往和来自寄存器的数据的大规模传输。这些传输已被保护以避免其通过将行内的特殊字段专用于这些类型的传输而干扰任何音频传输。因此,音频传输不能干扰块传输,并且反之亦然。这由最低的硬件层处理。这确保简单的编程错误不会使总线崩溃。可能将为块操作分配的时隙减少到零。即使在帧中应当发生若干错误,这将确保块操作将不会发生。

在一个实施例中,所有的块操作以符号a开始,随后是针对第二符号的这些值中的一个:(i)“a”(停止块操作)——该块将是一系列块操作的倒数第二个块,并且下一帧将是包含块数据的最后一个帧,即块传输将停止延迟的一个帧;(ii)“b”(定义连续写操作的开始地址)——数据将被存储在存储器中,以所定义的开始地址开始,并且每个下一数据词将存储下一存储器单元中的内容,并且来自当前帧的第三帧将使用块传输,即块传输将开始两个延迟的帧;(iii)“c”(定义连续读取操作的开始地址)——数据将存储在存储器中,以所定义的开始地址开始,并且每个下一数据词将存储下一存储器单元中的内容,并且来自当前帧的第三帧将使用块传输,即块传输将开始两个延迟的帧。

在可替换的实施例中,代替使用“停止块操作”,在批量传输期间要复制的元素的数量将首先连同开始地址一起被定义。在批量操作已经开始之后,被寻址的设备将由其自身执行所有操作,并且在批量传输结束时,将生成irq(“请求关注”)以让主设备知道传输已完成。然后,主可能能够访问从设备的状态,以查看批量传输是否成功并检查crc值是否正确。

单个读取和写操作通过首先定义寄存器操作的开始地址来工作,在其之后任何稍后的操作将使用先前定义的地址值来执行i/o操作。用于后续寄存器操作的地址的定义是通过用信号通知后面是符号b的符号d来定义的。

读取和写操作通过首先定义寄存器操作的开始地址以地址递增来工作,在其之后任何稍后的操作将使用先前定义的地址值来执行i/o操作。当使用此操作时,后续读取或写操作将在已完成每一读取或写操作之后来后递增设备内部的地址值。用于具有地址递增的后续寄存器操作的地址的定义是通过用信号通知后面是符号c的符号d来定义的。

通过用信号通知后面是符号a的符号d来执行单个写操作。在使用该操作之前必须定义所使用的地址。

当执行单个读取操作时,由于总线的复杂定时细节,读取操作将阻碍第二符号的所有位。因此,读取操作完全由第一符号定义,而第二符号被忽略(在这种情况下,主将不驱动总线)。此外,读取操作应在第一符号(帧中的前三行)已被读取和解释之后立即开始。读取操作由符号c定义。

如果设备id号是7,则这将执行状态读取操作,其中附接到总线的所有设备(除了主之外)将返回其状态。从每个设备返回的三个位如下(msb首先返回,lsb最后):

如果设备id号是7,则这将执行状态读取操作,其中附接到总线的所有设备(除了主之外)将返回其状态。从每个设备返回的三个位如下(msb首先返回,lsb最后):

设备0-6可以在具有相关设备状态数据(附接到总线、irq电平)的对应的a-g字段中进行响应。由于总线上的一个的先前值,将必须使用负逻辑(有效事件为零)来表示任何改变。对于该操作仅使用可能的24个中的最后21个位。设备可使用动态地址分配来获得此3位地址或固定设备地址(例如,pin编程)。如果使用动态地址分配,则设备可以使用地址零作为初始值。如果主在读取期间将id设置为零,则其将表示从最后访问的批量传输端口读取24位crc值。这意味着,如果正在读取设备状态,则第一操作码将是“c”,并且第二操作码不被驱动。

提供各种状态标志以从附接到总线的所有设备返回状态,所述状态标志包括确认标志和注意标志。确认标志确认成功的事务(例如,由三位crc值确认的读取或写)。为了避免可能的总线冲突,在多个设备试图以不同值驱动总线的情况下,这已经被定义为有效逻辑低信号。如果设备请求注意,则其应当将该时隙驱动为低,否则其不应当在该时隙期间驱动任何值。由于这是共享位,所以所有设备可以对该时隙进行响应。注意标志(例如,at)从附接到总线的任何设备发出对注意的请求。为了避免可能的总线冲突,在多个设备试图以不同值驱动总线的情况下,这已经被定义为有效逻辑低信号。如果设备请求注意,则其应当将该时隙驱动为低,否则其不应当在该时隙期间驱动任何值。

为了避免单个错误导致块传输操作,将在先前帧中完全定义块传输。通过每一行改变命令位的数量,有可能非常快速地将大量数据传输到寄存器及从寄存器传输大量数据,例如,以用于dsp程序上传。块传输将仅在列被分配用于该操作的情况下才发生,这通过写定义块传输的开始的寄存器而发生。如果块传输寄存器在定时上在其之后等于或大于周转寄存器,则将不会传输块数据,即使块传输命令被发出也是如此。这确保了块数据不会意外地盖写音频数据。下面阐述具有命令的编码的示例命令表格:

参考图18a、18b和18c,现在将进一步详细地描述块传输操作。32位地址被分配给从设备(在后续操作上没有递增),如在帧1802中图示的。由于紧凑的定时,因此可缓冲列二中的设备id和初始值,因为在已发送这些值之后首先完成命令。接下来,如在帧1804中所图示,将32位地址分配给从设备(在后续操作上递增)。如在帧1806中图示的,获得使用先前分配的地址(如果id=地址7,命令中的异常)读取24位。如帧1808中所图示,所有附接的设备的读取状态(id=7,到达命令中的异常)。24位返回的数据的前三位不被使用并且可以被最后使用的批量传输端口重写。帧1810图示了来自最后批量传输操作的读取状态(读取命令中的异常,id=0)——例如,从最后使用的批量传输端口读取24位crc值。帧1812图示了使用先前分配的地址的写32位。从设备将不知道这是直到行6的写命令,这意味着其将需要缓冲行4、5和6中的寄存器数据以准备好可能的写命令。

图18b中的帧1814图示了32位块写传输操作的发起。数据的写将首先在稍后两个帧中(即,不在该帧中也不在下一帧中)开始。直到第三帧开始,帧布局将是相同的。帧1816图示了写批量数据的传输(连续)。帧1818图示了32位块批量读取传输操作的发起。对寄存器数据的读取将首先在第三帧中开始。直到第三帧开始,帧布局将与先前帧中相同(即,批量传输尚未开始)。d0-d23被映射到设备0-7。每个设备可具有至多三个批量传输端口。值0指示端口将在两个帧中被激活。每个设备被分配三个位(例如,设备1被分配位d3-d5,每个位对应于内部批量传输端口)。帧1820图示了读取批量数据的传输(连续)。

帧同步算法

主假设从设备在某个时间段之后将已经获得同步(pll/dll锁定)。从设备可以以任何支持的速度附接到总线并且提供关于其能力的反馈。提供了用于检查从设备是否在开始通信之前已经获得消息同步的实施例。在一些实施例中,使用单个帧消息。信标可以可用于指示帧的开始并可用于同步。

参考图19,现在将描述帧同步算法1900的实施例。在步骤1902中,该过程等待pll或dll与主锁定。在步骤1904中,将移位寄存器(shift1)设置为0xffff.ffff。在步骤1906中,将来自第一行的第一值读取到第二移位寄存器中。该过程在32行上重复以初始化搜索寄存器。在一些实施例中,每行在3.072mhz处重复,这可以为pdm和高质量音频提供采样点。在32行上重复每个帧,给定96khz的帧重复频率。在一些实施例中,信标指示帧的结束并且每隔两个帧被发送(以48khz重复率)。

然后,在64个帧上重复接下来的步骤。在步骤1908中,从移位寄存器2读取该值,其应当是新的读取值的相反值(在步骤1910中进行的比较)。如果否,则在步骤1920中重置第一移位寄存器中的该位,否则该过程进行到步骤1912以更新第二移位寄存器,shift2。步骤1908移位两个寄存器并继续完成32行。然后,在64个帧上重复该过程。通过检查交替模式,可以在64帧之后实现帧同步。换句话说,代替检查实际同步位置,此算法清除所有无效位置,直到仅留下单个有效位置为止。该方法保证从设备将总是锁定,而不管命令列中出现的任何随机数据如何。如果32位寄存器包含在64个帧之后仍设置的多于单个位,则重复该方法,直到无效位置已被清除为止。

在所图示的实施例中,第一移位寄存器中的为一的唯一位表示帧同步位置。在一些实施例中,如果在第一移位寄存器中存在具有值为一的多于一个的位,那么已发生错误,并且应重新开始算法。在正常情况下这不期望发生(对于随机数据,这发生的概率是2-64<10-20)。

在一个实现方式中,使用主时钟对所有字段进行过采样。数据行被划分成80个时隙,并且多个时隙用于在总线上定义数据。可以使用主时钟对所有字段进行过采样。在该实施例中,默认时钟频率被设置为245.76mhz,但是可以使用其他频率。对于从设备和主设备,初始pll同步频率被设置为3.072mhz,但是如本文中所描述的,可以使用其他频率。

这些时隙的解释将取决于所选择的配置,尽管各个字段将在相同的序列中。在启动时,为最长总线直径(最慢速度)设置默认数据格式。参考图16c,图示了示例帧结构,其示出了每一行数据中的不同字段。通过改变各个时隙的解释,可能选择波特率和总线直径之间的各种折衷。同步模式以每一行数据一个的频率重复。同步模式是零到一转变。

在所图示实施例中,行包括同步字段(0-1)、周转时段t1(在该时段中主设备和任何从设备都不有效以允许方向改变,该时隙还包括前向命令(主控制)和帧信息f)、命令字段(cmd或应答r)、用于在前向方向上(典型地为从主到从)的音频的输送的字段、用于从主到从b1的批量寄存器数据的输送的字段、用于使得能够改变信令方向的周转时段t2、用于在后向方向上(典型地为从从到主)的音频的输送的字段、用于从从到主b2的批量数据的输送的字段和在下一行开始之前用于数据对齐的空值字段。

当主发出命令字段中的命令时,其也将以相同的值驱动相邻的t1字段,以确保更好的定时容限。然而,当主期望来自从设备的应答时,其将不驱动t1和cmd字段。t2字段不被任何设备驱动并且被分配用于数据周转。当从设备在命令字段内发出响应时,其将仅驱动“cmd”字段,并且相邻的t1字段将被解除驱动并且用于信号的周转。从从设备到主设备的实际距离可能是未知的。因此,将发出将测量从从设备到主设备的实际延迟的命令。实际延迟将用于优化定时,例如优化接收眼图。

分配给这些字段中的每个的时隙的数量可随应用而变化,但在所图示的实施例中,行内的时隙的总数量为80。在启动时的默认配置指示每个字段的开始处的时隙的数量。在启动时没有时隙被分配用于批量传输。

标记为tn的时隙用于周转延迟。这些时隙内部的实际数据值是未定义的。周转延迟t1-t2被分配以允许数据方向改变(即,从前向波到后向波,并且反之亦然)。从主和从设备发射的位的数量可以变化,并且应当在任何传输开始之前被编程。在上面示出的示例中,主在每行中将6位发射到从,并且从在每行中将4位发射到主。该示例示出了默认配置,并且分配给主和从的带宽可以被编程为其他配置。无论数据配置如何,同步模式都保持固定。通过对每个数据位分配的时隙的数量和针对命令周转等进行编程有可能显著地增加带宽,典型地以更高的抖动要求和更短的最大总线直径为代价。这种可编程性允许系统设计者通过决定在每个方向上有多少带宽可用于同步、命令和数据来权衡带宽以获得更高的信号完整性。此外,通过对转换速率和输出传输电压进行编程,可以优化信号完整性,同时使系统能够通过emi要求。

当主在命令字段中发出命令时,其也将以相同的值驱动相邻的t1和t2字段以确保更好的定时余量。然而,当主期望来自从设备的应答时,其将不驱动t1、cmd和t2字段。当从设备在命令字段内发出响应时,其将仅驱动“cmd”字段,并且相邻的t1和t2字段将被解除驱动并且用于信号的周转。从从设备到主设备的实际距离可能是未知的。因此,将发出将测量从从设备到主设备的实际延迟的命令。实际延迟将用于优化定时,例如优化接收眼图。主设备将在正常采样之前对从延迟1/2数据单元进行采样,即在两个数据值之间的边沿处用于延迟优化,而用于高数据完整性的值将位于每个数据单元的中间。

可以通过使用时钟的两个边沿来实现两次过采样。当主在命令字段中发出命令时,其将以相同的值驱动相邻的“t”字段。当从设备在命令字段内发出响应时,其将仅驱动“r”字段,并且相邻的“t”字段将被解除驱动并且用于信号的周转。如果总线直径短并且总线频率低,则泄漏电流可以在可以进行延迟测量之前改变总线值。在这种情况下,最好在系统中包括总线保持器,以确保泄漏电流将不会影响任何延迟测量。这种总线保持器的输出阻抗将典型地在1-2kω的范围内。

一旦从设备锁定,从设备应当通过告知设备状态来进行响应。从pll电路应当能够在1ms内获得与主的锁定,并且能够输出将由其他控制电路使用的“pll被锁定”的信号。此外,pll应预期来自从命令控制器的逻辑信号(“消息同步”信号)。当“消息同步”信号为高并且从pll已经确定其被锁定时,其应当改变为窄带宽模式。在窄带宽模式中,时间门将仅允许来自相位检测器的输出在同步边沿周围的窄时间窗中。如果这些信号中的任一个不是有效的(高),则pll应当改变为宽带相位检测,并且从设备不应当能够写到总线(这被完成,因此其不能盖写其他设备)。

音频数据可以在链路上在两个方向上行进,即在从主设备到从设备的前向方向上以及在从从设备到主设备的后向方向上。如果从设备想要将数据传输到比从设备本身位于更远离主的另一个从设备,则其将在前向方向上(即,在标记为“主音频”的字段中)发送数据。

端口编程

在各种实施例中,通过端口编程来处理数据传输。为了使数据能够从任何发射端口传输到任何接收端口,可以像单声道信道那样处理数据。使用此方法,与信道可被视为分组的情形相比,立体声信道和多信道系统将使用较长的编程序列。然而,该方法相对于任意数据传输更简单并且给予更多灵活性。

与端口相关联的所有寄存器将具有库(影子)寄存器。对主要和影子寄存器的选择是通过写到库选择寄存器来实现的。为了避免由于由一个或多个错误的库寄存器值的改变而对总线的行为造成灾难性的改变,该寄存器已经被额外保护。换句话说,为了改变库值,需要将特定的8位值写到特定寄存器以选择库编号一以及在这两个词之间以长汉明距离写不同的8位值以选择库编号0。库寄存器用于在两个或更多回放模式之间无缝地改变,而不会在从一个场景改变到另一场景时遇到任何假信号或失真。注意,为了避免任何音频假信号,当通过合适的缓冲来改变滤波器配置时,还可能需要注意分组延迟。

为了能够自由地将任何数据从任何发射端口传输到任何接收端口,发射和接收端口两者可自由地对帧内的数据的位置进行编程。例如,行变量可允许选择待写入的第一行数据,并且可使用行增量来选择到下一有效行的间隔。列变量可用于选择待写入的第一列,并且“最后一列”变量可用于选择其中数据正被写入或从中读取的最后一列。来自给定数据端口的数据的长度也可以被编程(例如,数据词长度)。在一些实施例中,数据值可以在多于一个帧上延伸,并且可以对流的同步进行编程。这典型地通过使用信标位来实现以实现该同步。

批量传输可能需要在要启用批量传输之前定义行开始、行递增、列开始和列停止寄存器。可以使用批量控制位来启用和禁用批量传输命令。仅支持批量传输的端口将使用该位,否则忽略该值。批量传输可以具有附加寄存器,该附加寄存器包含在由端口执行的最后批量操作期间传输的所有位中的24位crc校验值。每个设备可以仅具有同时操作的单个批量传输端口,并且通常将从不具有多于一个的批量传输端口。批量控制寄存器可包括开始寄存器(例如,32位地址)、结束寄存器(例如,32位地址)或长度寄存器(例如,32位)、指示单个或连续传输的标志以及读取/写方向标志。注意,必须首先启用端口以使其对开始批量传输命令做出反应。在端口传输期间启用的端口由通过主写的24位词给出。在批量传输操作的开始期间,由主设备写24位词。每个设备内部地将这些位分配给批量传输端口(如果任何一个被实现的话)。

功耗

对于具有适度带宽要求的短系统,有可能通过避免链路的端接而显著地降低功耗。相反,发射器将与线阻抗串联端接。为了避免来自发射器侧的任何反射,发射器输出阻抗也应在改变输出电平期间相对稳定。这可以通过具有多个驱动器来实现,所述驱动器一次一个地被连续地激活,使得将不存在时间区,其中输出阻抗将突然非常高。此外,如果仅存在位于传输线的每一端处的两个设备,那么在反射方面的问题将消失以及高速且低功率可利用链路和串联端接的发射器的未端接端而实现。

通过避免并行端接,功耗将仅通过电容性充电(基于250mv信令、50pf负载和40mbit信令)而减小到2x125μw=250μw。实际上,我们将需要添加接收pll的功耗(例如,250μw)和用于控制开销的一些额外带宽,但是低于1mw的功率预算是不现实的。

在各种实施例中,主应当能够唤醒从,并且从应当能够唤醒主。最简单的零功率唤醒(<1μa)模式将利用较高的信令电压(≈1v)以确保良好的信号完整性和所有其他电路的断电。更复杂的解决方案可以在所有模式中维持相同的信令电压,但是这将需要更复杂的电路和一直被接通(100μa)的接收器电路。主将写到所有从且告知总线停止将在下一帧中开始。对于多分支总线,这将要求端点节点在帧结束时禁用其终端。在下一帧中,主会使用弱驱动器(≈5kω)将d+驱动到vdd。高阻抗可用于在转变期间降低任何emi。只要d+是vdd,其是低功率状态仍然有效的指示。从可以使用中等强度驱动器(≈600ω)下拉d+线以用信号通知唤醒事件。这将确保至少7ns的转变(15pf负载或更多)。该线将必须被拉低达至少50μs,以确保主已经注册了事件(即使在主中使用标准32.768khz低功率唤醒时钟)。在至多100μs之后,从将禁用下拉事件,并且主将在事件已经被注册之后开始驱动总线达至少100μs,在该事件之后总线将重启。

同步

当系统上电时,从设备将需要与主设备建立同步。这以以下方式实现:(i)主将在每行中发送出固定的同步模式(零到一转变);(ii)除了分配给命令应答和周转的时隙之外,主将定义帧中的所有位;(iii)当从设备pll/dll与主处于锁定时,其以激活“处于锁定的从”位(参见耳链路,命令部分)来应答;以及(iv)现在主设备可以对从设备进行编程。

在一个实施例中,无论时钟频率和功率模式如何,一行都包括80个时隙。同步模式以每一行一个的频率重复。同步模式是零到一转变。由从设备pll/dll仅使用行/周期中的第一个零到一转变。因为命令时隙紧跟在同步时隙之后,所以意味着行内最初仅存在单个零到一转变,并且因此pll的同步事件将被唯一地定义。只要上升时钟边沿被用于同步,从pll/dll电路应当能够在1ms内获得与主的锁定,并且能够输出将由其他控制电路使用的内部“pll/dll处于锁定”信号。此外,pll/dll应预期来自从命令控制器的逻辑信号(“消息同步”信号)。当“消息同步”信号为高并且从pll/dll已经确定其处于锁定时,其应当改变为窄带宽模式。在窄带宽模式中,时间门将仅允许来自相位检测器的输出在同步边沿周围的窄时间窗中。如果这些信号中的任一个不是有效的(高),则pll/dll应当改变为宽带相位检测(即禁用相位/延迟检测器窗门控逻辑并禁用从输出发射器以避免总线冲突)。主应当读取设备状态,并由此检测从何时已经获得锁定。此外,该消息可以用于优化从设备的延迟定时,并且应当在开始端口传输之前完成。

在已获取同步之后,在转变周围的窗(例如,+/-3个时隙、由六个时隙组成的同步时隙的一半)将对pll/dll是开放的。使用用于pll的窄时间窗的原因在于,来自相位检测器的将由pll积分的输出不应被总线上的任何数据通信混淆。因此,有必要以宽的接收器带宽来开始pll,即,在时域中宽,并且稍后将输入时间门控到pll集成单元。时间门窗的宽度取决于时隙的宽度,其中一个时隙由从pll的一个时钟时段确定。利用约294.912mhz(3.072mhzx96)的内部时钟频率,这转化为使用6个时隙来发送一个同步位的系统的约+/-10.2ns。此配置将接受高达约727个psrms的抖动以用于此值约14倍的峰值抖动(对于10-12的误码率)。

在适用的情况下,由本公开提供的各种实施例可以使用硬件、软件或硬件和软件的组合来实现。此外,在适用的情况下,在不脱离本公开的精神的情况下,本文中所阐述的各种硬件部件和/或软件部件可以被组合成包括软件、硬件和/或两者的复合部件。在适用的情况下,在不脱离本公开的范围的情况下,本文中所阐述的各种硬件部件和/或软件部件可以被分成包括软件、硬件或两者的子部件。另外,在适用的情况下,可以预期的是,软件部件可以被实现为硬件部件,并且反之亦然。

前述公开并非旨在将本公开限制于所公开的精确形式或特定使用领域。因此,可以预期的是,根据本公开,无论是否在本文中明确描述或暗示,对本公开的各种替代实施例和/或修改是可能的。已经像这样描述了本公开的实施例,本领域的普通技术人员将认识到,在不脱离本公开的范围的情况下,可以在形式和细节上进行改变。因此,本公开仅由权利要求限制。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签:
tips