一種usb3.0中處理skp序集的方法
【專利摘要】本發(fā)明公開了一種USB3.0中處理SKP序集的方法,SKP序集是在發(fā)送端是成對地隨機添加到數(shù)據(jù)流之中的SKP字符,其作用是用于解決讀、寫過程中由于時鐘沖突導致的數(shù)據(jù)丟失或者溢出的問題,進而保證數(shù)據(jù)傳輸?shù)耐暾院蜏蚀_性。該方法對USB設備的物理層傳遞到接收端的數(shù)據(jù)流中含有的SKP序集通過暫時寄存器和替換方法進行集中處理,做到了使輸出的每個時鐘單元內的字符全部是數(shù)據(jù)字符,或者全部是SKP字符,而不能同時包含有數(shù)據(jù)字符和SKP字符,從而高效且準確地移除了隨機插入的SKP序集,既保持了原輸入數(shù)據(jù)的流量的正確無誤,同時也將SKP序集與數(shù)據(jù)分離開來了。
【專利說明】—種USB3.0中處理SKP序集的方法
【技術領域】
[0001]本發(fā)明涉及一種USB3.0中處理SKP序集的方法。
【背景技術】
[0002]1、縮略語和關鍵術語定義:
[0003]USB !Universal Serial Bus 通用串行總線。
[0004]IP核:Intellectual Property core是一段具有特定電路功能的硬件描述語言程序,該程序與集成電路工藝無關,可以移植到不同的半導體工藝中去生產(chǎn)集成電路芯片。
[0005]PHY:物理層,OSI的最底層。
[0006]FIFO:First Input First Output 的縮寫,先入先出隊列。
[0007]U30DC_RXPI:USB3.0設備控制器的物理層接口接收信號。
[0008]2、隨著計算機在各個領域中的應用日益普及和深入,外圍設備日益增多,傳統(tǒng)計算機雖然能夠提供高性能的通用運算處理能力,但用于外圍設備擴展的功能十分有限。傳統(tǒng)計算機在新增外設時,因兼容性給計算機外圍設備的設計、安裝、調試直至正常運行的過程復雜,而且成本高。USB技術突破了傳統(tǒng)計算機外圍設備的設計方法,簡化了計算機外圍設備的設計、安裝和調試的過程,具有即插即用、數(shù)據(jù)傳輸可靠、擴展方便、低成本等優(yōu)點,已成為當前計算機必備的接口之一。
[0009]USB總線協(xié)議自從1996年推出后,先后經(jīng)歷了低速USB1.0、全速USB1.1、高速USB2.0和超高速USB3.0四個階段,其數(shù)據(jù)傳輸速率也相應大幅提高,由最初USB1.0的1.5Mbps提升到USB1.1的12Mbps,然后又大幅提高至USB2.0的480Mbps,再到目前USB3.0的5.0Gbps的超高數(shù)據(jù)傳輸速率。USB的高數(shù)據(jù)傳輸速率、向后兼容、使用方便等特點使它在計算機外設、消費電子、通訊和汽車等領域都有著廣泛的應用。
[0010]2000年4月發(fā)布的USB2.0協(xié)議,大大拓寬了 USB技術的應用范圍,并逐步成為了計算機的主流接口。但隨著人們對大容量數(shù)據(jù)傳輸?shù)男枨笕找嫫惹校琔SB2.0的速度早已無法滿足實際應用的需要,USB3.0便應運而生。2008年11月,新一代超高速USB3.0協(xié)議正式發(fā)布,其理論數(shù)據(jù)傳輸速率為現(xiàn)行USB2.0的10倍,滿足了當今人們對大容量數(shù)據(jù)傳輸?shù)募鼻行枨?。不僅如此,USB3.0還依然保持著USB技術的即插即用、支持熱插拔和向后兼容等良好特性,這對實現(xiàn)USB2.0向USB3.0的平滑過渡起到了積極的作用。除了極大地提高了帶寬(USB3.0為雙單工,USB2.0為半雙工)及繼續(xù)保持與USB2.0的兼容性外,USB3.0還實現(xiàn)了更好的電源管理(支持空閑、休眠和掛起等狀態(tài))、供電電流由USB2.0的500mA提高至900mA、主機識別設備的速度更快、數(shù)據(jù)處理效率更高等新特性。
[0011]正像從USB1.1向USB2.0轉變的潮流誰都無法阻擋一樣,USB3.0必將逐步取代USB2.0成為最為通用的USB接口。USB3.0接口芯片主要有兩類:一類是帶有USB3.0接口的單片機,比如USB3.0存儲控制器、USB3.0閃存控制器等;另一類是純粹的USB3.0接口芯片,這是一類通用的USB3.0控制器芯片,需要使用外部的微控制器、DSP或其他的處理器對接口芯片進行控制,可以應用于各種需要USB3.0接口的設備中,比如鍵盤、鼠標等,而不僅僅是U盤等存儲設備。這兩類接口芯片的核心部分都是USB3.0控制器IP核+USB3.0物理層(PHY),為了實現(xiàn)與USB2.0的兼容,接口芯片內部還都包括USB2.0控制器IP核+USB2.0物理層(PHY),其他還有數(shù)據(jù)緩存、時鐘模塊以及各類接口等。其中USB3.0控制器IP核主要由MAC、LLE和PLE三部分組成,MAC(Media Access Layer,即媒體接入層)通過USB3.0PIPE(全稱為 PHY Interface for the PCI Express and USB SuperSpeed Architectures,是Intel為USB3.0及PCI Express定義的物理層接口規(guī)范)接口實現(xiàn)與PHY的互連,負責從LLE到PHY的數(shù)據(jù)加擾和PHY到LLE的數(shù)據(jù)解擾;LLE為Link Layer Engine即鏈路層引擎,用于實現(xiàn)USB3.0鏈路層部分的功能;PLE為Protocol Layer Engine即協(xié)議層引擎,用于實現(xiàn)USB3.0協(xié)議層部分的功能。
【發(fā)明內容】
[0012]本發(fā)明要解決的技術問題是提供一種USB3.0中處理SKP序集的方法。
[0013]為了解決上述技術問題,本發(fā)明采用的技術方案是:一種USB3.0中處理SKP序集的方法,SKP序集是在發(fā)送端是成對地隨機添加到數(shù)據(jù)流之中的SKP字符;當混雜著SKP字符的數(shù)據(jù)流從USB設備的物理層傳遞到接收端的USB的IP核時,數(shù)據(jù)流全部轉化成32位X 125兆赫茲的數(shù)據(jù)流,使得IP核以每8個納秒處理32位、即4個字符一個單元(下稱4字符單元)進行后續(xù)數(shù)據(jù)處理,其特征在于包括以下步驟:
[0014](I)當含有η (η=1或2或3)個SKP字符和4_η個數(shù)據(jù)字符的4字符單元從USB設備的物理層傳遞過來到USB的IP核時,IP核先把4-η個數(shù)據(jù)字符按照先后順序存入預先準備的暫存寄存器里,使得在總線上的4字符單元中剩下η個SKP字符且空出4-η個空字符的位置;所述暫存寄存器為24位且可存儲3個字符;
[0015](2)將4-η個SKP字符補充到IP核中的4_η個空字符的位置并且使4字符單元中皆為SKP字符,同時記錄已經(jīng)補充的SKP字符數(shù)為4-η ;
[0016](3)將所述皆為SKP字符的4字符單元送往IP核的后續(xù)處理環(huán)節(jié),然后開始對下一個4字符單元進行流水線式的處理;
[0017](4)所述下一個4字符單元中如果含有m (m=l或2或3)個SKP字符,IP核直接將其除去,并把所述記錄已經(jīng)補充的SKP字符數(shù)4-η減掉除去的SKP字符數(shù)m ;如果不含有SKP字符,則不進行此操作;
[0018](5)單元中含有的數(shù)據(jù)字符,按照順序替換出暫存寄存器里所寄存的4-η個數(shù)據(jù)字符,并將之前存在暫存寄存器里的數(shù)據(jù)字符取回到總線上,而總線上順序靠后的數(shù)據(jù)字符被暫時存在了暫存寄存器里,并等待后續(xù)過來的一個4字符單元中的數(shù)據(jù)字符的替換;
[0019](6)如果在第(4)步驟中有SKP字符被IP核除去的話,在第(5)步中,暫存寄存器里所存儲的數(shù)據(jù)字符數(shù)也會相應地減少同樣的數(shù)量,是因為暫存寄存器里的數(shù)據(jù)字符已被取回到總線上填補SKP字符被移除所留下的空缺;直到IP核記錄的數(shù)目和暫存寄存器里的數(shù)據(jù)字符數(shù)目為O時,這一處理周期結束;
[0020](7)重復步驟(I)?(6),使得輸出的每個單元的4個字符中必須全部是數(shù)據(jù)字符,或者全部是SKP字符,而且在4個輸出字符中不能同時包含有數(shù)據(jù)字符和SKP序集的字符,從而將SKP序集和數(shù)據(jù)字符分離開。
[0021]本發(fā)明的有益效果是:[0022]可以高效且準確地移除隨機插入的SKP序集,從而既保持了原輸入數(shù)據(jù)的流量的正確無誤,同時將SKP序集與數(shù)據(jù)分離開來了。
【具體實施方式】
[0023]首先,SKP字符在發(fā)送端是成對地隨機添加到數(shù)據(jù)流之中的,所以,在接收端這邊,當混雜著SKP字符的數(shù)據(jù)流從USB設備的物理層傳遞過來到USB的IP核時,有可能是3種模式:1.32位xl25兆赫茲(4個字符、4個字符地從USB設備的物理層傳遞過來到USB的IP核);2.16位x250兆赫茲(2個字符、2個字符地從USB設備的物理層傳遞過來到USB的IP核);3.8位x500兆赫茲(I個字符、I個字符地從USB設備的物理層傳遞過來到USB的IP核)。但由于IP核設計的難度和可行性的原因,混雜著SKP字符的數(shù)據(jù)流在進入IP核時,必須經(jīng)過“乒乓操作”,把以上3種模式的數(shù)據(jù)流統(tǒng)統(tǒng)轉化成32位xl25兆赫茲的數(shù)據(jù)流以方便后續(xù)的處理和操作。這樣,IP核在后續(xù)處理數(shù)據(jù)的時候就是每8個納秒處理32位,即4個字符。這樣,在長長的數(shù)據(jù)流總線上,可以假想出每4個字符為一個單元,因為IP核在處理總線上的數(shù)據(jù)流的時候就是按照每4個字符為一個單元的順序來處理的。沒遇到SKP字符出現(xiàn)時,IP核就簡單地4個字符、4個字符地處理純數(shù)據(jù)字符,當遇到SKP字符時,由于SKP字符是成對出現(xiàn)的(下面出現(xiàn)只有I個SKP和3個SKP字符的情況,是因為在上一個處理周期中已經(jīng)過去了 I個SKP,或者是在下一個周期中還有I個SKP字符還沒過來,留在了下一個處理周期來處理),具體可以概括為以下4類情況:
[0024]第一類情況:4個字符的單元中只有I個SKP字符;
[0025]第二類情況:4個字符的單元中有2個SKP字符;
[0026]第三類情況:4個字符的單元中有3個SKP字符;
[0027]第四類情況:4個字符的單元中4個都是SKP字符;
[0028]另外預先準備一個大小為24位的、可存儲3個字符的暫存寄存器。
[0029]當?shù)谝活惽闆r發(fā)生時,按以下的處理步驟來分離SKP序集與數(shù)據(jù)字符:
[0030](I)當只含有一個SKP字符的4字符單元從USB設備的物理層傳遞過來到USB的IP核時,IP核先把3個字符的數(shù)據(jù)按照先后順序存入暫存寄存器里,在總線上的這個4字符單元中,就只剩下I個SKP字符和空出來的3個字符的位置;
[0031](2) IP核在這空出來的3個字符的位置上補上3個SKP字符,即使單元中4個字符皆為SKP字符,并且記錄下補上的SKP字符數(shù)為3 ;
[0032](3)這個4字符皆為SKP字符的單元送到IP核的下一環(huán)節(jié)進行處理,再接著對過來的一個4字符單元進行處理;
[0033](4)下一個單元中如果含有SKP字符,IP核直接將其除去,并把之前記錄的補上的SKP字符數(shù)減掉除去的數(shù)目。如果不含有SKP字符,則不進行此操作;
[0034](5)單元中含有的數(shù)據(jù)字符,按照順序替換出暫存寄存器里的3個數(shù)據(jù)字符,這樣之前存在暫存寄存器里的數(shù)據(jù)字符就回到了總線上,而總線上順序靠后的數(shù)據(jù)字符就被暫時存在了暫存寄存器里,以等待后續(xù)過來下一單元的數(shù)據(jù)字符的替換。
[0035](6)如果在第(4)步驟中有SKP字符被IP核除去的話,在第(5)步中,暫存寄存器里的數(shù)據(jù)字符數(shù)目也會相應地減少同樣的數(shù)量,是因為暫存寄存器里的數(shù)據(jù)字符要被取回到總線上來填補SKP字符被移除所留下的空缺。直到IP核記錄的數(shù)目和暫存寄存器里的數(shù)據(jù)字符數(shù)目為O時,這一處理周期結束。
[0036](7)重復以上述步驟(I)- (6)即可做到輸出的每個單元的4個字符中必須全部是數(shù)據(jù)字符,或者全部是SKP字符,在4個輸出字符中不能同時包含有數(shù)據(jù)字符和SKP序集的字符,從而就把SKP和數(shù)據(jù)成功地分離開了。
[0037]同理,當?shù)诙?、三類情況發(fā)生時,跟第一類情況的處理方法一樣。當?shù)谒念惽闆r發(fā)生時,是不需要處理的。
[0038]以上所述的本發(fā)明實施方式,并不構成對本發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發(fā)明的權利要求保護范圍之內。
【權利要求】
1.一種USB3.0中處理SKP序集的方法,所述SKP序集是在發(fā)送端是成對地隨機添加到數(shù)據(jù)流之中的SKP字符;當混雜著SKP字符的數(shù)據(jù)流從USB設備的物理層傳遞到接收端的USB的IP核時,數(shù)據(jù)流全部轉化成32位X 125兆赫茲的數(shù)據(jù)流,使得IP核以每8個納秒處理32位、即4個字符一個單元(下稱4字符單元)進行后續(xù)數(shù)據(jù)處理,其特征在于包括以下步驟: (O當含有η (η=1或2或3)個SKP字符和4_η個數(shù)據(jù)字符的4字符單元從USB設備的物理層傳遞過來到USB的IP核時,IP核先把4-η個數(shù)據(jù)字符按照先后順序存入預先準備的暫存寄存器里,使得在總線上的4字符單元中剩下η個SKP字符且空出4-η個空字符的位置;所述暫存寄存器為24位且可存儲3個字符; (2)將4-η個SKP字符補充到IP核中的4_η個空字符的位置并且使4字符單元中皆為SKP字符,同時記錄已經(jīng)補充的SKP字符數(shù)為4-η ; (3)將所述皆為SKP字符的4字符單元送往IP核的后續(xù)處理環(huán)節(jié),然后開始對下一個4字符單元進行流水線式的處理; (4)所述下一個4字符單元中如果含有m(m=l或2或3)個SKP字符,IP核直接將其除去,并把所述記錄已經(jīng)補充的SKP字符數(shù)4-η減掉除去的SKP字符數(shù)m ;如果不含有SKP字符,則不進行此操作; (5)單元中含有的數(shù)據(jù)字符,按照順序替換出暫存寄存器里所寄存的4-η個數(shù)據(jù)字符,并將之前存在暫存寄存器里的數(shù)據(jù)字符取回到總線上,而總線上順序靠后的數(shù)據(jù)字符被暫時存在了暫存寄存器里,并等待后續(xù)過來的一個4字符單元中的數(shù)據(jù)字符的替換; (6)如果在第(4)步驟中有SKP字符被IP核除去的話,在第(5)步中,暫存寄存器里所存儲的數(shù)據(jù)字符數(shù)也會相應地減少同樣的數(shù)量,是因為暫存寄存器里的數(shù)據(jù)字符已被取回到總線上填補SKP字符被移除所留下的空缺;直到IP核記錄的數(shù)目和暫存寄存器里的數(shù)據(jù)字符數(shù)目為O時,這一處理周期結束; (7)重復步驟(I)?(6),使得輸出的每個單元的4個字符中必須全部是數(shù)據(jù)字符,或者全部是SKP字符,而且在4個輸出字符中不能同時包含有數(shù)據(jù)字符和SKP序集的字符,從而將SKP序集和數(shù)據(jù)字符分離開。
【文檔編號】G06F13/38GK103473195SQ201310370184
【公開日】2013年12月25日 申請日期:2013年8月22日 優(yōu)先權日:2013年8月22日
【發(fā)明者】王亞君 申請人:安徽虹莊微電子有限公司