用三只IC建立一個數(shù)字PLL
本設(shè)計(jì)思想中的簡單電路給出了一個傳統(tǒng)模擬鎖相環(huán)的基礎(chǔ)特性,但電路中除了基準(zhǔn)振蕩器以外,沒有其它的模擬元件。雖然其它可用的數(shù)字PLL,包括那些采用加/減計(jì)數(shù)器的數(shù)字PLL,但本文這個更簡單也更靈活。
本文引用地址:http://butianyuan.cn/article/186167.htm此電路最早在30多年前用作時鐘再生器,用于磁記錄中自帶時鐘碼(如曼徹斯特碼或雙相碼)的數(shù)據(jù)分隔器。很快人們就明白了它有很多其它應(yīng)用。該電路亦可以作為伺服控制器的基礎(chǔ),用于磁帶驅(qū)動器的走帶輪電機(jī)/轉(zhuǎn)速計(jì)。LSI磁盤/磁帶控制芯片同時包括了數(shù)據(jù)分隔器和走帶輪伺服控制器,其優(yōu)點(diǎn)是沒有模擬電路,不需要調(diào)節(jié)。由于它很早以前就已用于批量的產(chǎn)品中,因此今天已沒有專利問題,可以免費(fèi)使用。
圖1中的例子只使用了三只IC,可快速制作出原型電路,解釋也很簡單。74161計(jì)數(shù)器輸出與預(yù)置輸入端之間的連接,構(gòu)成了一個實(shí)現(xiàn)查詢表的基本ROM(表1)。16XREF應(yīng)是一個方波,或至少不是一個窄脈沖,因?yàn)楸仨毧紤]在上升沿和下降沿以及設(shè)置時間出現(xiàn)的情況。INPUT脈沖必須足夠長,以滿足為7474 D觸發(fā)器所挑選邏輯系列器件對時鐘脈沖寬度的要求。
圖1 計(jì)數(shù)器裝入自己的數(shù)據(jù)輸入,從而產(chǎn)生一個鎖定到輸入信號的輸出。
在原型測試時,使INPUT大約為16XREF頻率的1/16,當(dāng)緩慢改變INPUT頻率時,查看輸出。使用一臺能夠精細(xì)調(diào)節(jié)INPUT的信號發(fā)生器,測量1/16 XREF源的略偏上和偏下處的鎖定范圍。抖動等于16XREF的時鐘周期,但當(dāng)INPUT變化為±20%或更多時,輸出會保持鎖定住INPUT。當(dāng)頻率互相接近時,可以臨時斷開計(jì)數(shù)器的Pin 9,觀察輸出滑過INPUT。重新連接Pin 9可證明鎖定動作。當(dāng)INPUT是16XREF的精確1/16時,輸出為方波,當(dāng)高于或低于中心頻率時,輸出會成為長方形。
表1 最小計(jì)數(shù)器預(yù)置
運(yùn)行時,計(jì)數(shù)器連續(xù)計(jì)數(shù),但I(xiàn)NPUT信號的每個上升沿都會在計(jì)數(shù)器產(chǎn)生一個預(yù)置脈沖。從表1的計(jì)數(shù)與預(yù)置值,可以推測出,每當(dāng)計(jì)數(shù)器得到一個預(yù)置脈沖,計(jì)數(shù)就會更接近于7或8。如果它已經(jīng)是7或8,則就會保持不變。伺服循環(huán)誤差信號是在預(yù)置信號到達(dá)的時刻,計(jì)數(shù)器當(dāng)前狀態(tài)與7或8之間的差。這個簡單例子使用了計(jì)數(shù)值,將用于預(yù)置的誤差信號減半。
如果INPUT信號是基準(zhǔn)的精確1/16,但起始的相位差180°,則第一個預(yù)置脈沖可能在計(jì)數(shù)器為15時出現(xiàn)。于是,計(jì)數(shù)器預(yù)置為11,從這里恢復(fù)計(jì)數(shù)。在下一個預(yù)置脈沖時,計(jì)數(shù)器為10,預(yù)置到9。接下來的預(yù)置脈沖出現(xiàn)在計(jì)數(shù)為8時,并預(yù)置到8。然后會預(yù)置到7;當(dāng)計(jì)數(shù)器為6下一個預(yù)置脈沖到來時,它再次預(yù)置為7,現(xiàn)在就同步了。預(yù)置脈沖恰于計(jì)數(shù)器的最高有效位從0變1時到來,這也是INPUT信號正在做的動作。
如果INPUT信號略慢于基準(zhǔn)的1/16,則當(dāng)計(jì)數(shù)器計(jì)到超過8時(如到12),預(yù)置脈沖到來。它將預(yù)置值設(shè)為10。但由于INPUT信號太慢,當(dāng)下個預(yù)置脈沖到來時,計(jì)數(shù)器再次回到12。電路仍然鎖定,但MSB會延長以適配于較慢的INPUT信號。對于快于1/16基準(zhǔn)的INPUT信號,相同過程維持著鎖定,但MSB信號的周期縮小,以維持鎖定。
如果INPUT過慢,計(jì)數(shù)器超過了15并返回到0,或在預(yù)置發(fā)生以前就超出,則發(fā)生失鎖情況。如果在下一個預(yù)置脈沖到來以前,計(jì)數(shù)器甚至不能計(jì)數(shù)到0,也很可能會失鎖。電路可以鎖定在16X基準(zhǔn)的倍數(shù)或約數(shù)上。
可以對鎖定特性作一些調(diào)整,增加更多的計(jì)數(shù)器位,在計(jì)數(shù)器輸出端與預(yù)置的輸入端之間放一個ROM,減少抖動(圖2和圖3)。例如,使用一只PROM,可以將誤差除以3或4,增加鎖定區(qū)間。另外,還可以用一只PROM,將誤差信號減1或減2,而不是將誤差除以2。這種方法可明顯收窄鎖定區(qū)間。PROM的多余輸出線(不用于計(jì)數(shù)器預(yù)置)還可以用于其它功能。
由于計(jì)數(shù)器的預(yù)置脈沖出現(xiàn)于有誤差信號的那個時刻,因此可以在PROM里寫更多的位,鎖存供其它應(yīng)用使用的錯誤條件,如指示一個未鎖存的狀態(tài),或指示INPUT頻率相對于基準(zhǔn)信號的高、低或正中。這種方法用于電機(jī)控制器時,可以指出電機(jī)的負(fù)載是輕、中等還是重。對于其它應(yīng)用,可以編寫第二個并行PROM,將采樣送給一個DAC而生成一個正弦波,或?yàn)橐粋€電源轉(zhuǎn)換器生成一個準(zhǔn)正弦波。
圖2 兩個計(jì)數(shù)器和一個PROM增強(qiáng)了鎖定功能的多用性。
作為走帶輪電機(jī)伺服控制器時,轉(zhuǎn)速計(jì)是給PLL的INPUT,而電機(jī)速度鎖定到晶體的基準(zhǔn)頻率。PROM的一個輸出位(針對電機(jī)PWM信號作了修正)使伺服控制更好地控制占空比。預(yù)置的MSB為0,迫使系統(tǒng)在鎖定情況下,工作在下半地址空間內(nèi)。這種方案空出了PROM的最高輸出線,使之成為電機(jī)控制信號。
圖3 用示波器中上方軌跡的輸入信號作觸發(fā),可以在示波器的下面軌跡看到被鎖定的輸出信號抖動。
使用一個8 bit計(jì)數(shù)器和一個256×8-bit PROM,可提供很多空間和選項(xiàng),以優(yōu)化電機(jī)在各種變化負(fù)載狀況下的性能。對PROM最高線的編程決定了在計(jì)數(shù)器周期中,電機(jī)PWM信號開和關(guān)的位置。如果電機(jī)負(fù)載大,則它會降速,使計(jì)數(shù)器計(jì)數(shù)更長,較大于預(yù)置發(fā)生前。當(dāng)計(jì)數(shù)器計(jì)數(shù)較高時,電機(jī)位保持有效的時間更久,增加了PWM信號的占空比,對重載作出補(bǔ)償。伺服的中點(diǎn)是63/64,將鎖定操作保持在下半地址空間內(nèi)。因此,上半地址空間只用于電機(jī)起動時,所以,每當(dāng)計(jì)數(shù)器是在這個高數(shù)時,就將PROM的電機(jī)PWM位寫為“on”,可以提供額外的起動轉(zhuǎn)矩。
寫入ROM還可以控制鎖定區(qū)間,或回路增益,以適配于負(fù)載的變化;還可以修改占空比以配合電機(jī)的轉(zhuǎn)矩特性;并且還可以控制起動轉(zhuǎn)矩。
評論