作者cpt (post blue)
看板Electronics
標題Re: [問題] 50% duty cycle
時間Sun Mar 18 15:59:19 2007
※ 引述《a00kuso (我十年前是美少年)》之銘言:
: 標題: [問題] 50% duty cycle
: 時間: Sun Mar 18 08:41:06 2007
:
:
: 請問一下大家
: 一個duty cycle不是50%的週期信號怎麼把他變成50% duty cycle的clock呢?
:
: interview被問到的
: 可是因為專長不是digital design所以不知道怎麼答
:
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 76.102.98.133
: 推 akiottm:把那個週期信號接到 T flip-flops的CK,輸出就是50% 03/18 08:56
: 推 BuBuChen:pulsewidth control loop? 03/18 10:30
: 推 zxvc:請問樓上,CK是指clock嗎?如果是這樣的話,我覺得這樣產生的 03/18 10:19
: → zxvc:clock的頻率會降成一半。 03/18 10:31
: → zxvc:我是問一樓的 XD 03/18 10:32
: 推 pow:的確是clock divider耶 google 有 03/18 10:35
: 推 CuckooBoy:反問一下,請問50%的duty cycle,加什麼可以改變duty的%數 03/18 11:51
: 推 CuckooBoy:原po問題,加counter可以嗎?數到50%就1變0或0變1?? 03/18 11:57
: 推 pow:你是在假設有一個一百倍快的clock available嗎...... 03/18 12:36
: 推 CuckooBoy:哈!是呀~ 03/18 14:00
: 推 akiottm:頻率是會/2啦...老師沒有說輸出頻率要跟輸入一樣啊~ 03/18 14:10
: → akiottm:我想digital design的interview應該不會問到PLL之類概念吧 03/18 14:15
: → akiottm:不然用數位電路去控制charge pump跟varactor充放電應可行 03/18 14:16
其實這個問題還蠻有趣的耶
給一個 arbitrary duty cycle clock
如何產另一個同頻率的 arbitrary duty cycle clock?
剛 check 了一下, 用一個相當簡單的電路其實就可以完成
CK_in --> ff -------> arbitrary delay ---> XOR --> CK_out
| ^
|----------------------------|
ff 算是一個 clock divider
頻率變一半的 clock 經過 delay line
再和沒經過 delay 的 clock 一起丟進 XOR
CK_out 頻率會跟 CK_in 一樣
如果 delay 剛好等於週期的一半, duty cycle 就會是 50%
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.131.17.151
→ gpentacene:那delay要如何以數位電路實現?謝謝回答。 03/18 16:24
→ goukiman:我實在不懂這篇m的意義在哪 delay剛好一半 根本是白說 03/18 16:29
→ cpt:接一串inverter, 用switch控制個別inverter開關 03/18 16:28
→ cpt:差別在於, 就算input clock duty cycle不是50% 03/18 16:31
推 goukiman:那你怎麼決定你delay的解析度阿 03/18 16:32
→ cpt:也可以得到50%的output. 想要其他的duty cycle output 03/18 16:32
→ cpt:可以用binary weighting, 用1x 2x 4x..inverter string 03/18 16:33
→ goukiman:除頻器出來 本身就是DUTY CYCLE 50%的 根本不用加後面的 03/18 16:34
→ cpt:但頻頻率變一半了, 加後面的頻率才會乘回來 03/18 16:34
→ goukiman:你那是剛好INV的DELAY剛好是你要的 你要怎麼調到剛好 03/18 16:34
→ cpt:這是個好問題, 一個方法是binary weighting解析度用高一點 03/18 16:36
→ cpt:再用real time adaptive control 03/18 16:37
→ cpt:不過這須要另外再做一個duty cycle detector就是了 03/18 16:38
推 goukiman:那也不是方法阿 你的最小DELAY要夠小 還要有回授機制去 03/18 16:37
→ goukiman:鎖 03/18 16:39
→ cpt:怎樣小才夠小, 要看你對duty cycle解析度的要求 03/18 16:40
→ goukiman:你講的是數位的作法 那種根本不可能剛好50% 03/18 16:40
→ cpt:真的要講下去的話, 本來就沒有"剛好"這種東西.. 03/18 16:42
推 goukiman:我講的剛好不是哲學上的剛好 不然你告訴我 03/18 16:42
→ goukiman:如果你解析度不夠 那是不是SWITCH一直再開開關關 根本不 03/18 16:43
→ goukiman:會鎖 03/18 16:44
推 cpt:ok, 解析度有兩個, 一個是 delay line, 一個是 detector 03/18 16:47
→ cpt:只要兩者的解析度一樣, 就不會有 oscillation 03/18 16:47
推 goukiman:如果要用數位的 你一定要決定如何讓它停止收尋 03/18 16:49
→ goukiman:或應該說 找到最接近的 數位的一定有誤差 不過可以很 03/18 16:50
→ goukiman:快的找到最接近的 03/18 16:51