相同的結(jié)果,并不需要一 定照?qǐng)D3所示的流程中的步驟順序來進(jìn)行,且圖3所示的步驟不一定要連續(xù)進(jìn)行,亦即其他 步驟亦可插入其中。頻率校正方法300的步驟包括有 :
[0022] 步驟302 :將通用串行總線裝置100插入于通用串行總線主機(jī)112 ;
[0023] 步驟304 :控制通用串行總線裝置100致能(enable)通用串行總線裝置100內(nèi)的 終端阻抗110以使得通用串行總線主機(jī)112發(fā)出輪詢低頻周期信號(hào)Sps至通用串行總線裝 置 100 ;
[0024] 步驟306 :延遲一第一延遲時(shí)間tl ;
[0025] 步驟308 :判斷通用串行總線裝置100是否收到輪詢低頻周期信號(hào)Sps,若是,跳至 步驟310,若否,跳至步驟306 ;
[0026] 步驟310 :利用通用串行總線裝置100擷取來自通用串行總線主機(jī)112的輪詢低 頻周期信號(hào)Sps ;
[0027] 步驟312 :依據(jù)輪詢低頻周期信號(hào)Sps來校正通用串行總線裝置100內(nèi)的可程序 化振蕩電路106 ;
[0028] 步驟314 :可程序化振蕩電路106是否產(chǎn)生具有預(yù)定頻率Fp的目標(biāo)振蕩信號(hào) Sosc_tar,若是,跳至步驟316,若否,跳至步驟312 ;
[0029] 步驟316 :將用來控制可程序化振蕩電路106以產(chǎn)生具有預(yù)定頻率Fp的目標(biāo)振蕩 信號(hào)Sosc_tar的控制字Sc暫存于一緩存器;
[0030] 步驟318 :控制通用串行總線裝置100抑能(disable)通用串行總線裝置100內(nèi) 的終端阻抗110 ;
[0031] 步驟320 :延遲一第二延遲時(shí)間t2 ;
[0032] 步驟322 :進(jìn)行通用串行總線裝置100的一開卡初始化程序;
[0033] 步驟324 :從通用串行總線裝置100饋入一內(nèi)部原始碼程序(Internal Source Program, ISP);以及
[0034] 步驟326 :將所述控制字Sc儲(chǔ)存于通用串行總線裝置100內(nèi)的一閃存。
[0035] 請(qǐng)注意,在步驟304中,當(dāng)終端阻抗110被致能時(shí),通用串行總線主機(jī)112就會(huì)偵 測(cè)到終端阻抗110進(jìn)而發(fā)出輪詢低頻周期信號(hào)Sps。反之,當(dāng)終端阻抗110被抑能時(shí),通用 串行總線主機(jī)112就不會(huì)偵測(cè)到終端阻抗110,此時(shí)通用串行總線主機(jī)112就會(huì)認(rèn)為通用串 行總線裝置100并未正確地耦接于到通用串行總線主機(jī)112。當(dāng)通用串行總線主機(jī)112對(duì) 通用串行總線裝置100發(fā)出輪詢低頻周期信號(hào)Sps時(shí),控制電路104會(huì)先控制偵測(cè)電路102 等待第一延遲時(shí)間tl再偵測(cè)來自通用串行總線主機(jī)112的輪詢低頻周期信號(hào)Sps。這是因 為通用串行總線主機(jī)112偵測(cè)到終端阻抗110時(shí),通用串行總線主機(jī)112不一定會(huì)馬上發(fā) 出輪詢低頻周期信號(hào)Sps。依據(jù)通用串行總線3. 0的規(guī)格,通用串行總線主機(jī)112必需在偵 測(cè)到終端阻抗110的50ms(毫秒)內(nèi)發(fā)出輪詢低頻周期信號(hào)Sps。因此,通過適當(dāng)?shù)卦O(shè)計(jì), 第一延遲時(shí)間tl到達(dá)時(shí),通用串行總線裝置100的偵測(cè)電路102應(yīng)可接收到來自通用串行 總線主機(jī)112的輪詢低頻周期信號(hào)Sps。請(qǐng)參考圖4,圖4所示是依據(jù)本發(fā)明一輪詢低頻周 期信號(hào)Sps以及偵測(cè)振蕩信號(hào)Spsr的一實(shí)施例時(shí)序圖。輪詢低頻周期信號(hào)Sps大致上是 一個(gè)工作周期(duty cycle)大致上為10%,頻率大致上為IOOKHz的周期性信號(hào)。進(jìn)一步而 言,一個(gè)周期的輪詢低頻周期信號(hào)Sps是分為兩個(gè)部分402和404,第一部分402是高頻周 期性信號(hào),其中每一個(gè)高頻信號(hào)的周期約IOns~IOOns (毫微秒),而第二部分404則是沒 有信號(hào)的閑置時(shí)段。第一部分402的標(biāo)準(zhǔn)持續(xù)時(shí)間tBurst是Ius (微秒),但是通用串行總 線3. 0的規(guī)格允許其范圍可從0. 6us至I. 4us。第二部分404的標(biāo)準(zhǔn)持續(xù)時(shí)間tRepeat是 9us,但是通用串行總線3. 0的規(guī)格允許其范圍可從6us至14us。雖然第一部分402的持續(xù) 時(shí)間tBurst和第二部分404的持續(xù)時(shí)間tRepeat可在其規(guī)范的范圍內(nèi)自行決定,但是通常 第一部分402的持續(xù)時(shí)間tBurst是固定的(約Ius),且第一部分402的持續(xù)時(shí)間tBurst 和第二部分404的持續(xù)時(shí)間tRepeat之間的比例也是固定的。換句話說,輪詢低頻周期信 號(hào)Sps的工作周期是固定的,亦即工作周期為10%,且其頻率通常為100ΚΗz。因此,通用串 行總線裝置100就可以利用輪詢低頻周期信號(hào)Sps的此一特性,并辨識(shí)并擷取出輪詢低頻 周期信號(hào)Sps,用來產(chǎn)生具有相同頻率的輪詢偵測(cè)振蕩信號(hào)Spsr來校正可程序化振蕩電路 106,以使得可程序化振蕩電路106得以產(chǎn)生具有預(yù)定頻率Fp的目標(biāo)振蕩信號(hào)S 〇SC_tar。
[0036] 進(jìn)一步而言,偵測(cè)電路102會(huì)擷取出具有與低頻周期信號(hào)Sps大致上相同的偵測(cè) 振蕩信號(hào)Spsr??刂齐娐?04會(huì)讀取偵測(cè)振蕩信號(hào)Spsr,并輸出控制字Sc來調(diào)整可程序 化振蕩電路106的振蕩信號(hào)Sosc。請(qǐng)注意,從本實(shí)施例的圖1可以得知控制電路104與可 程序化振蕩電路106之間是耦接成一回授電路的形態(tài)。換句話說,控制電路104會(huì)一邊輸 出不同的控制字Sc來調(diào)整可程序化振蕩電路106,同時(shí)一邊接收對(duì)應(yīng)的振蕩信號(hào)Sosc來計(jì) 算出其振蕩頻率,一直到其振蕩頻率被校正至預(yù)定頻率Fp為止。因此,為了使得控制電路 104具有足夠的時(shí)間來校正可程序化振蕩電路106,本發(fā)明的控制電路104會(huì)同時(shí)控制傳送 電路108以阻止傳送電路108產(chǎn)生一對(duì)應(yīng)的低頻周期信號(hào)至通用串行總線主機(jī)112,以使得 通用串行總線主機(jī)112持續(xù)產(chǎn)生輪詢低頻周期信號(hào)Sps至通用串行總線裝置100。在一實(shí) 施例中,當(dāng)通用串行總線裝置100接收來自通用串行總線主機(jī)112的輪詢低頻周期信號(hào)Sps 時(shí),控制電路104會(huì)控制傳送電路108持續(xù)產(chǎn)生比輪詢低頻周期信號(hào)Sps的頻率來得高的 一預(yù)定信號(hào)至通用串行總線主機(jī)112以使得通用串行總線主機(jī)112持續(xù)產(chǎn)生輪詢低頻周期 信號(hào)Sps至通用串行總線裝置100。例如,所述預(yù)定信號(hào)可以是一周期約IOns~IOOns (毫 微秒)的高頻信號(hào)。
[0037] 在本發(fā)明的另一實(shí)施例中,當(dāng)通用串行總線裝置100接收來自通用串行總線主機(jī) 112的輪詢低頻周期信號(hào)Sps時(shí),控制電路104會(huì)控制傳送電路108停止產(chǎn)生一正常的響 應(yīng)信號(hào)至通用串行總線主機(jī)112以使得通用串行總線主機(jī)112持續(xù)產(chǎn)生輪詢低頻周期信號(hào) Sps至通用串行總線裝置100。
[0038] 此外,在本發(fā)明的另一實(shí)施例中,當(dāng)通用串行總線裝置100接收來自通用串行總 線主機(jī)112的輪詢低頻周期信號(hào)Sps時(shí),控制電路104會(huì)控制傳送電路108產(chǎn)生任何相異 于輪詢低頻周期信號(hào)Sps的一預(yù)定信號(hào)至通用串行總線主機(jī)112以使得通用串行總線主機(jī) 112持續(xù)產(chǎn)生輪詢低頻周期信號(hào)Sps至通用串行總線裝置100。
[0039] 在步驟316中,當(dāng)可程序化振蕩電路106被校正至產(chǎn)生具有預(yù)定頻率Fp的目標(biāo)振 蕩信號(hào)Sosc_tar時(shí),控制電路104將所對(duì)應(yīng)的控制字Sc暫存于一緩存器。同時(shí),控制電路 104會(huì)抑能通用串行總線裝置100內(nèi)的終端阻抗110,以使得通用串行總線主機(jī)112判定通 用串行總線裝置100并未正確地耦接于到通用串行總線主機(jī)112 (步驟318)。
[0040] 接著,通過第二延遲時(shí)間t2后(步驟320),控制電路104才會(huì)進(jìn)行通用串行總線 裝置100的一開卡初始化程序(步驟322)。在開卡的初始化程序中,通用串行總線裝置100 的控制電路104會(huì)饋入一內(nèi)部原始碼程序(Internal Source Program, ISP),以初始化通用 串行總線裝置1〇〇(步驟324)。請(qǐng)注意,所述內(nèi)部原始碼程序可以是一儲(chǔ)存于只讀存儲(chǔ)器 (ROM)中的韌體。
[0041] 接著,在步驟326中,當(dāng)通用串行總線裝置100完成開卡后,控制電路104就會(huì)將 原本暫存在所述緩存器的控制字Sc儲(chǔ)存于一閃存中。因此,當(dāng)通用串行總線裝置100完成 開卡后,所述閃存內(nèi)就儲(chǔ)存了用來控制可程序化振蕩電路106以產(chǎn)生具有預(yù)定頻率Fp的目 標(biāo)振蕩信號(hào)S 〇SC_tar的控制字Sc。此后,若通用串行總線裝置100再次耦接于通用串行總 線主機(jī)112時(shí),控制電路104就無需再對(duì)可程序化振蕩電路106進(jìn)行校正,而直接讀取所述 閃存內(nèi)的控制字Sc即可。如此一來,本發(fā)明的通用串行總線裝置100就可以用一較低成本 的方式來產(chǎn)生一具有精準(zhǔn)頻率的參考頻率。
[0042] 請(qǐng)注意,在步驟316中,當(dāng)控制電路104將所對(duì)應(yīng)的控制字Sc暫存于所述緩存器 后,控制電路104不一定要抑能通用串行總線裝置100內(nèi)的終端阻抗110。進(jìn)一步而言,在 本發(fā)明的另一實(shí)施例中,當(dāng)控制電路104計(jì)算出所對(duì)應(yīng)的控制字Sc并將所述控制字Sc暫 存于所述緩存器后,控制電路104還持續(xù)致能通用串行總線裝置100內(nèi)的終端阻抗110,并 控制通用串行總線裝置100來產(chǎn)生另一輪詢低頻周期信號(hào)Sps至通用串行總線主機(jī)112。 如此一來,當(dāng)通用串行總線主機(jī)112收到來自通用串行總線裝置100來產(chǎn)生的輪詢低頻周 期信號(hào)Sps時(shí),通用串行總線主機(jī)112就會(huì)進(jìn)入圖2所示的狀態(tài)2064。接著,通用串行總線 主機(jī)112與通用串行總線裝置100之間就會(huì)