大家在參加IC相關(guān)工作筆試或者面試的時(shí)候,經(jīng)常會(huì)碰到類似的題目:
怎樣用D觸發(fā)器、與或非門組成二分頻電路?
用D觸發(fā)器實(shí)現(xiàn)3倍分頻的Verilog描述?
任意切換1-8分頻,且無論奇分頻還是偶分頻,占空比均為50%,寫出verilog代碼;
時(shí)鐘分頻電路(分頻器)在IC設(shè)計(jì)中經(jīng)常會(huì)用到,其目的是產(chǎn)生不同頻率的時(shí)鐘,滿足系統(tǒng)的需要。 比如一個(gè)系統(tǒng),常規(guī)操作都是在1GHz時(shí)鐘下完成,突然要執(zhí)行一個(gè)操作涉及到模擬電路,所需時(shí)間是us量級(jí)的,顯然用1GHz(周期是1ns)的時(shí)鐘進(jìn)行操作是不合適的。
時(shí)鐘分頻器電路可以分為數(shù)字分頻器、模擬分頻器和射頻分頻器等。 數(shù)字分頻器通過一個(gè)計(jì)數(shù)器來進(jìn)行分頻,權(quán)值為分頻系數(shù)。 模擬分頻器就是一個(gè)頻率分配器,用帶阻帶通實(shí)現(xiàn)。 射頻分頻器也是濾波器原理,用帶內(nèi)外衰減,阻抗匹配實(shí)現(xiàn)。
這篇文章IC君就跟大家聊一聊數(shù)字分頻器。 對(duì)于精度不高的場合,數(shù)字分頻器分出的時(shí)鐘就可以滿足要求。 常用到數(shù)字分頻器有2,4,6,8,…… 偶數(shù)分頻,也會(huì)有3,5,7,9…… 奇數(shù)分頻,甚至還會(huì)有8.7,11.2,6.432,…… 分?jǐn)?shù)分頻。
偶數(shù)分頻是最容易掌握的,奇數(shù)分頻就有些技巧,如果你不知道奇數(shù)分頻技巧,就可能會(huì)被一些公司的面試或者考試題目給難住,錯(cuò)失一些機(jī)會(huì)。 而像8.7,11.2,6.432,…… 這種分?jǐn)?shù)分頻器就更需要技巧。 掌握這些通用的技巧就能很快的實(shí)現(xiàn)各種分頻器,滿足系統(tǒng)的需求。 下面IC君就跟大家分別聊一下偶數(shù)分頻、奇數(shù)分頻、分?jǐn)?shù)(小數(shù))分頻器。
1偶數(shù)分頻
偶數(shù)分頻器的實(shí)現(xiàn)簡單,用計(jì)數(shù)器在上升沿或者下降沿計(jì)數(shù),當(dāng)計(jì)數(shù)器的值等于分頻系數(shù)的一半或等于分頻系數(shù)時(shí),信號(hào)翻轉(zhuǎn)。 偶數(shù)分頻器分頻原理如下圖所示:
上圖的的分頻系數(shù)是4,就是4分頻。 電路原理是用一個(gè)上升沿計(jì)數(shù)的計(jì)數(shù)器,每次計(jì)數(shù)到2時(shí)輸出信號(hào)clkout翻轉(zhuǎn)一次,每次計(jì)數(shù)到4時(shí)clkout再翻轉(zhuǎn)一次,一直周期重復(fù)下去。 其他的偶數(shù)分頻器原理也是一樣。 從波形中可以看出cnt
從00->01->10->11->00......一直循環(huán)記數(shù),如果你夠仔細(xì),就可以看出cnt的最高位其實(shí)也是一個(gè)4分頻的時(shí)鐘。
如果偶數(shù)分頻系數(shù)是2的冪,就可以用2分頻器級(jí)聯(lián)得到; 例如4分頻就是兩個(gè)2分頻級(jí)聯(lián),下圖就是用兩個(gè)2分頻器級(jí)聯(lián)得到4分頻器。
2奇數(shù)分頻
奇數(shù)分頻器跟偶數(shù)分頻器一樣,當(dāng)計(jì)數(shù)器的值等于分頻系數(shù)(加1或者減1)的一半或等于分頻系數(shù)時(shí),時(shí)鐘信號(hào)翻轉(zhuǎn)。 奇數(shù)分頻器分頻原理如下圖:
上圖的分頻系數(shù)是3,用一個(gè)計(jì)數(shù)器在上升沿計(jì)數(shù),每次計(jì)數(shù)到1翻轉(zhuǎn)一次,每次計(jì)數(shù)到3再翻轉(zhuǎn)一次,然后周期重復(fù)得到信號(hào)clkp1,它的周期就是clk的3倍,但是它的占空比不是50%(占空比就是clk為高的時(shí)間占整個(gè)時(shí)鐘周期的百分比)。 奇數(shù)分頻想通過計(jì)數(shù)器直接分頻出占空比是50%的時(shí)鐘是不可能的,必須要通過中間的臨時(shí)波形,做一些邏輯“與”“或”的動(dòng)作才能得到占空比50%的分頻時(shí)鐘。
用一個(gè)下降沿的D觸發(fā)器鎖存clkp1得到信號(hào)clkn1,把信號(hào)clkp1和信號(hào)clkn1做邏輯“與”就得到了占空比50%的3分頻時(shí)鐘信號(hào)clkout。
另外一種產(chǎn)生3分頻時(shí)鐘的方法:假設(shè)計(jì)數(shù)器在計(jì)數(shù)到1的下降沿分頻后的時(shí)鐘信號(hào)clkn2翻轉(zhuǎn)一次,計(jì)數(shù)到2的下降沿clkn2再翻轉(zhuǎn)一次,
再利用下圖電路調(diào)整占空比到50%:
用一個(gè)正常的D觸發(fā)器鎖存clkn2得到信號(hào)clkp2, clkn2“或”上clkp2就可以得到占空比50%的3分頻時(shí)鐘信號(hào)clkout。
其他的奇數(shù)分頻器調(diào)整占空比的原理也是相同的。
3分?jǐn)?shù)分頻
分?jǐn)?shù)分頻也叫小數(shù)分頻器,比如8.7分頻。 因?yàn)闆]辦法用計(jì)數(shù)器表示0.7這種數(shù)字,所以就用一個(gè)等效的概念來進(jìn)行8.7分頻,原時(shí)鐘87個(gè)周期的總時(shí)間等于分頻后的時(shí)鐘10個(gè)周期的總時(shí)間;
先做3次8分頻得到時(shí)鐘周期數(shù)是24,再做7次9(8加1)分頻得到時(shí)鐘周期數(shù)63,總共就87個(gè)時(shí)鐘周期; 在這87個(gè)時(shí)鐘周期里面分頻時(shí)鐘跳變20次總共10個(gè)周期。 分?jǐn)?shù)分頻器的原理可以用下圖來概括。
用整數(shù)部分zn(=8)作為一個(gè)分頻系數(shù),zn加1(=9)作為另外一個(gè)分頻系數(shù)組成一個(gè)小數(shù)分頻器。
根據(jù)上面的原理可以列出下面的二元一次方程組
zn*N+(zn+1)*M=87 ......(1)
N+M=10 ...(2)
可以解出N和M的值分別是3和7。
如果分頻系數(shù)6.432,那么有下面的二元一次方程組,zn是6
zn*N+(zn+1)*M=6432 ......(1)
N+M=1000 ......(2)
解出N和M的值分別是568和432,這個(gè)值就很大了,計(jì)數(shù)器的位寬也變大了,也就是說小數(shù)部分位數(shù)越多,需要的計(jì)數(shù)器的位寬越大,消耗的硬件資源越多。 不過568,432,1000這幾個(gè)數(shù)有公約數(shù),可以除以最大公約數(shù),把計(jì)數(shù)數(shù)值減小。
如下圖所示:一個(gè)小數(shù)分頻器就有兩部分組成:ZN和ZN+1為分頻系數(shù)的多路分頻器,還有一個(gè)ACC計(jì)數(shù)器。
分頻器在輸入信號(hào)enout=0的時(shí)候是ZN分頻;
分頻器在輸入信號(hào)enout=1的時(shí)候是ZN+1分頻;
ACC計(jì)數(shù)器的作用對(duì)ZN分頻和ZN+1分頻的次數(shù)計(jì)數(shù),對(duì)于一位小數(shù)計(jì)數(shù)總次數(shù)為10(兩位小數(shù)為100...),輸出信號(hào)enout決定下次是ZN分頻還是ZN+1分頻。
由于篇幅關(guān)系,小數(shù)分頻器的具體電路設(shè)計(jì)就留到下一篇文章講。
-
分頻器
+關(guān)注
關(guān)注
43文章
447瀏覽量
49874 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110074 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131446 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61131 -
分頻電路
+關(guān)注
關(guān)注
7文章
45瀏覽量
35933
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論