串行总线装置以及其时钟差补偿方法

文档序号:6596844阅读:193来源:国知局
专利名称:串行总线装置以及其时钟差补偿方法
技术领域
本发明涉及一种串行总线装置,特别是涉及一种可补偿时钟差的串行总线装置。
背景技术
通用串行总线(Universal Serial Bus, USB)为连接外部设备的一种串行总线标 准,其可支持热插拔(Hot plug)和即插即用(Plug and Play)等功能。
现今,USB 2. 0规格可提供低速、全速以及高速传输,其可分别支持最大1. 5Mbps、 12Mbps及480Mbps的数据量。然而,随着复杂功能的增加,电子产品需要更高速的USB传输 速率,以便能更快速地从外部设备存取数据并执行相关的操作程序。 因此,USB实施论坛(USB Implementers Forum)制订了 USB 3. 0的规格,其可同 时提供超高速(SuperSpeed)以及非超高速(即USB 2.0)的信息交换,其中超高速传输可 支持最大5G bps的数据量。

发明内容
本发明提供一种串行总线装置,用以提供一分组至一链接伙伴。所述串行总线装 置包括一处理单元,用以提供所述分组;以及,一时钟差补偿单元,耦接于所述处理单元, 用以根据所述分组的类型,判断是否在传送所述分组至所述链接伙伴之前,先传送至少一 跨越有序组至所述链接伙伴,以对所述链接伙伴提供时钟差补偿,其中所述跨越有序组包 括两跨越码元(symbol)。 再者,本发明提供一种时钟差补偿方法,适用于一串行总线装置。首先,判断欲传 送至一链接伙伴的一分组是否为一数据分组。当所述分组为一数据分组且所述分组的一 数据长度大于或等于一特定值时,在传送所述分组至所述链接伙伴之前,先传送至少一跨 越有序组至所述链接伙伴,以对所述串行总线装置以及所述链接伙伴之间的时钟差进行补 偿,其中所述跨越有序组包括两跨越码元。


图1示出了两通用串行总线装置之间超高速数据传递的示意图; 图2示出了符合USB 3. 0规格的数据分组格式; 图3示出了符合USB 3. 0规格的类型字段表; 图4示出了根据本发明一实施例所述的通用串行总线装置; 图5示出了根据本发明一实施例所述的数据分组的数据长度以及由跨越码产生 器所插入的跨越有序组的数量的关系;以及 图6示出了根据本发明一实施例所述的一种时钟差补偿方法,适用于可提供超高
速分组传输的通用串行总线装置。 附图符号说明 10 、20 、40 链接伙伴;
11、21 处理单元; 12 扰乱器; 13 编码器; 14、24 电子实体单元; 15、25 线性回授移位寄存器; 210 类型字段; 22 解扰乱器; 220 数据长度字段; 23 译码器; 26、41 时钟差补偿单元; 30 缆线; 42 仲裁器 44 跨越码产生器 46 缓冲器; Sc。mp、 Sc,、 SDEC、 SENC、 SIN、 SSCK、 TXData、 RXData 分组;以及 SKPSet 跨越码组、跨越有序组。
具体实施例方式
为使本发明的所述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施
例,并结合附图详细说明如下。
实施例 图1示出了两通用串行总线装置10、20之间超高速(SuperSpeed)数据传递的示 意图。在图l中,通用串行总线(USB)装置IO经由缆线30传送数据给通用串行总线20,其 中通用串行总线装置10与通用串行总线装置20为链接伙伴(link partner)。链接伙伴10 包括处理单元11、扰乱器12、编码器13以及电子实体单元14,其中扰乱器12包括线性回授 移位寄存器(linear feedback shifter register) 15。首先,处理单元11提供要被传送的 原始数据TXData至扰乱器12,其中数据TXData具有8位长度。接着,扰乱器12会根据线 性回授移位寄存器15所提供的种子(seed)对数据TXData进行扰乱以产生扰乱数据SSCK。 接着,编码器13会将扰乱数据S^编码成数据S皿并传送至电子实体单元14。编码器13使 用8位/10位(8b/10b)编码技术对数据S^进行编码,因此数据S皿为具有IO位长度的码 元(symbol)。接着,电子实体单元14将数据SENC由并行转换为串行(parallelto serial), 并经由缆线30传送至链接伙伴20。电子实体单元14为一种输入输出接口 (Input/Output Interface)单元,用以接收以及传送符合USB规格的差动对信号。 参考图l,链接伙伴20包括处理单元21、解扰乱器22、译码器23、时钟差补偿单元 26以及电子实体单元24,其中解扰乱器22包括线性回授移位寄存器25。当链接伙伴20接 收到来自链接伙伴10的串行位数据(或位数据流)时,电子实体单元24会将连续接收的 位数据由串行转换为并行,以形成具有多个数据SIN的码元串,其中每一数据SIN为具有10 位长度的码元。接着,时钟差补偿单元26会根据链接伙伴20的第一工作时钟与链接伙伴 10的第二工作时钟之间的时钟差来决定是否需执行一补偿程序,使得链接伙伴10的数据传送速度以及链接伙伴20的数据接收速度能同步。当两工作时钟之间的时钟差很小时,时 钟差补偿单元26会直接将数据SIN提供给译码器23而不执行补偿程序,即数据SOTP会相 同于数据SIN。因此,当数据传递过程中无失真发生时,链接伙伴20所接收到的数据Sc。mp会 相同于链接伙伴10内的数据SENC。接着,译码器23会使用8位/10位译码技术将数据SOTP 译码为数据SDK。同样地,当数据传递正确时,链接伙伴20所接收到的数据S皿会相同于链 接伙伴10内的数据Ssra。接着,解搅乱器22会根据线性回授移位寄存器25所提供的种子 对数据SDEC进行解扰乱以产生数据RXData至处理单元21,以供处理单元21进行后续的应 用。 在通用串行总线3. 0装置中,超高速数据传递通常包括四种分组类型链接管理 分组(Link Management Packet, LMP)、异动分组(Tra固ctionPacket, TP)、数据分组(Data Packet, DP)以及等时时间戳记分组(IsochronousTimestamp Packet, ITP)。异动分组不 包括数据负载(payload)。数据分组包括数据分组标头(Data Packet Header, DPH)以及 数据分组负载(DataPacket Pay load, DPP),如图2所显示,图2示出了符合USB 3. 0规格 的数据分组格式。在USB 3.0规格中,每个超高速分组的标头启始于具有5位长度的类型 字段(type field),例如图2中的类型字段210,其中类型字段可用来识别该超高速分组的 格式,以便决定该超高速分组如何被使用或是发送。图3示出了符合USB 3. 0规格的类型 字段表,其表示不同分组类型所对应的内容值,其中类型字段表中的内容值是以2进位方 式表示。在图3中,链接管理分组所对应的内容值为"00000"。异动分组所对应的内容值 为"00100"。数据分组标头所对应的内容值为"01000"。等时时间戳记分组所对应的内容 值为"01100"。 再参考图l,在USB3. 0规格中,传送端的链接伙伴10平均每354个码元需传送一 跨越有序组(SKP Ordered Set)至接收端的链接伙伴20,以补偿接收端的链接伙伴20以及 传送端的链接伙伴IO之间的时钟(clock)时钟差。在USB 3.0的规格中,跨越有序组包括 两跨越码元。例如,第一跨越码元"0011111001 "与第二跨越码元"1100000110",或是第一 跨越码元"1100000110"与第二跨越码元"0011111001"。值得注意的是,高容量的文件会被 分成多个个数据分组来进行传送,而传送端的链接伙伴10不会在任一数据分组内插入跨 越有序组,但可在上一数据分组与下一数据分组之间(间隔)插入跨越有序组。于是传送 端的链接伙伴10可累积跨越有序组的数量直到数据分组传送完之后再传送给接收端的链 接伙伴20。在传送端的链接伙伴10中,第一跨越码元以及第二跨越码元是编码器13依序 使用8位/10位编码技术对跨越码"00111100"进行编码而得到。此外,链接伙伴10的扰 乱器12不会对该跨越码进行扰乱。同样地,链接伙伴20的解扰乱器22不会对跨越有序组 进行解扰乱。再者,当接收到跨越有序组时,接收端的链接伙伴20内的时钟差补偿单元26 会增加或减少跨越有序组的数量以解决两链接伙伴之间时钟不同步的问题。
图4示出了根据本发明一实施例所述的通用串行总线装置40。在图4中,链接伙 伴40经由缆线30传送分组给链接伙伴20。相较于图1中的链接伙伴IO,链接伙伴40还 包括耦接于处理单元ll以及扰乱器12之间的时钟差补偿单元41,其中时钟差补偿单元41 包括耦接于处理单元11以及扰乱器12之间的仲裁器42以及耦接于仲裁器42的跨越码 产生器44。当接收到来自处理单元ll的数据TXData为分组时,仲裁器42会先根据分组 TXData的标头中的类型字段而识别出分组TXData的类型。接着,当分组TXData为非数据分组时(即分组TXData为链接管理分组、异动分组或等时时间戳记分组),仲裁器42会直 接将分组TXData传送至扰乱器12,以进行后续处理(例如扰乱、编码等),最后再经由缆线 30传送至链接伙伴20。反之,当经由类型字段(例如图2的字段210)识别出分组TXData 为数据分组时,仲裁器42会先将分组TXData暂存于仲裁器42内的缓冲器46中,并于数据 长度字段(例如图2的字段220,其指示数据分组负载DPP内的字节(byte)数量)中得到 分组TXData的数据长度。接着,仲裁器42根据分组TXData的数据长度而决定是否产生控 制信号Ctrl至跨越码产生器44,以控制跨越码产生器44产生至少一组跨越码组SKPSet至 仲裁器42,其中每组跨越码组SKPSet包括两个跨越码"00111100"。如先前所描述,将两个 跨越码"00111100"进行8位/10位编码之后可得到一跨越有序组。接着,当仲裁器42接 收到跨越码组SKPSet时,会先将跨越码组SKPSet传送至扰乱器12,再将暂存于缓冲器46 的分组TXData传送至扰乱器12,以进行后续处理。最后,链接伙伴40会经由缆线30依序 传送跨越有序组以及数据分组至链接伙伴20。换言之,链接伙伴40在传送数据分组至链 接伙伴20之前,会先传送跨越有序组至链接伙伴20 ,其中跨越有序组是由跨越码产生器44 所产生的跨越码组SKPSet经由编码器13进行编码而产生。在一实施例中,时钟差补偿单 元41可被整合于处理单元11内。 在图4中,仲裁器42会根据分组TXData的数据长度而控制跨越码产生器44产生 跨越码组SKPSet的数量。例如,仲裁器42可根据预先设定的数据长度来控制跨越码产生 器44产生固定数量的跨越码组SKPSet。举例来说,当分组TXData的数据长度大于或等于 512字节时,仲裁器42会提供控制信号Ctrl至跨越码产生器44,以控制跨越码产生器44 产生固定数量的跨越码组SKPSet至仲裁器42。此外,仲裁器42亦可根据不同的数据长度 来决定跨越码组SKPSet的数量,即链接伙伴40在数据分组之前所传送的跨越有序组的数 量是对应于该数据分组的数据长度。图5示出了根据本发明一实施例所述的数据分组的数 据长度以及由跨越码产生器所插入的跨越有序组的数量的关系。参考图4及图5,当数据分 组的数据长度介于0字节以及511字节之间时,仲裁器42不会提供控制信号Ctrl至跨越 码产生器44,因此链接伙伴40不会插入跨越有序组于数据分组之前。当数据分组的数据 长度介于512字节以及767字节之间时,仲裁器42会提供控制信号Ctrl至跨越码产生器 44,使得链接伙伴40会插入一组跨越有序组于数据分组之前。当数据分组的数据长度介于 768字节以及1024字节之间时,仲裁器42会提供控制信号Ctrl至跨越码产生器44,使得 链接伙伴40会插入两组跨越有序组于数据分组之前。在图5中,数据分组的数据长度范围 以及所对应的跨越有序组的数量可通过软件根据链接伙伴40以及链接伙伴IO之间的实际 传输状况而做适当的调整。 图6示出了根据本发明一实施例所述的一种时钟差补偿方法,适用于可提供超高 速分组传输的通用串行总线装置。首先,接收到欲传送到链接伙伴的一分组(步骤S702)。 接着,根据该分组的标头中的类型字段,判断该分组是否为一数据分组(步骤S704)。当该 分组不是数据分组时,直接传送该分组至链接伙伴(步骤S712)。反之,当该分组为数据分 组时,根据该分组的标头中的数据长度字段,判断该分组的数据长度是否大于或等于一特 定长度(步骤S706)。当该分组的数据长度小于该特定长度时,直接传送该分组至链接伙伴 (步骤S712)。反之,当该分组的数据长度大于或等于该特定长度时,根据该分组的数据长 度决定跨越有序组的数量并产生符合该数量的跨越有序组(步骤S708),其中跨越有序组的数量可以是固定值或是对应于该分组的数据长度。接着,将跨越有序组传送至链接伙伴 (步骤S710)。接着,在传送跨越有序组之后,再将该分组传送至链接伙伴(步骤S712)。
根据本发明实施例,可在传送端的链接伙伴中设置时钟差补偿单元,来补偿接收 端的链接伙伴以及传送端的链接伙伴之间的时钟频率差。此外,时钟差补偿单元内的仲裁 器可识别出欲传送的分组是否为数据分组,并根据该数据分组的数据长度控制跨越码产生 器是否产生跨越有序组以及决定跨越有序组的数量。藉由在传送数据分组之前先传送跨越 有序组,可避免数据分组传送至传送端的链接伙伴时造成数据溢出(overflow)或数据下 溢(underflow),其中数据溢出或数据下溢将使得传送端的链接伙伴需重新传送该分组至 接收端的链接伙伴。因此,补偿接收端的链接伙伴以及传送端的链接伙伴之间的时钟频率 差可提高两链接伙伴之间的传输效率。 此外,除了 USB 3.0之外,本发明亦可应用于其它串行传输标准或是串行总线装 置,例如PCIE标准,具有与USB3. 0或PCIE相同协议(protocol,计算机之间通信与数据传 送所遵守的规则)的标准等。相似地,藉由在传送数据分组之前先判断是否传送特定数据 (例如跨越有序组),可补偿接收端的装置以及传送端的装置之间的时钟频率差,进而避免 该数据分组传送至传送端的装置时会造成数据溢出或数据下溢。 虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术 人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范 围以本发明的权利要求为准。
8
权利要求
一种串行总线装置,用以提供一分组至一链接伙伴,包括一处理单元,用以提供所述分组;以及一时钟差补偿单元,耦接于所述处理单元,用以根据所述分组的类型,判断是否在传送所述分组至所述链接伙伴之前,先传送至少一跨越有序组至所述链接伙伴,以对所述链接伙伴提供时钟差补偿。
2. 如权利要求1所述的串行总线装置,其中所述时钟差补偿单元包括 一跨越码产生器,用以产生所述跨越有序组;一仲裁器,耦接于所述处理单元以及所述跨越码产生器,用以根据所述分组的类型,判 断是否在传送所述分组至所述链接伙伴之前,先传送所述跨越有序组至所述链接伙伴, 其中所述跨越有序组包括两跨越码元。
3. 如权利要求2所述的串行总线装置,其中所述仲裁器根据所述分组的标头中的类型 字段而识别出所述分组的类型。
4. 如权利要求2所述的串行总线装置,其中当所述分组为一数据分组时,所述仲裁器 根据所述分组的一数据长度判断是否在传送所述分组至所述链接伙伴之前,先传送所述跨 越有序组至所述链接伙伴。
5. 如权利要求2所述的串行总线装置,其中当所述分组不是一数据分组时,所述仲裁器直接将所述分组传送至所述链接伙伴。
6. 如权利要求4所述的串行总线装置,其中当所述分组为所述数据分组且所述分组的 所述数据长度大于或等于一特定值时,所述仲裁器在传送所述分组至所述链接伙伴之前, 先传送所述跨越有序组至所述链接伙伴。
7. 如权利要求6所述的串行总线装置,其中当所述分组为所述数据分组且所述分组的 所述数据长度小于所述特定值时,所述仲裁器直接传送所述分组至所述链接伙伴。
8. 如权利要求4所述的串行总线装置,其中所述仲裁器根据所述分组的标头中的数据 长度字段而得到所述数据长度。
9. 如权利要求4所述的串行总线装置,其中当所述分组为所述数据分组且所述分组的 所述数据长度大于或等于一特定值时,所述仲裁器控制所述跨越码产生器产生所述跨越有 序组,以及所述跨越码产生器所产生的所述跨越有序组的数量对应于所述分组的所述数据 长度。
10. —种时钟差补偿方法,适用于一串行总线装置,包括 判断欲传送至一链接伙伴的一分组是否为一数据分组;以及当所述分组为一数据分组且所述分组的一数据长度大于或等于一特定值时,在传送所 述分组至所述链接伙伴之前,先传送至少一跨越有序组至所述链接伙伴,以对所述串行总 线装置以及所述链接伙伴之间的时钟差进行补偿。
11. 如权利要求10所述的时钟差补偿方法,还包括 当所述分组不是所述数据分组时,直接传送所述分组至所述链接伙伴。
12. 如权利要求10所述的时钟差补偿方法,还包括当所述分组为所述数据分组且所述分组的所述数据长度小于所述特定值时,直接传送 所述分组至所述链接伙伴。
13. 如权利要求IO所述的时钟差补偿方法,还包括根据所述分组的所述数据长度,决定传送至所述链接伙伴的所述跨越有序组的数量。
14. 如权利要求13所述的时钟差补偿方法,其中所述跨越有序组的数量对应于所述分 组的所述数据长度。
15. 如权利要求13所述的时钟差补偿方法,其中所述跨越有序组的数量是固定值。
16. 如权利要求10所述的时钟差补偿方法,其中所述判断的步骤还包括 根据所述分组的标头中的类型字段,判断所述分组是否为所述数据分组;以及 当所述分组为所述数据分组时,根据所述分组的标头中的数据长度字段,得到所述数据长度。
17. 如权利要求10所述的时钟差补偿方法,其中所述跨越有序组包括两跨越码元。
全文摘要
本发明披露了串行总线装置以及其时钟差补偿方法。所述串行总线装置,用以提供一分组至一链接伙伴。所述串行总线装置包括一处理单元以及一时钟差补偿单元耦接于所述处理单元。所述处理单元产生所述分组。所述时钟差补偿单元根据所述分组的类型,判断是否在传送所述分组至所述链接伙伴之前,先传送至少一跨越有序组至所述链接伙伴,以对所述链接伙伴提供时钟差补偿,其中所述跨越有序组包括两跨越码元。
文档编号G06F13/38GK101763330SQ20101000153
公开日2010年6月30日 申请日期2010年1月8日 优先权日2010年1月8日
发明者陈世豪 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1