《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 可編程時鐘發(fā)生器及其應(yīng)用

可編程時鐘發(fā)生器及其應(yīng)用

2009-02-23
作者:張華春 孫長瑜

  摘? 要: 美國CYPRESS公司的可編程時鐘發(fā)生器芯片ICD2053B的結(jié)構(gòu)和工作原理及其在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用。ICD2053B提供用戶可編程的鎖相環(huán)特性,,輸出可改變到任何所期望的頻率值上(391kHz~100MHz)。在數(shù)據(jù)采集系統(tǒng)中,,利用ICD2053B所具有的動態(tài)改變輸出頻率的能力,可實現(xiàn)系統(tǒng)的變頻率采樣,,提高了系統(tǒng)的適用范圍和兼容性,,給設(shè)計者提供了靈活的設(shè)計自由度。?

  關(guān)鍵詞: 可編程時鐘發(fā)生器? ICD2053B? 數(shù)據(jù)采集系統(tǒng)? CPLD設(shè)計?

?

  在數(shù)據(jù)采集系統(tǒng)中,,所設(shè)計的系統(tǒng)應(yīng)具有通用性,,可根據(jù)不同的數(shù)據(jù)采集對象,產(chǎn)生不同的采樣頻率;或者系統(tǒng)處于不同的運行情況時,,能夠動態(tài)改變采樣頻率,,即數(shù)據(jù)采集系統(tǒng)應(yīng)當(dāng)具有改變采樣頻率的能力,。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),一般都是固定頻率的數(shù)據(jù)采集,,很難應(yīng)用于其它采樣頻率的場合,。為了使所設(shè)計的系統(tǒng)適用于不同的場合,具有廣泛的適應(yīng)性,,系統(tǒng)必須具有在線改變采樣頻率的方法,。可編程時鐘發(fā)生器芯片ICD2053B提供了系統(tǒng)動態(tài)改變頻率的方法,,其動態(tài)時鐘輸出頻率范圍從391kHz到100MHz(TTL電平)或391kHz到90MHz(CMOS電平),,具有較寬的頻率范圍,在系統(tǒng)中采用ICD2053B能很好地解決上述問題,。ICD2053B提供完全用戶可編程的鎖相環(huán)特性,,鎖相環(huán)振蕩器輸入由外部參考時鐘(1MHz~25MHz)或外部晶振(2MHz~24MHz)提供。其二線串行接口便于對輸出頻率進(jìn)行編程控制,,具有三態(tài)輸出控制使能,。5V供電、低功耗,、小體積又使其適宜于功耗和空間要求高的應(yīng)用場合,。它所具有的動態(tài)改變輸出頻率的能力,給設(shè)計者提供了靈活的設(shè)計自由度,。?

1? ICD2053B的結(jié)構(gòu)及工作原理?

1.1 引腳功能表及內(nèi)部結(jié)構(gòu)圖?

  ICD2053B的內(nèi)部結(jié)構(gòu)如圖1所示,,引腳功能如表1所示。?

?

?

?

1.2? ICD2053B的寄存器?

  ICD2053B包含兩個寄存器:控制寄存器和編程寄存器,。?

  這兩個寄存器使用協(xié)議字011110來區(qū)分是控制寄存器數(shù)據(jù)還是編程寄存器數(shù)據(jù),。所有要發(fā)送的其它數(shù)據(jù)(除協(xié)議字外)在連續(xù)3個1之后,不論原來其后的數(shù)值是1還是0必須插入一個0,,來區(qū)分是協(xié)議字還是數(shù)據(jù),。所有要編程的串行字從最低位開始串行地移入,,當(dāng)SCLK從低到高跳變時,,將數(shù)據(jù)移入到可編程寄存器中。一旦協(xié)議字檢出后,,前面已移入的8位數(shù)據(jù)就傳遞到控制寄存器中,,然后控制命令立刻被執(zhí)行。?

1.2.1 控制寄存器?

  當(dāng)要寫入的數(shù)據(jù)寫入到控制寄存器時,,必須包含協(xié)議字011110,,用來識別所寫入的數(shù)據(jù)為控制寄存器數(shù)據(jù)。?

  控制寄存器用來控制ICD2053B的非頻率特性設(shè)置,,它是一個8位的寄存器,,其含義如圖2所示,。?

?

?

  控制寄存器數(shù)據(jù)的寫入從控制字的低位(位0)開始,一直到控制字的高位(位7),,然后是6位的協(xié)議字寫入到寄存器中,,故控制寄存器的設(shè)置共需14位數(shù)據(jù)。?

  在上電時,,控制寄存器裝入缺省值00000100,,即MUXREF控制位設(shè)置為1,強(qiáng)制CLKOUT輸出為參考頻率fREF,,編程寄存器禁止裝入,,芯片管腳7是輸出使能管腳。?

1.2.2 編程寄存器?

  按照所需要的輸出頻率,,將22位的編程字裝入到編程寄存器,,用以實現(xiàn)輸出頻率的更改。由于協(xié)議字為011110,,在傳送編程數(shù)據(jù)時,,凡連續(xù)出現(xiàn)3個1,在其后便添一個“虛”0,,以避免混淆;在接收端凡連續(xù)收到3個1,,就將其后的零丟掉,故裝入的數(shù)據(jù)要完成“位填充”功能,。由于這個原因,,實際的編程字的長度可以為22到27位。編程寄存器各字段含義如表2所示,。?

?

?

  可編程振蕩器的頻率fVCO由下式確定:?

  fVCO=2×fREF×(P+3)/(Q+2)?

式中,,fREF為參考頻率(1MHz~25MHz)。?

  fVCO的頻率值必須保證處在50MHz和150MHz之間,。因此對于輸出頻率低于50MHz,,fVCO必須設(shè)法處于上述限制之內(nèi),可通過復(fù)用(M)字段的設(shè)置來實現(xiàn)該功能,,M初值為000,。首先將所希望的輸出頻率倍頻,作為新的輸出頻率,,M值增1,,若仍未處于上述范圍,循環(huán)直至滿足要求為止(M≤7),。由于倍頻所希望的輸出頻率,,實際的輸出頻率就要進(jìn)行相應(yīng)的分頻,最大的分頻值為128,,即輸出頻率fout由下式確定:?

??? fOUT=fVCO/2M????????????????? ?

  指針(I)字段用來使壓控振蕩器VCO預(yù)置到適當(dāng)?shù)念l率范圍,。若fVCO在50~80MHz內(nèi),,I為0000;若fVCO在80~150MHz內(nèi),I為1000,。注意,,此處僅指壓控振蕩器頻率fVCO,而非所希望的輸出頻率,。?

  如果壓控振蕩器的頻率正好處在80MHz,,則推薦使用對應(yīng)高頻率范圍的設(shè)置,即I為1000,。?

1.2.3 VCO編程的限制?

  編程時有以下3個主要的限制:?

  (1) 50MHz≤fVCO≤150MHz?

  (2) 1≤P≤127?

  (3) 1≤Q≤127?

  對于上述限制,,要在最優(yōu)速度、最低噪聲和VCO穩(wěn)定性等因素中,,折衷考慮,。?

2 頻率調(diào)整過程?

  當(dāng)改變頻率到一個新頻率時,由于串行字的變化,,輸出信號頻率會產(chǎn)生頻率跳變,。為了避免這種情況發(fā)生,可以利用控制寄存器中MUXREF的特性,。MUXREF使得參考時鐘多路復(fù)用,,無跳變地切換,作為輸出時鐘,,即當(dāng)VCO尋求新的編程值時,,它使輸出時鐘頻率維持在固定的參考時鐘頻率上。?

  ICD2053B初始化或調(diào)整新頻率的步驟如下:?

  (1)裝入控制寄存器控制字,,允許編程寄存器裝入數(shù)據(jù),,使能MUXREF功能,使輸出頻率穩(wěn)定在參考頻率上,,且這個過程保證無跳變,。控制字如下:?

  控制字?? 011110??? 0000X101 --- LSB?

???????????? 協(xié)議字??? 要寫入的控制寄存器控制字?

  管腳7的用法由用戶定義,,用X表示,。?

  注意:所有的數(shù)據(jù)都從低位移入,首先移入的是控制字的最低位,,協(xié)議字緊跟著控制寄存器的控制字之后輸入到寄存器中,。?

  (2)裝入編程寄存器編程字,,使用“位填充”,,最多可得27位的編程字。?

  (3)裝入控制寄存器控制字,,使能MUXREF功能,,禁止編程寄存器數(shù)據(jù)的裝入,。該過程將編程字裝入到編程寄存器中,保持輸出在參考頻率上,,同時進(jìn)行新頻率的建立,。控制字如下:?

  控制字????? 011110??? 0000X100?

  (4)等待至少10ms,,使壓控振蕩器VCO的頻率穩(wěn)定在新的頻率值上,。?

  (5)裝入控制寄存器控制字,使能芯片輸出新頻率,,該過程保證無跳變,。控制字如下:?

  控制字????? 011110??? 0000X000?

  總之,,為了使芯片通過編程輸出一個新頻率,,該芯片需要三個控制字加上一個編程字共同來實現(xiàn)。?

3 ICD2053B在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用?

  在我們所設(shè)計的通用數(shù)據(jù)采集系統(tǒng)中,,系統(tǒng)可以在線改變采樣頻率,,具有動態(tài)改變采樣頻率的能力。該通用數(shù)據(jù)采集系統(tǒng)選用可編程時鐘發(fā)生器芯片ICD2053B,,提供大范圍的采樣頻率(391kHz~100MHz),。ICD2053B的編程連接僅需要兩條線,即SCLK(2),、DATA(4),。利用ICD2053B動態(tài)改變采樣頻率的電路原理圖如圖3所示。

?

?

  在該系統(tǒng)中,,參考晶振頻率為14.31818MHz,。可編程邏輯器件CPLD作為上位機(jī)與ICD2053B的接口,,實現(xiàn)可編程時鐘發(fā)生器串行時鐘和編程數(shù)據(jù)的串行輸入控制功能,。CPLD的主時鐘由上位機(jī)提供,經(jīng)分頻后產(chǎn)生所需的串行時鐘SCLK,,控制移位寄存器,,串行移出所需的編程數(shù)據(jù)。為了幫助實現(xiàn)計算,,上位機(jī)提供系統(tǒng)工作的驅(qū)動程序,,根據(jù)用戶的參考輸入頻率和所希望的輸出頻率,產(chǎn)生適當(dāng)?shù)木幊碳拇嫫骶幊套帧?

  當(dāng)用戶輸入所希望的輸出頻率時,,驅(qū)動程序自動計算所需的編程字,,同時考慮到“位填充”的要求,產(chǎn)生實際的編程字,。然后在上位機(jī)的控制下,,經(jīng)上位機(jī)寫入到可編程邏輯器件CPLD對應(yīng)的寄存器中,,作為觸發(fā)信號,啟動頻率調(diào)整狀態(tài)機(jī),。?

  按照頻率調(diào)整過程,,該狀態(tài)機(jī)的狀態(tài)0為空閑狀態(tài);狀態(tài)1為在串行時鐘SCLK的控制下,將控制字01111000000101由低位開始串行移入可編程芯片中;狀態(tài)2為在串行時鐘的控制下,,將寄存器中存放的編程字串行移入到可編程芯片中,,此時要增加超過22位編程數(shù)據(jù)的位計數(shù)器,以便正確地將編程字移入;狀態(tài)3為在串行時鐘的控制下,,將控制字01111000000100由低位開始串行移入可編程芯片中;狀態(tài)4為在串行時鐘的控制下,,延時等待10ms,進(jìn)入下一狀態(tài);狀態(tài)5為在串行時鐘的控制下,,將控制字0111100000000由低位開始串行移入可編程芯片中,,使芯片輸出所希望的新頻率,同時進(jìn)入狀態(tài)0,,等待下一次的頻率調(diào)整,。?

  串行時鐘并不是一直輸出,只有在對ICD2053B進(jìn)行編程調(diào)整輸出頻率時,,才有串行時鐘輸出,。即串行時鐘在非編程狀態(tài)時輸出為零,在編程狀態(tài)時才輸出可編程時鐘,。若產(chǎn)生39.5MHz的輸出頻率,,考慮位填充的實際編程字為589370H,其相應(yīng)的可編程時鐘與串行數(shù)據(jù)輸出的波形如圖4所示,。?

?

?

  在該數(shù)據(jù)采集系統(tǒng)中,,采用可編程時鐘發(fā)生器芯片ICD2053B,動態(tài)調(diào)整采樣頻率,,使得系統(tǒng)具有通用性,。系統(tǒng)硬件設(shè)計簡單,通過串行數(shù)據(jù)編程,,可在線改變采樣頻率,。而在頻率調(diào)整過程中,無頻率跳變,,輸出時鐘頻率維持在固定的參考時鐘頻率上,,特別適合于對采樣頻率調(diào)整要求高的場合。?

參考文獻(xiàn)?

1 ICD2053B Programmable Clock Generator.CYPRESS,, 1995?

2 侯伯亨,,顧 新. VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計. 西安:西安電子科技大學(xué)出版社, 2000?

3 宋萬杰,羅 豐,,吳順君.CPLD技術(shù)及其應(yīng)用. 西安:西安電子科技大學(xué)出版社,, 1999?

4 劉寶琴,,張芳蘭,,田立生.ALTERA可編程邏輯器件及其應(yīng)用.北京:清華大學(xué)出版社,1995
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。