通用串行总线装置以及其校正方法

文档序号:6582785阅读:96来源:国知局

专利名称::通用串行总线装置以及其校正方法
技术领域
:本发明是有关于一种通用串行总线装置,特别是有关于一种可校正跨越码元的通用串行总线装置。
背景技术
:通用串行总线(UniversalSerialBus,USB)为连接外部设备的一种串行总线标准,其可支持热插拔(Hotplug)和即插即用(PlugandPlay)等功能。现今,USB2.0规格可提供低速、全速以及高速传输,其可分别支持最大1.5Mbps、12Mbps及480Mbps的数据量。然而,随着复杂功能的增加,电子产品需要更高速的USB传输速率,以便能更快速地从外部设备存取数椐并执行相关的操作程序。因此,USB实施论坛(USBImplementersFo函)制订了USB3.0的规格,其可同时提供超高速(SuperSpeed)以及非超高速(即USB2.O)的信息交换,其中超高速传输可支持最大5Gbps的数据量。
发明内容本发明提供一种通用串行总线装置,具有第一工作时钟,用以接收来自链接伙伴的数据。上述通用串行总线装置包括电子实体单元,经由缆线耦接于上述链接伙伴,用以接收来自于上述链接伙伴的串行位数据,并产生对应于上述串行位数据的码元串,其中上述码元串包括多个码元;校正单元,耦接于上述电子实体单元,用以接收上述码元串、判断所接收的上述码元串中的每一上述码元是否为第一类型码元以及计数接收的上述第一类型码元的数量,其中当计数的数量为奇数且下一个所接收的上述码元为第二类型码元时,将上述下一个所接收的上述码元替换为上述第一类型码元,其中上述第一类型码元为跨越码元。再者,本发明提供一种校正方法,适用于具有第一工作时钟的通用串行总线装置,其中上述校正方法包括接收来自链接伙伴的串行位数据,并产生对应于上述串行位数据的码元串,其中上述码元串包括多个码元。接收上述码元串并判断上述码元串中的每一上述码元是否为第一类型码元以及计数接收的上述第一类型码元的数量,其中上述第一类型码元为跨越码元。当计数的数量为奇数且下一个所接收的上述码元为第二类型码元时,将上述下一个所接收的上述码元替换为上述第一类型码元。图1是显示两通用串行总线装置之间超高速数据传递的示意图;图2是显示符合USB3.O规格的一种数据封包;图3A是显示一数据表,其表示图1中链接伙伴10内所要传送的数据;图3B是显示一数据表,其表示图1中链接伙伴20内所接收的数据;图4A是分别显示一数据表,其表示图3B中第一跨越码元有误的情况;图4B是分别显示一数据表,其表示图3B中第二跨越码元有误的情况;图5是显示根据本发明一实施例所述的通用串行总线装置;图6A是显示根据本发明一实施例所述的一数据表,其表示图5中链接伙伴40内所接收的数据;图6B-8B是显示根据本发明另一实施例所述的一数据表,其表示图5中链接伙伴40内所接收的数据;以及图9是显示根据本发明一实施例所述的一种校正方法。[主要元件标号说明]10、20、40-链4妻伙伴;12~加扰器;14、24-电子实体单元;22~解扰器;26~时钟差补偿单元;41~校正单元;210-数据封包标头;230标头封包成框;610、660-^争越码元;710、720、760、770、810.11、21处理单元;13~编码器;15、25-线性反馈移位寄存器;23~解码器;30~缆线;200数据封包;220数据封包负载;232、234、236、238~码元;860跨越有序组;以及S园p、Scorr、S啦、Senc、Sin、Sscr、TXData、RXData凄t据,具体实施例方式为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下实施例图1是显示两通用串行总线装置10、20之间超高速(SuperSpeed)数据传递的示意图。在图1中,通用串行总线(USB)装置IO经由缆线30传送数据给通用串行总线20,其中通用串行总线装置10与通用串行总线装置20为链接伙伴(linkpartner)。链接伙伴10包括处理单元11、加扰器12、编码器13以及电子实体单元14,其中加扰器12包括线性反馈移位寄存器(linearfeedbackshifterregister)15。首先,处理单元11提供要被传送的原始数据TXData至加扰器12,其中数据TXData具有8位长度。接着,加扰器12会根据线性反馈移位寄存器15所提供的种子(seed)对数据TXData进行加扰以产生加扰数据S^。接着,编码器13会将加扰数据S^编码成数据S,并传送至电子实体单元14。编码器13使用8位/10位(8b/10b)编码技术对数据SscK进行编码,因此数据S^为具有10位长度的码元(symbol)。接着,电子实体单元14将数据S,由并列转换为串行(paralleltoserial),并经由缆线30传送至链接伙伴20。电子实体单元14为一种输入输出界面(Input/OutputInterface)单元,用以接收以及传送符合USB规格的差动对信号。参考图1,链接伙伴20包括处理单元21、解扰器"、解码器23、时钟差补偿单元26以及电子实体单元24,其中解扰器22包括线性反馈移位寄存器25。当链接伙伴20接收到来自链接伙伴10的串行位数据(或位数据流)时,电子实体单元24会将连续接收的位数据由串行转换为并列,以形成具有多个数据S^的码元串,其中每一数据S^为具有10位长度的码元。接着,时钟差补偿单元26会根据链接伙伴20的第一工作时钟与链接伙伴10的第二工作时钟之间的频率差来决定是否需执行一补偿程序,使得链接伙伴10的数据传送速度以及链接伙伴20的数据接收速度能同步。当两工作时钟之间的频率差很小时,时钟差补偿单元26会直接将数据SJ是供给解码器23而不执行补偿程序,即数据S,会相同于数据Sw。因此,当数据传递过程中无失真发生时,链接伙伴20所接收到的数据Sc。mp会相同于链接伙伴10内的数据SENC。接着,解码器23会使用8位/10位解码技术将数据Scw解码为数据S。Eu同样地,当数据传递正确时,链接伙伴20所接收到的数据S啦会相同于链接伙伴10内的数据SSCT。接着,解搅乱器22会根据线性反馈移位寄存器25所提供的种子对数据S啦进行解扰以产生数据RXData至处理单元21,以供处理单元21进行后续的应用。在图1中,为了能正确地还原出链接伙伴10所要传送的数据TXData,链接伙伴10的加扰器12以及链接伙伴20的解扰器22所使用的种子必须同步。线性反馈移位寄存器15以及线性反馈移位寄存器25会同时以一既定方式(例如根据一特定查表(lookuptable))来提供种子。因此,当同时对线性反馈移位寄存器15以及线性反馈移位寄存器25设定初始值之后,则线性反馈移位寄存器15以及线性反馈移位寄存器25的种子会同步变化,即线性反馈移位寄存器15以及线性反馈移位寄存器25具有相同的种子。此外,在USB3.0的规格中,可使用校准码元(COM)来对加扰器/解扰器的线性反馈移位寄存器设定初始值,以初始化各链接伙伴内线性反馈移位寄存器的种子。因此,在传送数据之前,可使用校准码元来同步链接伙伴10的线性反馈移位寄存器15以及链接伙伴20的线性反馈移位寄存器25。再者,USB3.0的规格亦揭露可使用跨越码元(SKP)来使线性反馈移位寄存器停止更新种子,使得种子能保持不变。跨越码元的格式为"0011111001"以及"1100000110"。一般而言,除了校准码元与跨越码元之外,其它类型的码元都会使加扰器/解扰器的线性反馈移位寄存器对种子进行更新。图2是显示符合USB3.Q规格的一种数据封包200。数据封包200包括数据封包标头210以及数据封包负载(payload)220,其中数据封包标头210以及数据封包负载220是由多个码元所组成。在数据封包标头210中,标头封包成框(framing)230包括码元232、234、236与238,其中码元232为数据封包200中最先传送的码元。此外,标头封包成框230允许一个码元的容错率(errortolerance)。因此,在数据传输过程中,当标头封包成框230中的一码元发生错误而其它三码元为正确时,接收端的链接伙伴必须将^:据封包200视为有效的数据。此外,传送端的链接伙伴会视状况在两数据封包之间传送跨越有序组(SKPOrderedSet)以补偿接收端的链接伙伴以及传送端的链接伙伴之间的时钟(clock)频率差。在USB3.Q的规格中,一跨越有序组包括两跨越码元。例如,第一跨越码元"0011111001"与第二跨越码元"1100000110",或是第一跨越码元"1100000110"与第二跨越码元"0011111001"。此外,依USB3.0规格,传送端的链接伙伴平均每354个码元需传送一跨越有序组至接收端的链接伙伴。然而,传送端的链接伙伴不会在任一数据封包中插入跨越有序组,于是传送端的链接伙伴可累积跨越有序组的数量直到数据封包传送完之后再传送给接收端的链接伙伴。再者,当接收到跨越有序组时,接收端的链接伙伴可增加或减少跨越有序组的数量以解决两链接伙伴之间时钟不同步的问题。图3A是显示一数据表300,其表示图1中链接伙伴10内所要传送的数据。同时参考图1与图3A,链接伙伴IO会依序传送数据封包Pl、跨越有序组PS以及数据封包P2至链接伙伴20。在数据表300中,第1列是表示处理单元11所提供的数据TXData。第2列是表示线性反馈移位寄存器15所提供的种子lfsr-l。第3列是表示加扰器12所提供的加扰数据SseR,其是根据种子lfsr_l以及数据TXData而产生。第4列是表示编码器13所提供的编码数据S,。数据EncA、EncB为数据封包Pl的最后两码元,而数据EncC、EncD、EncE、EncF为数据封包P2的前四个码元,即标头封包成框。以数据DataA为例,加扰器12根据数据DataA以及种子lfsrA提供加扰数据ScrA。接着,编码器13会将加扰数据ScrA编码为数据EncA。值得注意的是,加扰器12不会对跨越数据SKP进行加扰。此外,若欲搅乱的数据为非跨越数据,则在加扰器12完成搅乱之后,线性反馈移位寄存器15会先更新种子lfsr-l以供下一个欲搅乱的数据使用。举例来说,在完成加扰数据DataB之后,线性反馈移位寄存器15会先将种子更新为lfsrC。因此,当加扰器l2接收到第一跨越数据SKP时,加扰器12会直接提供跨越数据SKP(未搅乱),而不会使用种子lfsrC对跨越数据SKP进行加扰。此外,由于接收到第一跨越数据SKP,因此线性反馈移位寄存器15不会对种子进行更新,则种子会维持为lfsrC。接着,编码器13会将未加扰的第一跨越数据SKP编码为第一跨越码元EncSKP。接着,当加扰器12接收到第二跨越数据SKP时,加扰器12会直接提供跨越数据SKP至编码器13,且种子亦维持为lfsrC。接着,编码器13会将未加扰的第二跨越数据SKP编码为第二跨越码元EncSKP。图3B是显示一数据表350,其表示图1中链接伙伴20内所接收的数据。数据表350是对应于根据图3A中数据表300所传送的数据。同时参考图1、图3A与图3B,链接伙伴20会依序接收来自链接伙伴10的数据封包P1、跨越有序组PS以及数据封包P2。在数据表350中,第1列是表示电子实体单元24所接收到的输入数据S,N。此外,在此实施例中,由于不需要执行补偿程序,输入数据S^会直接由时钟差补偿单元26传递至解码器23,即数据SC0MP相同于输入数据SIN。第2列是表示解码器23所提供的解码数据SDK。第3列是表示线性反馈移位寄存器25所提供的种子lfsr—2。第4列是表示解扰器22根据种子lfsr—2以及解码数据S啦所提供的解扰数据RXData。当数据传递正确时,链接伙伴20的电子实体单元24所接收到的输入数据S,w会相同于链接伙伴10的编码器13所提供的编码凄t据SENC。因此,图3B中数据表350的第1列会相同于图3A中数据表300的第4歹'j。以输入数据EncA为例,解码器23会将数据EncA解码为解码数据ScrA。如先前所描述,当数据传递正确时,图3B中数据表350的第2列会相同于图3A中数据表300的第3列。接着,解扰器22会根据解码数据ScrA以及种子IfsrA而得到解扰数据DataA。因此,链接伙伴20的处理单元21可正确接收链接伙伴10所要传送的数据TXData。值得注意的是,图3B中数据表350的种子lfsr_2需同步于图3A中数据表300的种子lfsr_l,才能正确还原出链接伙伴10所要传送的数据TXData。图4A与图4B是分别显示数据表400以及数据表450,其中数据表400是表示图3B中第一跨越码元有误的情况,而数据表450是表示图3B中第二跨越码元有误的情况。同时参考图1以及图4A,当链接伙伴20的电子实体单元24所接收到的第一跨越码元EncSKP有失真情况发生时(以数据EncERR表示),解码器23无法识别出数据EncERR为跨越码元。因此,解码器23会将数据EncERR解码为数据ERR。接着,解扰器22会根据种子IfsrC对解码数据ERR进行解扰,以得到解扰DataK。在完成解扰数据ERR后,线性反馈移位寄存器25会将种子更新为lfsrD。接着,当链接伙伴20接收到第二跨越码元EncSKP时,则解码器23会将数据EncSKP解码为跨越数据SKP,而解扰器22会直接提供跨越数据SKP至处理单元21,以及线性反馈移位寄存器25不会对种子进行更新,则种子会维持为lfsrD。明显地,在处理来自链接伙伴10的第二跨越码元时,图4A中数据表400的种子lfsr—2已经不同步于图3A中数据表300的种子lfsr_l,因此链接伙伴20无法正确解扰还原出链接伙伴10所要传送的后续数据。例如,根据种子lfsrD、lfsrE、lfsrF和lfsrG,解扰器22分别得到数据DataL、DataM、DataN和DataO,因此《连接伙伴20无法还原出数据DataC、DataD、DataE与DataF。当链接伙伴20—直无法接收到正确的数据时,链接伙伴10以及链接伙伴20需要额外的时间来重新建立联机并将种子进行同步设定。相似地,参考图4B,当链接伙伴20接收到来自链接伙伴10的第二跨越码元EncSKP有失真情况发生时(以数据EncERR表示),链接伙伴10以及链接伙伴20内的种子将不再同步,因此链接伙伴20亦无法正确解扰还原出链接伙伴10所要传送的后续数据。图5是显示根据本发明一实施例所述的通用串行总线装置40。在图5中,链接伙伴10经由缆线30传送数据给通用串行总线40,以及链接伙伴10根据第二工作时钟提供数据至链接伙伴40,而链接伙伴40根据第一工作时钟处理来自链接伙伴10的数据。相较于图1中的链接伙伴20,链接伙伴40还包括耦接于电子实体单元24以及时钟差补偿单元26之间的校正单元41。校正单元41依序接收来自电子实体单元24的输入数据SIN,并根据所接收的输入数据Stn提供校正数据S画至时钟差补偿单元26。在图5中,校正单元41包括计数器42。校正单元41判断所接收的输入数据S,w是否为跨越码元,并使用计数器42来计数接收到的跨越码元的数量。举例来说,当电子实体单元24正确接收到来自链接伙伴10的一跨越有序组时,计数器42会计数到两个跨越码元。然而,当缆线30有干扰存在时,跨越有序组可能在传输过程中被干扰,使得计数器42可能只会计数到一个跨越码元,如图4A以及图4B中的数据EncERR所示。因此,当计数器42计数到奇数个跨越码元且下一个所接收的输入数据S^为非跨越码元时,校正单元41会执行一校正程序,将该非跨越码元替换成跨越码元并输出至时钟差补偿单元26。因此,时钟差补偿单元26会接收到偶数个跨越码元。图6A是显示根据本发明一实施例所述的一数据表600,其表示图5中链接伙伴40内所接收的数据。数据表600是对应于根据图3A中数据表300所传送的数据。同时参考图5与图6A,链接伙伴40会依序接收来自链接伙伴10的数据封包Pl、跨越有序组PS以及数据封包P2。在数据表600中,第1列是表示电子实体单元24所接收到的输入数据SIN。第2列是表示校正单元41根据来自电子实体单元24的数据Sm所提供的校正数据S圃。在此实施例中,链接伙伴10的第二工作时钟以及链接伙伴40的第一工作时钟之间的频率差很小,因此时钟差补偿单元26不需要执行补偿程序。因此,时钟差补偿单元26会直接提供校正数据S画至解码器23,即数据S證相同于校正数据S謹。第3列是表示解码器23根据数据S讚所提供的解码数据SDEC。第4列是表示线性反馈移位寄存器25所提供的种子lfsr_2。第5列是表示解扰器22根据种子lfsr_2以及解码数据S舰所提供的解扰数据RXData。以输入数据EncA为例,当校正单元41判断输入数据EncA为非^争越码元时,校正单元41会直接将数据EncA传递至时钟差补偿单元26,而不执行校正程序。接着,解码器23以及解扰器22会将数据EncA正确还原为数据DataA。在数据表600中,电子实体单元24所接收到的跨越有序组PS中第一个跨越码元已失真(以数据EncERR表示),因此校正单元41无法判断出数据EncERR为跨越码元。于是,校正单元41会直接将数据EncERR传递至时钟差补偿单元26以进行后续处理。接着,解扰器22会将数据EncERR解扰为数据DataK。接着,当电子实体单元24接收到的跨越有序组PS中第二个跨越码元EncSKP时,校正单元41会判断出数据EncSKP为跨越码元,并启动计数器42来计数后续连续接收的跨越码元的数量。接着,当电子实体单元24接收到数据EncC时,校正单元41会判断出数据EncSKP之后的下一数据EncC为非;夸越码元,并根据计数器42所计数的值来判断是否执行校正程序。在此实施例中,计数器42所计数的值为l(奇数)。因此,校正单元41会将数据EncC替换成跨越码元EncSKP610并提供至时钟差补偿单元26以进行后续处理,其中线性反馈移位寄存器25不会对种子进行更新,则种子会维持为lfsrD。此外,在校正单元41将数据EncC替换成跨越码元EncSKP之后,亦会将计数器42进行重置,以重新计数后续接收的跨越码元的数量。接着,当电子实体单元24接收到数据EncD时,校正单元41会判断出凄t据EncD为非3夸越码元,则^tl正单元"会直接将数据EncD传递至时钟差补偿单元26以进行后续处理。于是,解码器23会将数据EncD解码为数据ScrD,而解扰器22会根据种子lfsrD将数据ScrD正确还原为婆t据DataD。因此,通过校正单元414丸行才交正程序,可同步线性反馈移位寄存器15以及线性反馈移位寄存器25所提供的种子。此外,由于标头封包成框可允许一个码元的容错率,处理单元21可根据数据DataD、DataE、DataF而检测出数据封包P2的标头封包成框,并将数据封包P2视为有效的数据。因此,在校正单元41执行校正程序后,处理单元n可正确接收数据封包P2。图6B是显示根据本发明另一实施例所述的一数据表650,其表示图5中链接伙伴40内所接收的数据。数据表650是对应于根据图3A中数据表300所传送的数据。相较于图6A中的数据表600,数据表650描述当电子实体单元24所接收到的跨越有序组PS中第二跨越码元发生失真时,校正单元41执行校正程序的结果。校正单元41会将lt据EncERR替换成^争越码元EncSKP660并提供至时钟差补偿单元26以进行后续处理。接着,后续的数据DataC、DataD、DataE、DataF可正确被还原。因此,通过校正单元41执行校正程序来校正失真的跨越码元,可同步线性反馈移位寄存器15以及线性反馈移位寄存器25所提供的种子,使得处理单元21可正确接收链接伙伴10所要传送的数据。当链接伙伴10在数据封包Pl以及数据封包P2之间传送多个跨越有序组PS时,校正单元41可使用计数器42来计数连续接收的跨越码元的数量。举例来说,当校正单元41判断出目前接收的跨越数据EncSKP之后的下一笔数据为非跨越码元且计数器42连续计数跨越码元的数量为奇数(例如3、5、7等)时,校正单元41会将该下一笔数据替换成跨越码元EncSKP以提供至时钟差补偿单元26并重置计数器42。因此,当多个跨越有序组PS中有跨越码元发生失真时,校正单元41亦可通过执行校正程序来输出偶数个跨越码元至时钟差补偿单元26。图7A是显示根据本发明另一实施例所述的一数据表700,其表示图5中链接伙伴40内所接收的数据。数据表700是对应于根据图3A中数据表300所传送的数据,以及数据表700描述当电子实体单元24所接收到的跨越有序组PS中第一跨越码元发生失真且两链接伙伴10与40的工作时钟有较大频率差存在时,校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序的结果。在此实施例中,链接伙伴40的第一工作时钟的频率大于链接伙伴10的第二工作时钟的频率,于是造成两链接伙伴10与40之间的数据传送速度以及数据接收速度不同步。因此,时钟差补偿单元26会通过在第一数据封包以及第二数据封包之间增加跨越有序组的数量来执行补偿程序,以补偿两工作时钟之间的频率差。同时参考图5与第7A图,在数据表700中,第l列是表示电子实体单元24所接收到的输入数据SIN。第2列是表示校正单元"根据来自电子实体单元24的输入数据S^所提供的校正数据S醒。第3列是表示时钟差补偿单元26所提供的补偿数据SraMP。第4列是表示解码器23所提供的解码数据SDEt。第5列是表示线性反馈移位寄存器25所提供的种子Ifsr—2。第6列是表示解扰器22根据种子Ifsr_2以及解码数据S咖所提供的解扰数据RXDaU。如先前所描述,当校正单元41判断出跨越数据EncSKP之后的下一笔数据为非跨越码元且计数器42所计数的值为奇数时,校正单元"会将下一笔数据替换成跨越码元EncSKP610并提供至时钟差补偿单元26。接着,在接收到由校正单元41所提供的跨越有序组71G时,时钟差补偿单元26会在跨越有序组710之后提供一跨越有序组720至解码器23,然后再将数据EncD、数据EncE与数据EncF传送至解码器23以进行后续处理。在此实施例中,处理单元21可根据数据DataD、DataE、DataF而检测出数据封包P2的标头封包成框,并将数据封包P2视为有效的数据。因此,在校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序后,处理单元21可正确接收数据封包P2。图7B是显示根据本发明另一实施例所述的一数据表750,其表示图5中链接伙伴40内所接收的数据。数据表750是对应于根据图3A中数据表300所传送的数据,以及数据表750描述当电子实体单元24所接收到的跨越有序组PS中第二跨越码元发生失真且两链接伙伴10与40的工作时钟有较大频率差存在时,校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序的结果。在此实施例中,链接伙伴40的第一工作时钟的频率大于链接伙伴10的第二工作时钟的频率。相似地,当时钟差补偿单元26接收到由校正单元41所提供的跨越有序组760时,时钟差补偿单元26会在跨越有序组760之后提供一跨越有序组770至解码器23,然后再将数据EncC、数据EncD、数据EncE与数据EncF传送至解码器23以进行后续处理。在此实施例中,处理单元21可接收到完整的数据封包P2的标头封包成框(数据DataC、DataD、DataE、DataF)。因此,在校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序后,处理单元21可正确接收数据封包P2。图8A是显示根据本发明另一实施例所述的一数据表800,其表示图5中链接伙伴40内所接收的数据。数据表800是对应于根据图3A中数据表300所传送的数据,以及数据表800描述当电子实体单元24所接收到的跨越有序组PS中第一跨越码元发生失真且两链接伙伴10与40的工作时钟有较大频率差存在时,校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序的结果。在此实施例中,链接伙伴40的第一工作时钟的频率小于链接伙伴10的第二工作时钟的频率。因此,时钟差补偿单元26会通过在第一数据封包以及第二数据封包之间减少跨越有序组的数量,以补偿两工作时钟之间的频率差。如先前所描述,当校正单元41判断出跨越数据EncSKP之后的下一笔数据为非跨越码元且计数器42所计数的值为奇数时,校正单元41会将下一笔数据替换成跨越码元EncSKP并提供至时钟差补偿单元26。接着,在接收到由校正单元41所提供的跨越有序组810时,时钟差补偿单元26不会提供跨越有序组810至解码器23。接着,当时钟差补偿单元26接收到数据EncD时,才会开始输出数据EncD至解码器23以进行后续处理。在此实施例中,处理单元21可根据数据DataD、DataE、DataF而检测出数据封包P2的标头封包成框,并将数据封包P2视为有效的数据。因此,在校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序后,处理单元21可正确接收数据封包P2。图8B是显示根据本发明另一实施例所述的一数摒表850,其表示图5中链接伙伴40内所接收的数据。数据表850是对应于根据图3A中数据表300所传送的数据,以及数据表850描述当电子实体单元24所接收到的跨越有序组PS中第二跨越码元发生失真且两链接伙伴10与40的工作时钟有较大频率差存在时,校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序的结果。在此实施例中,链接伙伴40的第一工作时钟的频率小于链接伙伴10的第二工作时钟的频率。相似地,当时钟差补偿单元26接收到由校正单元41所提供的跨越有序组860时,时钟差补偿单元26不会提供跨越有序组860至解码器23。接着,当时钟差补偿单元26接收到数据EncC时,才会开始输出数据EncC至解码器23以进行后续处理。在此实施例中,处理单元21可接收到完整的数据封包P2的标头封包成框(数据DataC、DataD、DataE、DataF)。因此,在校正单元41执行校正程序以及时钟差补偿单元26执行补偿程序后,处理单元21可正确接收数据封包P2。图9是显示根据本发明一实施例所述的一种校正方法,其适用于图5中具有第一工作时钟的通用串行总线装置40。同时参考图5以及图9,首先,电子实体单元24接收来自链接伙伴10的一串行位数据,并产生对应于串行位数据的一码元串(步骤S902),其中链接伙伴10具有第二工作时钟,以及码元串包括并列的多个码元。接着,校正单元41依序接收来自电子实体单元24的码元,并判断所接收的码元是否为跨越码元且计数接收的跨越码元的数量(步骤S904)。接着,当校正单元41判断出跨越码元之后的下一码元为非跨越码元且计数器42所计数的值为奇数(例如1、3、5、7等)日于,校正单元41会将该下一非跨越码元替换成跨越码元,并将计数器42重置为0,以重新计数后续接收的跨越码元的数量(步骤S906)。接着,当第一工作时钟以及第二工作时钟之间的频率差过大时,时钟差补偿单元26会通过调整跨越码元的数量以对来自校正单元41的码元执行补偿程序(步骤S908)。接着,解码器23对时钟差补偿单元26所提供的码元进行解码(步骤S910)。接着,解扰器22会根据线性反馈移位寄存器25所提供的种子对解码数据进行解扰并提供解扰数据至处理单元21以进行后续处理,其中线性反馈移位寄存器25会根据解码数据而决定是否更新种子(步骤S912)。虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属
技术领域
中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。权利要求1.一种通用串行总线装置,具有第一工作时钟,用以接收来自链接伙伴的数据,包括电子实体单元,经由缆线耦接于上述链接伙伴,用以接收来自于上述链接伙伴的串行位数据,并产生对应于上述串行位数据的码元串,其中上述码元串包括多个码元;以及校正单元,耦接于上述电子实体单元,用以接收上述码元串、判断所接收的上述码元串中的每一上述码元是否为第一类型码元以及计数接收的上述第一类型码元的数量,其中当计数的数量为奇数且下一个所接收的上述码元为第二类型码元时,将上述下一个所接收的上述码元替换为上述第一类型码元,其中上述第一类型码元为跨越码元。2.根据权利要求1所述的通用串行总线装置,还包括解码器,用以将来自上述校正单元的上述码元解码成解码数据;以及解扰器,用以根据一种子对上述解码数据进行解扰,上述解扰器包括线性反馈移位寄存器,用以提供上述种子,其中当上述解码数据是对应于上述第二类型码元时,上述线性反馈移位寄存器根据特定查表来更新上述种子。3.根据权利要求2所述的通用串行总线装置,其中当上述解码数据是对应于上述第一类型码元时,上述线性反馈移位寄存器停止更新上述种子。4.根据权利要求2所述的通用串行总线装置,其中当上述解码数据是对应于上述第二类型码元且上述第二类型码元为校准码元时,上述线性反馈移位寄存器初始化上述种子,其中上述链接伙伴包括加扰器,以及上述链接伙伴传送上述校准码元以同步上述加扰器的线性反馈移位寄存器以及上述解扰器的上述线性反馈移位寄存器。5.根据权利要求2所述的通用串行总线装置,还包括时钟差补偿单元,耦接于上述校正单元以及上述解码器之间,用以调整上述第一类型码元的数量,以补偿上述第一工作时钟以及上述链接伙伴的第二工作时钟之间的频率差,其中当上述第一工作时钟的频率大于上述第二工作时钟的频率时,上述时钟差补偿单元通过增加上述第一类型码元的数量来补偿上述频率差,以及当上述第一工作时钟的频率小于上述第二工作时钟的频率时,上述时钟差补偿单元通过减少上述第一类型码元的数量来补偿上述频率差。6.根据权利要求1所述的通用串行总线装置,其中上述校正单元包括计数器,用以计数连续接收的上述第一类型码元的数量,其中当上述下一个所接收的上述码元被替换为上述第一类型码元时,上述校正单元将上述计数器进行重置。7.—种校正方法,适用于具有第一工作时钟的通用串行总线装置,上述校正方法包括接收来自链接伙伴的串行位数据,并产生对应于上述串行位数据的码元串,其中上述码元串包括多个码元;以及接收上述码元串并判断上述码元串中的每一上述码元是否为第一类型码元以及计数接收的上述第一类型码元的数量,其中上述第一类型码元为跨越码元;当计数的数量为奇数且下一个所接收的上述码元为第二类型码元时,将上述下一个所接收的上述码元替换为上述第一类型码元。8.根据权利要求7所述的校正方法,还包括将上述码元解码成解码数据;以及根据一种子对上述解码数据进行解扰。9.根据权利要求8所述的校正方法,其中上述根据上述种子对上述解码数据进行解扰的步骤,还包括当上述解码数据是对应于上述第二类型码元时,根据特定查表来更新上述种子;以及当上述解码数据是对应于上述第一类型码元时,停止更新上述种子。10.根据权利要求9所述的校正方法,其中上述根据上述种子对上述解码数据进行解扰的步骤,还包括当上述解码数据是对应于上述第二类型码元且上述第二类型码元为校准码元时,初始化上述种子。11.根据权利要求8所述的校正方法,还包括调整上述第一类型码元的数量以补偿上述第一工作时钟以及上述链接伙伴的第二工作时钟之间的频率差;当上述第一工作时钟的频率大于上述第二工作时钟的频率时,增加上述第一类型码元的数量来补偿上述频率差;以及当上述第一工作时钟的频率小于上述第二工作时钟的频率时,减少上述第一类型码元的数量来补偿上述频率差。12.根据权利要求7所述的校正方法,其中上述计数接收的上述第一类型码元的步骤还包括计数连续接收的上述第一类型码元的数量,其中当上述下一个所接收的上述码元被替换为上述第一类型码元时,重新计数接收的上述第一类型码元的数量。全文摘要一种通用串行总线装置,用以接收来自链接伙伴的数据。电子实体单元接收来自于链接伙伴的数据并产生码元串。校正单元判断所接收的码元串中的每一码元是否为第一类型码元并计数接收的第一类型码元的数量,其中当计数的数量为奇数且下一个所接收的码元为第二类型码元时,将该下一个所接收的码元替换为第一类型码元。解码器将来自校正单元的码元解码成解码数据。解扰器根据一种子对上述解码数据进行解扰。当解码数据是对应于第二类型码元时,解扰器的线性反馈移位寄存器根据特定查表来更新种子。文档编号G06F13/38GK101667167SQ20091020701公开日2010年3月10日申请日期2009年10月23日优先权日2009年10月23日发明者林佑隆申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1