Pipe的彈性緩沖電路及其狀態(tài)同步方法
【專利摘要】本發(fā)明公開了一種PIPE的彈性緩沖電路,包括:命令字生成電路,在寫時(shí)鐘域下生成命令字,并將命令字加在后續(xù)的數(shù)據(jù)之上,使命令字與數(shù)據(jù)對(duì)齊;命令字緩存器,在寫指針控制器的控制下對(duì)命令字進(jìn)行緩存;數(shù)據(jù)緩存器,在寫指針控制器的控制下對(duì)數(shù)據(jù)進(jìn)行緩存;命令字解析電路,在讀指針控制器的控制下,將相應(yīng)的命令字從命令字緩存器中讀出,并進(jìn)行解析處理;輸出數(shù)據(jù)控制器,在讀指針控制器的控制下,將相應(yīng)的數(shù)據(jù)從數(shù)據(jù)緩存器中讀出,輸出數(shù)據(jù)和彈性緩沖電路的狀態(tài)。本發(fā)明還公開了一種所述彈性緩沖電路的狀態(tài)同步方法。本發(fā)明能夠?qū)崿F(xiàn)狀態(tài)標(biāo)志設(shè)置與數(shù)據(jù)傳輸?shù)木珳?zhǔn)同步。
【專利說明】PIPE的彈性緩沖電路及其狀態(tài)同步方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及USB (Universal Serial Bus通用串行總線)領(lǐng)域,特別是涉及一種 PIPE的彈性緩沖電路。本發(fā)明還涉及一種所述彈性緩沖電路的狀態(tài)同步方法。
【背景技術(shù)】
[0002] USB接口具有傳輸速度更快,支持熱插拔以及連接多個(gè)設(shè)備的特點(diǎn),目前已經(jīng)在各 類外部設(shè)備中被廣泛的采用。隨著USB技術(shù)的發(fā)展,USB3.0 (通用串行總線3.0版本)超速 傳輸也開始廣泛應(yīng)用,是目前開始逐漸廣泛應(yīng)用的串行數(shù)據(jù)傳輸協(xié)議。USB3. 0能夠?qū)崿F(xiàn)理 論上5Gbps的數(shù)據(jù)傳輸,傳輸速度更加快,傳輸時(shí)間得到有效的節(jié)省。因此對(duì)于USB3. 0超 速的研究也成為一種趨勢。
[0003] PIPE 全稱是 PHY Interface For the PCI Express*and USB 3. OArchitectures [用于USB3. 0和PCI-E (周邊元件擴(kuò)展接口的快速版本)體系結(jié)構(gòu)的物 理接口],是USB3. 0ΡΗΥ的一種接口協(xié)議。
[0004] 由于PIPE中的彈性緩沖電路一般存在讀寫兩種時(shí)鐘,必須當(dāng)作異步時(shí)鐘處理。因 此在寫時(shí)鐘狀態(tài)傳遞到讀時(shí)鐘狀態(tài)下時(shí),一般不能保證狀態(tài)信號(hào)與數(shù)據(jù)的同步。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問題是提供一種PIPE的彈性緩沖電路,能夠?qū)崿F(xiàn)狀態(tài)標(biāo)志 設(shè)置與數(shù)據(jù)傳輸?shù)木珳?zhǔn)同步;為此,本發(fā)明還要提供一種所述彈性緩沖電路的狀態(tài)同步方 法。
[0006] 為解決上述技術(shù)問題,本發(fā)明的PIPE的彈性緩沖電路,包括:
[0007] 命令字生成電路,在寫時(shí)鐘域下生成命令字,并將命令字加在后續(xù)的數(shù)據(jù)之上,使 命令字與數(shù)據(jù)對(duì)齊;
[0008] 命令字緩存器,在寫指針控制器的控制下對(duì)命令字進(jìn)行緩存;
[0009] 數(shù)據(jù)緩存器,在寫指針控制器的控制下對(duì)數(shù)據(jù)進(jìn)行緩存;
[0010] 命令字解析電路,在讀時(shí)鐘域下,且在讀指針控制器的控制下,將相應(yīng)的命令字從 命令字緩存器中讀出,并進(jìn)行解析處理;
[0011] 輸出數(shù)據(jù)控制器,在讀時(shí)鐘域下,且在讀指針控制器的控制下,將相應(yīng)的數(shù)據(jù)從數(shù) 據(jù)緩存器中讀出,根據(jù)命令字解析電路的信號(hào)進(jìn)行SKP order set (跳躍字符對(duì))的插入, 以及溢出時(shí)插入SUB (替換字符);輸出數(shù)據(jù)和彈性緩沖電路的狀態(tài)。
[0012] 所述彈性緩沖電路的狀態(tài)同步方法是采用如下技術(shù)方案實(shí)現(xiàn)的:
[0013] 寫入端在寫時(shí)鐘域下生成命令字,并將命令字加在后續(xù)的數(shù)據(jù)之上,使命令字與 數(shù)據(jù)對(duì)齊;在寫指針控制下,將相應(yīng)的命令字和數(shù)據(jù)分別送入命令字緩存和數(shù)據(jù)緩存中;
[0014] 讀出端在讀時(shí)鐘域下從所述命令字緩存和數(shù)據(jù)緩存中讀出命令字和數(shù)據(jù),解析處 理命令字,根據(jù)命令字設(shè)置標(biāo)志,根據(jù)命令字插入SKP order set,實(shí)現(xiàn)讀時(shí)鐘域下數(shù)據(jù)與 彈性緩沖電路狀態(tài)的同步輸出。
[0015] 本發(fā)明利用命令字的方式,將彈性緩沖電路的狀態(tài)在寫時(shí)鐘下與數(shù)據(jù)結(jié)合打包, 同時(shí)送入彈性緩沖電路的命令字緩存器和數(shù)據(jù)緩存器中,等待讀時(shí)鐘得到數(shù)據(jù)和命令字后 進(jìn)行解析處理,從而實(shí)現(xiàn)讀時(shí)鐘下數(shù)據(jù)與狀態(tài)的精準(zhǔn)同步。
【專利附圖】
【附圖說明】
[0016] 下面結(jié)合附圖與【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明:
[0017] 圖1是彈性緩沖電路一實(shí)施例原理框圖;
[0018] 圖2是寫入端設(shè)置命令字的一實(shí)施例時(shí)序圖;
[0019] 圖3是讀出端解析命令字的一實(shí)施例時(shí)序圖;
[0020] 圖4是讀出端解析命令字的另一實(shí)施例時(shí)序圖。
【具體實(shí)施方式】
[0021] USB3.0協(xié)議對(duì)于收發(fā)兩端的時(shí)鐘頻率補(bǔ)償采用協(xié)議層的SKP order set序列實(shí) 現(xiàn),要求發(fā)送端定時(shí)發(fā)送SKP order set,接收端根據(jù)彈性緩沖電路的狀態(tài),刪除或者增加 SKP order set。而PIPE協(xié)議中對(duì)SKP order set處理后的狀態(tài)以及彈性緩沖電路溢出的 狀態(tài)要求有同步的狀態(tài)輸出信號(hào)(即標(biāo)志)體現(xiàn)。
[0022] 參見圖1所示,所述彈性緩沖電路分為讀寫兩個(gè)時(shí)鐘域,在電路設(shè)計(jì)上必須按照 異步時(shí)鐘進(jìn)行處理。對(duì)SKP order set的處理以及溢出的檢測是在寫時(shí)鐘域下完成的,而 狀態(tài)的輸出則是在讀時(shí)鐘域下完成的。為了實(shí)現(xiàn)精準(zhǔn)的數(shù)據(jù)與彈性緩沖電路的狀態(tài)同步輸 出,在數(shù)據(jù)通路上增加了命令字生成電路,使命令字嚴(yán)格與數(shù)據(jù)對(duì)齊。在寫時(shí)鐘域下由所述 命令字生成電路生成的命令字包含"SKP order set加 ,SKP order set減,溢出"。在讀時(shí) 鐘域下,由命令字解析電路負(fù)責(zé)解析處理命令字,包括根據(jù)命令字設(shè)置標(biāo)志,根據(jù)命令字插 入 SKP order set。
[0023] 結(jié)合圖2所示,在寫時(shí)鐘域下,如果發(fā)生SKP order set減或者溢出,會(huì)生成對(duì)應(yīng) 的命令字加在后續(xù)的數(shù)據(jù)之上,并將相應(yīng)的命令字和數(shù)據(jù),在寫指針控制器的控制下分別 送入命令字緩存器和數(shù)據(jù)緩存器中。
[0024] 參見圖2,如果在數(shù)據(jù)C處檢測到SKP order set,當(dāng)彈性緩沖電路的存儲(chǔ)容量超 過一半的時(shí)候,需要進(jìn)行SKP order set減,則將下一數(shù)據(jù)D的命令字設(shè)置為SKP order set 減;當(dāng)彈性緩沖電路的存儲(chǔ)容量小于一半的時(shí)候,將下一數(shù)據(jù)D的命令字設(shè)置為SKP order set加。當(dāng)在數(shù)據(jù)C處出現(xiàn)彈性緩沖電路溢出的情況時(shí),需要將下一數(shù)據(jù)D的命令字設(shè)為溢 出。
[0025] 結(jié)合圖3所示,在讀出端,在讀指針控制器的控制下,將相應(yīng)的命令字和數(shù)據(jù)分別 從命令字緩存器和數(shù)據(jù)緩存器中讀入命令字解析電路和輸出數(shù)據(jù)控制器中。命令字解析電 路解析處理命令字。輸出數(shù)據(jù)控制器根據(jù)命令字解析電路的信號(hào)進(jìn)行SKP order set的插 入,以及溢出時(shí)插入SUB (替換字符)。當(dāng)在數(shù)據(jù)D處發(fā)現(xiàn)SKP order set減或溢出這兩種 命令字后,設(shè)置標(biāo)志;然后進(jìn)行狀態(tài)輸出和數(shù)據(jù)輸出。
[0026] 讀出端在讀出數(shù)據(jù)的時(shí)候同時(shí)能夠獲得當(dāng)前數(shù)據(jù)上的命令字。當(dāng)出現(xiàn)SKPorder set減或者溢出命令字的時(shí)候,則將狀態(tài)輸出端需要輸出的標(biāo)志修改為對(duì)應(yīng)的標(biāo)志即可。為 保證輸出數(shù)據(jù)與狀態(tài)輸出的標(biāo)志同步,將數(shù)據(jù)延遲一拍輸出。
[0027] 再結(jié)合圖4所示,在讀出端,在讀指針控制器的控制下,將相應(yīng)的命令字和數(shù)據(jù)分 別從命令字緩存器和數(shù)據(jù)緩存器中讀入命令字解析電路和輸出數(shù)據(jù)控制器中。命令字解析 電路解析處理命令字,當(dāng)發(fā)現(xiàn)SKP order set加命令字后,暫停讀出數(shù)據(jù)一拍,將輸出數(shù)據(jù) 中插入SKP order set加,同時(shí)設(shè)置標(biāo)志。然后進(jìn)行狀態(tài)輸出和數(shù)據(jù)輸出。
[0028] 參見圖4,如果在數(shù)據(jù)D處檢測到SKP order set加命令字后,首先在讀指針控制 器的控制下停止讀地址的變化,維持在讀數(shù)據(jù)E的狀態(tài),同時(shí)保存已經(jīng)讀出的數(shù)據(jù)D,然后 在輸出數(shù)據(jù)中插入一組SKP order set ;每組SKP order set由兩個(gè)SKP (跳躍字符)組成, 其中,第一個(gè)SKP上需要設(shè)置標(biāo)志。最后恢復(fù)保存的數(shù)據(jù)D,整體需要3拍的時(shí)間,當(dāng)數(shù)據(jù)D 恢復(fù)之后整體讀時(shí)序恢復(fù)正常操作,依次輸出后續(xù)數(shù)據(jù)E,F(xiàn)。
[0029] 以上通過【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,但這些并非構(gòu)成對(duì)本發(fā)明的 限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也 應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1. 一種用于通用串行總線3. 0版本USB3. 0和周邊元件擴(kuò)展接口的快速版本PCI-E體 系結(jié)構(gòu)的物理接口 PIPE的彈性緩沖電路,其特征在于,包括: 命令字生成電路,在寫時(shí)鐘域下生成命令字,并將命令字加在后續(xù)的數(shù)據(jù)之上,使命令 字與數(shù)據(jù)對(duì)齊; 命令字緩存器,在寫指針控制器的控制下對(duì)命令字進(jìn)行緩存; 數(shù)據(jù)緩存器,在寫指針控制器的控制下對(duì)數(shù)據(jù)進(jìn)行緩存; 命令字解析電路,在讀時(shí)鐘域下,且在讀指針控制器的控制下,將相應(yīng)的命令字從命令 字緩存器中讀出,并進(jìn)行解析處理; 輸出數(shù)據(jù)控制器,在讀時(shí)鐘域下,且在讀指針控制器的控制下,將相應(yīng)的數(shù)據(jù)從數(shù)據(jù)緩 存器中讀出,根據(jù)命令字解析電路解析處理后得到的信號(hào)進(jìn)行跳躍字符對(duì)SKP order set 的插入,以及溢出時(shí)插入替換字符SUB ;輸出數(shù)據(jù)和彈性緩沖電路的狀態(tài)。
2. -種用于通用串行總線3. 0版本USB3. 0和周邊元件擴(kuò)展接口的快速版本PCI-E體 系結(jié)構(gòu)的物理接口 ΡΠ?的彈性緩沖電路的狀態(tài)同步方法,其特征在于: 寫入端在寫時(shí)鐘域下生成命令字,并將命令字加在后續(xù)的數(shù)據(jù)之上,使命令字與數(shù)據(jù) 對(duì)齊;在寫指針控制下,將相應(yīng)的命令字和數(shù)據(jù)分別送入命令字緩存和數(shù)據(jù)緩存中; 讀出端在讀時(shí)鐘域下從所述命令字緩存和數(shù)據(jù)緩存中讀出命令字和數(shù)據(jù),解析處理命 令字,根據(jù)命令字設(shè)置標(biāo)志,根據(jù)命令字插入跳躍字符對(duì)SKP order set,實(shí)現(xiàn)讀時(shí)鐘域下 數(shù)據(jù)與彈性緩沖電路狀態(tài)的同步輸出。
3. 如權(quán)利要求2所述的方法,其特征在于:如果在某一數(shù)據(jù)處檢測到跳躍字符對(duì)SKP order set,當(dāng)彈性緩沖電路的存儲(chǔ)容量超過一半時(shí),則將下一數(shù)據(jù)的命令字設(shè)置為跳躍字 符對(duì)SKP order set減;當(dāng)彈性緩沖電路的存儲(chǔ)容量小于一半時(shí),將下一數(shù)據(jù)的命令字設(shè)置 為跳躍字符對(duì)SKP order set加;當(dāng)在某一數(shù)據(jù)處出現(xiàn)彈性緩沖電路溢出時(shí),則將下一數(shù)據(jù) 的命令字設(shè)為溢出。
4. 如權(quán)利要求3所述的方法,其特征在于:讀出端在讀出數(shù)據(jù)的同時(shí)能夠獲得當(dāng)前數(shù) 據(jù)上的命令字;當(dāng)出現(xiàn)跳躍字符對(duì)SKPorder set減或者溢出命令字時(shí),則將狀態(tài)輸出端需 要輸出的標(biāo)志修改為對(duì)應(yīng)的標(biāo)志,且將數(shù)據(jù)延遲一拍輸出。
5. 如權(quán)利要求3所述的方法,其特征在于:當(dāng)發(fā)現(xiàn)跳躍字符對(duì)SKP order set加命令 字后,暫停讀出數(shù)據(jù)一拍,在輸出數(shù)據(jù)中插入跳躍字符對(duì)SKP order set加,同時(shí)設(shè)置標(biāo)志; 具體方法是:如果在某一數(shù)據(jù)處檢測到跳躍字符對(duì)SKP order set加命令字后,停止讀地址 的變化,維持在讀下一數(shù)據(jù)的狀態(tài),同時(shí)保存已經(jīng)讀出的數(shù)據(jù);然后在輸出數(shù)據(jù)中插入一組 跳躍字符對(duì)SKP order set;每組跳躍字符對(duì)SKP order set由兩個(gè)跳躍字符SKP組成,其 中,第一個(gè)跳躍字符SKP上需要設(shè)置標(biāo)志;最后恢復(fù)保存的數(shù)據(jù),當(dāng)保存的數(shù)據(jù)恢復(fù)后,讀 時(shí)序恢復(fù)正常操作,依次輸出后續(xù)數(shù)據(jù)。
【文檔編號(hào)】G06F13/42GK104063352SQ201310090773
【公開日】2014年9月24日 申請(qǐng)日期:2013年3月20日 優(yōu)先權(quán)日:2013年3月20日
【發(fā)明者】薛重陽 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司