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