可編程時(shí)鐘發(fā)生器及其應(yīng)用
摘要:美國CYPRESS公司的可編程時(shí)鐘發(fā)生器芯片ICD2053B的結(jié)構(gòu)和工作原理及其在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用。ICD2053B提供用戶可編程的鎖相環(huán)特性,輸出可改變型任何所期望的頻率值上(391kHz~100MHz)。在數(shù)據(jù)采集系統(tǒng)中,利用ICD2053B所具有的動(dòng)態(tài)改變輸出頻率的能力,可實(shí)現(xiàn)系統(tǒng)的變頻率采樣,提高了系統(tǒng)的適用范圍和兼容性,給設(shè)計(jì)者提供了靈活的設(shè)計(jì)自由度。
在數(shù)據(jù)采集系統(tǒng)中,所設(shè)計(jì)的系統(tǒng)應(yīng)具有通用性,可根據(jù)不同的數(shù)據(jù)采集對(duì)象,產(chǎn)生不同的采樣頻率;或者系統(tǒng)處于不同的運(yùn)動(dòng)情況時(shí),能夠動(dòng)態(tài)改變采樣頻率,即數(shù)據(jù)采集系統(tǒng)應(yīng)當(dāng)具有改變采樣頻率的能力。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),一般都是固定頻率的數(shù)據(jù)采集,很難應(yīng)用于其它采樣頻率的場(chǎng)合。為了使所設(shè)計(jì)的系統(tǒng)適用于不同的場(chǎng)合,具有廣泛的適應(yīng)性,系統(tǒng)必須具有在線改變采樣頻率的方法。可編程時(shí)鐘發(fā)生器芯片ICD2053B提供了系統(tǒng)動(dòng)態(tài)改變頻率的方法,其動(dòng)態(tài)時(shí)鐘輸出頻率范圍從391kHz到100MHz(TTL電平)或391kHz到90MHz(CMOS電平),具有較寬的頻率范圍,在系統(tǒng)中采用ICD2053B能很好地解決上述問題。ICD2053B提供完全用戶可編程的鎖相環(huán)特性,鎖相環(huán)振蕩器輸入由外部參考時(shí)鐘(1MHz~25MHz)或外部晶振(2MHz~24MHz)提供。其二線串行接口便于對(duì)輸出頻率進(jìn)行編程控制,具有三態(tài)輸出控制使能。5V供電、低功耗、小體積又使其適宜于功耗和空間要求高的應(yīng)用場(chǎng)合。它所具有的動(dòng)態(tài)改變輸出頻率的能力,給設(shè)計(jì)得提供了靈活的設(shè)計(jì)自由度。
1 ICD2053B的結(jié)構(gòu)及工作原理
1.1 引腳功能表及內(nèi)部結(jié)構(gòu)圖
ICD2053B的內(nèi)部結(jié)構(gòu)如圖1所示,引腳功能如表1所示。
表1 ICD2503B引腳功能表
引腳號(hào) | 引腳名稱 | 功能描述 |
1 | XTALOUT | 參考晶振反饋信號(hào) |
2 | SCLK | 串行時(shí)鐘輸入線,用于器件編程 |
3 | GND | 地線 |
4 | DATA | 串行數(shù)據(jù)輸入線,用于器件編程 |
5 | CLKOUT | 可編程的時(shí)鐘輸出。當(dāng)管腳7被配置為輸出使能管腳或置位控制寄存器中的位1,可使CLKOUT輸出三態(tài)。 |
6 | VDD | 電源,+5V |
7 | MUXREF/OE | 多路復(fù)用參考頻率或三態(tài)輸出控制,由控制寄存器中的位3決定。上電時(shí),管腳7實(shí)現(xiàn)輸出使能OE的功能,其的高電平使能時(shí)鐘輸出。 |
8 | XTALIN | 參考晶振輸入或外部參考輸入信號(hào)fREF |
1.2 ICD2053B的寄存器
ICD2053B包含兩個(gè)寄存器:控制寄存器和編程寄存器。
這兩個(gè)寄存器使用協(xié)議字011110來區(qū)分是控制寄存器數(shù)據(jù)還是編程寄存器數(shù)據(jù)。所有要發(fā)送的其它數(shù)據(jù)(除協(xié)議字外)在連續(xù)3個(gè)1之后,不論原來其后的數(shù)值是1還是0必須插入一個(gè)0,來區(qū)分是協(xié)議字還是數(shù)據(jù)。所有要編程的串行字從最低位開始串行地移入,當(dāng)SCLK從低到高跳變時(shí),將數(shù)據(jù)移入到可編程寄存器中。一旦協(xié)議字檢出后,前面已移入的8位數(shù)據(jù)就傳遞到控制寄存器中,然后控制命令立刻被執(zhí)行。
1.2.1 控制寄存器
當(dāng)要寫入的數(shù)據(jù)寫入到控制寄存器時(shí),必須包含協(xié)議字011110,用來識(shí)別所寫入的數(shù)據(jù)為控制寄存器數(shù)據(jù)。
控制寄存器數(shù)據(jù)的寫入從控制字的低位(位0)開始,一直到控制字的高位(位7),然后是6位的協(xié)議字寫入到寄存器中,故控制寄存器的設(shè)置其需14位數(shù)據(jù)。
在上電后,控制寄存器裝入缺省值00000100,即MUXREF控制位設(shè)置為1,強(qiáng)制CLKOUT輸出為參考頻率fREF,編程寄存器禁止裝入,芯片管腳7是輸出使能管腳。
1.2.2 編程寄存器
按照所需要的輸出頻率,將22位的編程字裝入到編程寄存器,用以實(shí)現(xiàn)輸出頻率的更改。由于協(xié)議字為011110,在傳送編程數(shù)據(jù)時(shí),凡連續(xù)出現(xiàn)3個(gè)1,在其后便添一個(gè)“虛”0,以避免混淆;在接收端凡連續(xù)收到3個(gè)1,就將其后的零丟掉,故裝入的數(shù)據(jù)要完成“位填充”功能。由于這個(gè)原因,實(shí)際的編程字的長(zhǎng)度可以為22到27位。編程寄存器各字段含義如表2所示。
表2編程寄存器定義
字 段 | 所在位 | 位 數(shù) | 注 釋 |
P計(jì)數(shù)器值(P) | 21:15> | 7 | MSB(最高位) |
工作周期調(diào)整 | 14> | 1 | 設(shè)置為1,增加工作周期約0.7ns,正常設(shè)置為1 |
復(fù)用(M) | 13:11> | 3 | |
Q計(jì)數(shù)器值(Q) | 10:4> | 7 | |
指針(I) | 3:0> | 4 | LSB(最低位) |
可編程振蕩器的頻率fvco由下式確定:
fvco=2×fREF×(P+3)/(Q+2)
式中,fREF為參考頻率(1MHz~25MHz)。
Fvco的頻率值必須保證處在50MHz和150MHz之間。因此對(duì)于輸出頻率低于50MHz,fvco必須設(shè)法處于上述限制之內(nèi),可通過復(fù)用(M)字段的設(shè)置來實(shí)現(xiàn)該功能,M初值為000。首先將所希望的輸出頻率倍頻,作為新的輸出頻率,M值增1,若仍未處于上述范圍,循環(huán)直至滿足要求為止(M≤7)。由于倍頻所希望的輸出頻率,實(shí)際的輸出頻率就要進(jìn)行相應(yīng)的分頻,最大的分頻值為128,即輸出頻率fout由下式確定:
fout=fvco/2 m
指針(I)字段用來使壓控振蕩器VCO預(yù)置到適當(dāng)?shù)念l率范圍。若fvco在50~80MHz,I為0000;若fvco在80~150MHz內(nèi),I為1000。注意,此處僅指壓控振蕩器頻率fvco。而非所希望的輸出頻率。
1.2.3 VCO編程的限制
編程時(shí)有以下3個(gè)主要的限制:
(1)50MHz≤fvco≤150MHz
(2)1≤P≤127
(3)1≤Q≤127
對(duì)于上述限制,要在最優(yōu)速度、最低噪聲和VCO穩(wěn)定性等因素中,折衷考慮。
2 頻率調(diào)整過程
當(dāng)改變頻率到一個(gè)新頻率時(shí),由于串行字的變化,輸出信號(hào)頻率會(huì)產(chǎn)生頻率跳變。為了避免這種情況發(fā)生,可以利用控制寄存器中MUXREF的特性。MUXREF使得參考時(shí)鐘多路復(fù)用,無跳變地切換,作為輸出時(shí)鐘,即當(dāng)VCO尋求新的編程值時(shí),它使輸出時(shí)鐘頻率維持在固定的參考時(shí)鐘頻率上。
(1)裝入控制寄存器控制字,允許編程寄存器裝入數(shù)據(jù),使能MUXREF功能,使輸出頻率穩(wěn)定在參考頻率上,且這個(gè)過程保證無跳變??刂谱秩缦拢?/P>
控制字 011110 0000X101 --- LSB
協(xié)議字 要寫入的控制寄存器控制字
管腳7的用法由用戶定義,用X表示。
注意:所有的數(shù)據(jù)都從低位移入,首先移入的是控制字的最低位,協(xié)議字緊跟著控制寄存器的控制字之后輸入到寄存器中。
(2)裝入編程寄存器編程字,使用“位填充”,最多可得27位的編程字。
(3)裝入控制寄存器控制字,使能MUXREF功能,禁止編程寄存器數(shù)據(jù)的裝放。該過程將編程字裝入到編程寄存器中,保持輸出在參考頻率上,同時(shí)進(jìn)行新頻率的建立??刂谱秩缦拢?/P>
控制字 011110 0000X100
(4)等待至少10ms,使壓控振蕩器VCO的頻率穩(wěn)定在新的頻率值上。
(5)裝入控制寄存器控制字,使能芯片輸出新頻率,該過程保證無跳變??刂谱秩缦拢?/P>
控制字 011110 0000X000
總之,為了使芯片通過編程輸出一個(gè)新頻率,該芯片需要三個(gè)控制字加上一個(gè)編程字共同來實(shí)現(xiàn)。
3 ICD2053B在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
在我們所設(shè)計(jì)的通用數(shù)據(jù)采集系統(tǒng)中,系統(tǒng)可以在線改變采樣頻率,具有動(dòng)態(tài)改變采樣頻率的能力。該通用數(shù)據(jù)采集系統(tǒng)選用可編程時(shí)鐘發(fā)生器芯片ICD2053B,提供大范圍的采樣頻率(391kHz~100MHz)。ICD2053B的編程連接僅需要兩條線,即SCLK(2)、DATA(4)。利用ICD2053B動(dòng)態(tài)改變采樣頻率的電路原理圖如圖3所示。
在該系統(tǒng)中,參考晶振頻率為14.31818MHz??删幊踢壿嬈骷﨏PLD作為上位機(jī)與ICD2053B的接口,實(shí)現(xiàn)可編程時(shí)鐘發(fā)生器串行時(shí)鐘和編程數(shù)據(jù)的串行輸入控制功能。CPLD的主時(shí)鐘由上位機(jī)提供,經(jīng)分頻后產(chǎn)生所需的串行時(shí)鐘SCLK,控制移位寄存器,串行移出所需的編程數(shù)據(jù)。為了幫助實(shí)現(xiàn)計(jì)算,上位機(jī)提供系統(tǒng)工作的驅(qū)動(dòng)程序,根據(jù)用戶的參考輸入頻率和所希望的輸出頻率,產(chǎn)生適當(dāng)?shù)木幊碳拇嫫骶幊套帧?/P>
當(dāng)用戶輸入所希望的輸出頻率時(shí),驅(qū)動(dòng)程序自動(dòng)計(jì)算所需的編程字,同時(shí)考慮到“位填充”的要求,產(chǎn)生實(shí)際的編程字。然后在上位機(jī)的控制下,經(jīng)上位機(jī)寫入到可編程邏輯器件CPLD對(duì)應(yīng)的寄存器中,作為觸發(fā)信號(hào),啟動(dòng)頻率調(diào)整狀態(tài)機(jī)。
按照頻率調(diào)整過程,該狀態(tài)機(jī)的狀態(tài)0為空閑狀態(tài);狀態(tài)1為在串行時(shí)鐘SCLK的控制下,將控制字01111000000101由低位開始串行移入可編程芯片中;狀態(tài)2為在串行時(shí)鐘的控制下,將寄存器中存放的編程字串行移入到可編程芯片中,此時(shí)要增加超過22位編程數(shù)據(jù)的位計(jì)數(shù)器,以便正確地將編程字移入;狀態(tài)3為在串行時(shí)鐘的控制下,將控制字01111000000100由低位開始串行移入可編程芯片中;狀態(tài)4為在串行時(shí)鐘的控制下,延時(shí)等待10ms,進(jìn)入下一狀態(tài);狀態(tài)5為在串行時(shí)鐘的控制下,將控制字0111100000000由低位開始串行移入可編程芯片中,使芯片輸出所希望的新頻率,同時(shí)進(jìn)入狀態(tài)0,等待下一次的頻率調(diào)整。
串行時(shí)鐘并不是一直輸出,只有在對(duì)ICD2053B進(jìn)行編程調(diào)整輸出頻率時(shí),才有串行時(shí)鐘輸出。即串行時(shí)鐘在非編程狀態(tài)時(shí)輸出為零,在編程狀態(tài)時(shí)才輸出可編程時(shí)鐘。若產(chǎn)生39.5MHz的輸出頻率,考慮位填充的實(shí)際編程字為589370H,其相應(yīng)的可編程時(shí)鐘與串行數(shù)據(jù)輸出的波形如圖4所示。
在該數(shù)據(jù)采集系統(tǒng)中,采用可編程時(shí)鐘發(fā)生器芯片ICD2053B,動(dòng)態(tài)調(diào)整采樣頻率,使得系統(tǒng)具有通用性。系統(tǒng)硬件設(shè)計(jì)簡(jiǎn)單,通過串行數(shù)據(jù)編程,可在線改變采樣頻率。而在頻率調(diào)整過程中,無頻率跳變,輸出時(shí)鐘頻率維持在固定的參考時(shí)鐘頻率上,特別適用于對(duì)采樣頻率調(diào)整要求高的場(chǎng)合。
評(píng)論