1373918 六、發明說明: 【發明所屬之技術領域】 .. 本發明係為一種鎖相迴路裝置,尤其是有關於一種具 四種狀態之有限狀態機的鎖相迴路裝置。 【先前技術】
最新的通用串列匯流排規格是依據USB -IF (USB • Implementers Forum)通用串列匯流排2.0規範所制定 的,其規範了通用串列匯流排傳輪資料的速度,如低速(L〇w speed)規定資料的頻寬為每秒1.5百萬位元(Mb/s),誤差容 忍為1.5%,常見的裝置有滑鼠、鍵盤;全速(fuii Speecj)的 頻寬為每秒12百萬位元(Mb/s) ’誤差容忍為0.25%,適用 的裝置有通用_列匯流排揚聲器、通用串列匯流排隨身碟 等等;而高速(High speed)的頻寬則為每秒480百萬位元 (Mb/s),適用於對資料頻寬要求更高的裝置。 • 通用串列匯流排的傳輸使用D+、D-兩條信號線,藉 由其電位的變化,使資料傳遞。圖一是習知裝置控制器之 方塊圖,當裝置作為接收端時,差動接收器l〇l(differential .receiver)得知D+、D-的電位變化RCV;而作為傳送端時, 則利用其驅動器102 (Driver)輸出到和D·上,以讓另一 端的主機接收。裝置會利用時脈產生器產生需要的時 脈CLKB,通常是規格所訂的頻率,以利串列介面引擎 104(Serial interface engine,SIE)工作。SIE 處理通用串列 匯流排的傳輸協定(pr〇t〇c〇l),如NRZI編碼、位元填塞(Bit 知^己封包產生(token packet generation)等等。 並不器1〇3,是因為通用串列匯流排傳輸線 . 15遽’且通用串列匯流排主機和裝置的時脈 ' 非來自同一個時脈,接收端如果以自己的時脈來 1墓站到的差動信號Rcv,便會造成資料少讀或多讀,進 七 通^串列匯流排系統工作錯誤。所以,通用串列匯 机排規範貪料的編碼使用NRZI(Non return to zero 、如圖二所示’當資料$ 0,則使傳輸的信號轉態, 田負料為1 ’則維持傳輸信號的位準。利用此信號的變化 和鎖相迴路狀惑機’讓接收端可產生相對應的時脈信號 CLKB ’再用此時脈信號CLKB去擷取差動信號RCV,如 此便不會發生資料接收錯誤的情形。 對於時脈產生器1〇3,習知技術已使用數位鎖相迴路 (Digital phase-l〇ck-l〇op),惟其缺點是太過於複雜,如美國 專利第6,〇88,811號,而另一篇美國第6,664,859號專利則 提出更為精簡的機構,僅需單一五種狀態的狀態機 301 (State machine) ’如圖3A所示,便能以四倍速時脈產生 一倍速的時脈週期,雖然確實提出了有效降低複雜度的方 法’但其機構在輸出時脈的速度仍有改善的空間;另外, 其在接收資料的路徑上,只使用一級的正反器(Flip_F^p) 作為同步器302(Synchronizer),致使其架構無法有效排除 第一級正反器進入介穩態(metastable state),將導致其後的 電路無法有效地運作。其中,介穩態發生的原因是因資料 在正反器的5又置時間(setup time)或保持時間(hold time)内 發生變化,即導致輸出的Q端沒辦法鎖到資料,而發生震 4 盪或不琴定的位準。 , 緣此,本案之發明人係研究出一種鎖相迴路狀 尤其是有關於一種四種狀態的鎖相迴路狀態 i 了。 善習知技術中輸出時脈的延遲(丨atency)較長^之八係可改 步加強系統的穩定度。 也進 【發明内容】 本發明之目的在產生接收資料的時脈clkb作號, 利用-個四種狀態的鎖相迴路狀態機,使袈置在接收時的 ⑽能更快產生’因其更快產生之故,可以使接收端的 時脈容忍誤差範圍加大。另使用兩級正反器作為同步器, 本發明可更穩定的運作。 本發明係關於一種鎖相迴路裝置(的郎6_丨〇以_丨〇叩 device,PLL device),其具有一鎖相迴路狀態機 (phaSe-|0ck_丨oop state machine PLL 幻咖 machjne),該 鎖相迴路狀態機包含有: 第-狀,#,用來作為重設後之一切入點,並用來作為 調整一時脈信號的參考狀態; -第二狀態,用來當作調㈣時脈信號的參考狀態; -第三狀態’用來當作難該時脈信號的參考狀態; 一第四用來當作調整該時脈信號的參考狀態; :由一第—控制信號等於1而由該第-狀態切換至該 f一狀態且下一個週期該時脈信號輸出1之轉換機 制; 一由該第-控制信號等於〇而由該第—狀態切換至該 5 =;狀L且下一個週期該時脈信號輸出0之轉換機 第-控制^號等於1而由該第二狀態切換至該 制.I且下一個週期該時脈信號輸出1之轉換機 由及,控制信號等於Q而由該第二狀態切換至該 4狀態且下一個週期該時脈信號輸出0之轉換機 制, 亥第控制信號等於1而由該第三狀態切換至該 狀態且下一個週期該時脈信號輸出1之轉換 制; 由。亥,㉟制k號等於Q *由該第三狀態切換至該 狀I且下—個週期該時脈信號輸出0之轉換機 制;以及 由該時脈信號等於—第二控制信號之相反值而由該 第四狀態切換至該第一狀態之轉換機制; 其中,各狀態之間的轉換機制會週期性地發生。 本發明係關於一種用來令一通用串列匯流排 (umversai seria丨bus ’ USB)接收時脈器同步於一通用序列 滙流排傳送時脈器之裝置’該接收時脈器内部之頻率約為 外部傳送時脈器之頻率的四倍,該裝置包含有: 一控制電路,用來依據其所接收之資料來輸出控制信號·以 及 , 一數位鎖相迴路狀態機(digita丨phase-丨〇cM〇op state machine,DPLL state machine),用來依據該控制信號來 ^73918 動L地調整該接收時脈器之工作週期,以使該 接枚時脈器與該傳送時脈器趨向同步,其中該狀態機以四 種狀態運作。 為使貴審查委員對於本發明之結構目的和功效有更 進一步之了解與認同,茲配合圖示範例詳細說明如後。 【實施方式】 為了說明本發明之狀態機和習知技術(美國第 6,664,859號專利)的差別,我們假設本發明僅使用一級1) 型正反器作為同步器,如圖三B所示,單純比較和習知技 術6,664,859號專利的工作延遲(iatency)差異。其中,該第 狀態機301與第二狀態機303之差別為:請參考圖四, 該狀態機301為五個狀態而該狀態機3〇3為四個狀態,且 該狀態機303的輸出CLKB較該狀態機301的輸出clk 1χ 提早一個時脈輸出。 以通用串列匯流排全速裝置來說,當接收端的時脈誤 差有5%時,將造成CLKA(原48MHz)輸出最快為5〇 4ΜΗζ - 或最慢為45·6ΜΗζ。主機來的差動資料RCV為12Mb/s, - 所以,一個位元時間以48MHz來sample會有4個 週期寬度。 (1) CLKA = 50·4ΜΗζ :以 50.4MHz 來 sample 則會有 50.4/12 = 4.2個CLKA週期寬度,由於Sample後的個數不 可能有fractional part,所以可能的寬度為4或5個 週期寬度。 (2) CLKA = 45.6MHz:以 45.6MHz 來 sampie 則會有 7 丄 45.6/12 = 3.8 個 CLKA 週期 6 3或4 加〜見度,所以可能的寛声岌 個CLKA週期。 7尾!為 以上所提的時脈誤差, 數。此類誤判房因是因N R 7會;^接收Μ判資料位元 編碼後的資料不會有轉態、二可气f連始資料為1時’
規範規定原始資料超過六個1傳送時,要塞入一:〇: 資料經過NRZI編碼後最 二: 生。當資料沒有發生轉態時,操取RCV“:J: 迴路狀態機的運作。 ^脈柯賴鎖相 ,由t基本概念’我們可以繼續推導何時習知技術會 不正H,如兩個位元只收到一個位元,請見圖五。當 接收端的時脈比傳送端時脈慢時,造成兩個位 成6個〇^_寬度,叫_來推導,騎只能j -個CLK_lXm接收端判讀成資料只有—個位元, 虛線為其擷取資料rCV〜2的時間,在時脈信號CLK—ιχ 的正緣。 於疋,我們可以算出接收端的時脈要多慢,才會造成 此類錯誤。設接收端時脈週期為Xns,傳送端的位元固定 為12Mb/s,傳2個位元需2/12MH㈣66.66ns,接收時脈取 樣傳送資料大於或科7個⑴^時,便不會發生兩個位 元讀成一個位元的錯誤。166.66/X g 7 X g 23.809ns。 表示當接收端時脈小於23.809ns時,該習知技術可正常運 作,不會發生兩個位元解成一個位元的錯誤。 如圖六所不,當接收端的時脈比傳送端時脈快時,造 1373918 成兩個位元時間解成三個位元。設接收端時脈週期 ns ’傳送端的位元固定為12Mb/s,傳兩個位元需’X 2/12MHz=166.66ns,接收時脈sampie傳送資料小 ;^等於 元的錯 10個CLKA時’便不會發生兩個位元讀成—個位 誤 166.66/X ‘ 10 所以 X g 16.667ns。表示杏接 脈大於16.667ns時’該習知技術可正常運作,不备4 個位元解成三個位元的錯誤。 胃X生兩 由以上兩個極限值可以看出兩個位元的極限範圍為 23.809-16.667 = 7.142ns。而本發明的極限範圍為9259' 較習知技術大29.64%。請看表一 ’我們比較本發明和’ 技術的誤差容忍範圍,位元數表示RCV未轉態的位元 位元數(bit) 本發明誤差範画 (ns) 習知技術誤差範圍@ 1 27.777 15.873 2 9.259 7.142 〜 3 5.769 4.870 〜 4 4.201 3.703 5 3.306 2.990 〜 6 2.727 2.508 ^ 7 2.321 2.160 〜 '技術X 差 2^64%^ )848% J345%~ ^45%~ 圖八為本發明的架構圖,差動信號rcv 、,土田一個 ,,及正反器801/802和時脈信號CLKA同步後,產生 接著使用正反器803、805和XOR閘804得到邊緣變 號XG2,XG2經一級正反器作為延遲後得到XGl,= ^ 號提供給第二狀態機303以判斷是否輸出CLKB。 ^ 該狀態機其狀態變化圖為圖九,共有4個狀熊, 鼾頭表示下一個週期的狀態值,而標示於箭頭旁的文 1373918 其判斷的標準’如XG1 = 1/CLKB=1是指當輸入XG1 = 1時, 下一個週期則輪出CLKB=1。 •. 以下描述如何運作,經由reset信號回到第一狀態 901 ’在此第—狀態901若XG1為1,表示偵測到RCV 2 ^ — 的變化’則下一個cycle輸出CLKB為1,且狀態為第一狀 癌901 ,右XG1為〇 ’表示rcV_2沒有變化,下一個cycle 輸出CLKB為〇,且為第二狀態902。 φ 在狀態為902時,若XG1為1,表示偵測到RCV2的 變化’下一個cycle輸出CLKB為1,且狀態為第一狀態 901 ’右XG1為〇 ’表示rcV_2沒有變化,下一個cycle 輸出CLKB為〇,且為第三狀態903。 在狀態為第三狀態903時,若XG1為1,表示偵測到 RCV2的變.化,下一個cycle輸出CLKB為1,且狀態為SO; 若XG1為0’表示rcv_2沒有變化,下一個cycle輸出CLKB 為0 ’且為第四狀態904。 • 在狀態為904時,下一個cycle輸出CLKB為XG2的 . 反相’且為第一狀態901。 - 本發明進一步提出可能的狀態機作法,請見圖十,此 架構可避免輸出CLKB有脈衝產生。XG1和State經第一 組合邏輯1001後,可產生下一個狀態讓正反器1002更新 狀態。輸出信號CLKB的產生,則需經由第二組合邏輯1003 和正反器1004輸出,該組合邏輯1003會藉由輸入信號 state、XG2、XG1輸出PCLK,再經由該正反器1〇〇4取樣 後輸出,避免有脈衝產生。 1373918 依據圖八架構圖,以下說明實施步驟。藉由差動信號 RCV產生XG2和XG1,以輪出CLKB。 . 當接收頻率大於傳送頻率時,請見圖十一,RCV經由 CLKA取樣後有5個CLKA週期,State由reset後的狀態 SO開始,在狀態S1時因XGl^i,致使下一個週期的狀態 為SO,且輸出CLKB為1。接著,狀態改變由 S0 + S14S2)S3 ’當在S3時,因XG2=1,所以輸出 • CLKB=0 ’並回到狀態SO。在狀態s〇時,因XG1 =卜所 以下一個週期狀態為so,且輸出CLKB為j。狀態改變由 SO今S1+S2 + S3 ’ 在 S3 時因 XG2=〇,所以輸出 CLKB=p 再回到狀態S0+S1今S2。 當接收頻率小於傳送頻率時,請見圖十二’ RCV經由 CLKA取樣後出現3個CLKA週期,sme由獄t後的狀 態SO開始’在SO因XG1=0,故下一個周期狀態為S1,且 輸出CLKB為0。在狀態S1時因χ(}1 = 1,致使下一個週期 #的狀態為S0’且輸出(:㈣為!。接著,狀態改變由 .如州備,當在S2時,因XGly,所以下一個週期狀 •態為S〇 ’且輸出CLKB=1。狀態改變接著如下, • S0)S1+S2 ’在S2時’因XGh,所以下一個週期狀態 為S0,且輸出CLKB=卜狀態改變,s〇+sl + S2々S3,在 S3時因XG2=0,所以輸* CLKB小再回到狀態%州。 當接收頻率等於傳送頻率時,請見圖十:RCV經由 CLKA取樣後出現4個CLKa週期,狀態由重置(reset)後的 狀態S0開始,在SO g) Χ(Η=0,故下—個周態為si, 1373918 且輸出CLKB為0。在狀態S1時因XG1 = 1,致使下一個週 期的狀態為S0,且輸出CLKB為1。接著,狀態改變由 S0+S1->S2+S3,當在S3時,因XG2=0,所以下一個週 期狀態為S0,且輸出CLKB=1。狀態改變維持以下順序: S0 + S1 + S2+S3。 當套用於低速應用時,CLKA為6MHz,輸出的CLKB 接埤1·5ΜΗζ;當套用於全速應用時,CLKA為48MHz,輸 出的CLKB接近12MHz。 信號XG1的產生方式可用其他組合邏輯產生,見圖十 四及圖十五。 以下說明圖十五架構圖,信號TXEN選擇本發 明是否為傳送或接收的狀態,若為接收,則輸入〇,反之, 則輸入1。接著使用正反器1201和XOR閘1202得到邊 緣變化之信號XG2和信號XG1 ’此兩信號提供給狀態機 以判斷是否輸出信號CLKB。 本發明的四種狀態的狀態機,若使XG1及XG2固定 為〇,可使狀態機構輸出一時脈信號,而該時脈信號的頻 率符合通用串列匯流排時脈頻率要求,即低速為1.5MHz, 全速為12MHz。藉由此方法,吾人可以利用如圖十五的架 構圖’使本發明變為傳送端所需的時脈信號來源。當傳送 時’ TXEN = 1,用此信號TXEN可使XG2和XG1固定同 一位準0,使狀態機構便成單純的CLKA除4的時脈信號 CLKB。見圖十六’狀態改變維持在S0+S1 + S2 + S3。 唯以上所述者,僅為本發明之範例實施態樣爾,當不 1373918 能以之限定本發明所實施之範圍。即大凡依本發明申請專 利範圍所作之均等變化與修飾,皆應仍屬於本發明專利涵 蓋之範圍内,謹請貴審查委員明鑑,並祈惠准,是所至 禱。 • .【圖式簡單說明】 圖一係為先前技藝之通用串列匯流排示意圖; 圖二係為先前技藝之NRZI資料編碼架構示意圖; 圖三A係為先前技藝之鎖相迴路裝置架構示意圖; • 圖三B係為於本發明之鎖相迴路裝置架構示意圖; 圖四係為用於本發明與先前技藝之鎖相迴路裝置架 構之輸出示意圖; 圖五係為當接收時脈頻率小於傳送時脈頻率可能發 生的錯误不意圖, 圖六係為當接收時脈頻率大於傳送時脈頻率可能發 生的錯誤示意圖; 圖七係為位元填塞示意圖; • 圖八係為於本發明之鎖相迴路裝置架構示意圖; . 圖九係為於本發明之鎖相迴路裝置狀態機之狀態示 意圖;; ' 圖十係為於本發明之鎖相迴路裝置架構之狀態機示 意圖; 圖十一係為當接收時脈頻率大於傳送時脈頻率之示 意圖, 圖十二係為當接收時脈頻率小於傳送時脈頻率之示 意圖, 13 1373918 圖十三係為當接收時脈頻率等於傳送時脈頻率之示 意圖, 圖十四係為本發明之鎖相迴路裝置之一控制電路示 意圖, 圖十五係為本發明之鎖相迴路裝置之另一控制電路 不意圖, 以及 圖十六係為用於說明本發明之鎖相迴路裝置被用於 通用串列匯流排傳送端時之示意圖。 【主要元件符號說明】 101 差動接收器 102 驅動器 103 時脈產生器 104 串列介面引擎 301 第一狀態機 302 一級正反器的同步器 303 第二狀態機 801 802 803 805 正反器 804 XOR閘 901 第一狀態 902 第二狀態 903 第三狀態 904 第四狀態 1001 第一組合邏輯 14 1373918 1002 1004 正反器 1003 第二組合邏輯