Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 31626|回復: 29
打印 上一主題 下一主題

[問題求助] PLL 的實現方法?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
8 }% u4 N1 x' q  @* c倍頻是否只能用PLL的方法?
" v9 s* Q. t$ d2 ^9 T4 e最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
$ @; o6 c" i: d( weffort會有多大呀....有沒有一個概念的數字3 }  y$ }# l" W
另外...如果input的頻率很低(60Hz..).../ I* x& Q' A  q, K! D; |
cpld還是有可能做到嗎...
" A- j8 `1 Z% M3 u9 q, k6 R1 G4 B& I因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻. B. E* {0 [$ X! ~7 r; W
2 U1 S4 b7 w5 c0 S* W& P7 B" P- p7 v' h
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
4 w# c- j- i& v. O1 w% c
1 O1 L& V. U3 C# U輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...! J, O( ~2 K8 t7 }" S" Z+ s
是要用panel裡面t-com的v-sync來同步led driver...
: r, h0 J; M3 p+ p6 r2 b所以不是clock generater的function..
. C- h# i: Z& M7 t目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....$ k3 m4 e' _& I6 W  }% O
我的function如下../ t  B, h4 S' G0 |9 `  G+ U
用60hz的frequency去產生2.457Mhz 的frequency...3 D: @& _9 x; U+ d6 z8 v
2.457Mhz是要給LED driver當clock input用的...
  v. X# n% H* [1 f$ U這樣LED driver所產生PWM才可以跟V-sync同步...
" k% Q  A4 ~$ H& P現在遇到的問題有下列幾點..' j! H7 a( M9 U+ j0 V0 u+ y
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..+ [8 o3 j$ |; t/ N  p* L7 l
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
! ~+ V4 f% [: |6 j: _   noise就比1mV還大的多了... 9 e; o! S. k% o9 r0 {+ J8 Y
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)( `# L- r% J, e: e. P$ f
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)2 U+ }7 b; B+ G6 s7 n3 V  @1 g
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
/ r9 o' K/ o. a1 s' T, _2 A5 Q# v8 `+ n. u
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:/ C8 L0 C  G7 Y
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver
0 e+ j& e' ^- r最後所產生的pwm還是跟v-sync不同步啦...- A. X3 B' }' {  S- }
所以現在改變做法...
* y6 T- K* X) Q- l直接用60hz產生600hz的pwm...
& N. Q/ u6 \! a! X! `" b1 Aduty就一直去sample  led  driver的pwm就可以了..2 e" y$ G) f, g- F" s" O. y
目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm.., m+ e6 `5 A/ E/ t9 _+ _: f

( o" m0 R0 A! x' g" w感謝各位先進的幫忙呀
  _3 v$ ~  Y# M. E" E% {0 e2 U8 i" M) ~$ x4 N; I% O
另外...想做一個shift的function..- r$ C1 T( U6 t. q- h
led  driver的pwm進來...送出去的pwm要shift 60度或120度..3 V( G; e+ v) C3 G. F3 `. ?
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,
  L; u9 M' F* z2 ^3 z" i利用 74297 的電路來參考 60Hz 或許可以;7 b2 [# s! e9 q  D( M1 ^
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 ' R8 u7 y) G7 S0 D
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

3 y# z" [- U+ `! k+ U, r7 j$ Z7 U/ N0 @) W) y$ \
3 j: x& P/ |3 P# ^
想法是這樣沒錯啦..
0 T! L3 H3 C& w; _/ w% o( C+ I以2.457MHz的clock來說...3 t. p# W/ y) B, H1 r3 k7 I; }
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)/ u; v3 ?! O* ~" h  I
shift-->one counter" F+ A7 H. P' n0 P9 s
memory high-->one counter
: `" i' N, |1 S* }$ K, }- Y4 ^memory low-->one counter: L4 S, q. w) ^
我目前是要用到四個counter...
; W& M# H3 z! v$ X* @; X不過這樣做起來感覺很不好...) V) e$ C1 a6 M: [$ E' Z. F  d
$ ~% K5 |# z9 ~) [! B( N
而R G B各要一組shift..9 E. B& T2 V% k9 Q: D* p
128microcell已經被我寫爆了...唉....
& o4 U4 A2 L1 ~' r! E, x
1 {5 m7 n. R2 d, S其實光是寫同步的的code...128microcell就已經被我寫爆了呀
: q: X6 {5 R2 F2 C, R+ N4 X, K(目前是用lattice的 iM4A5 128/64)
9 `9 j/ _: k2 ]5 d* w4 F, K/ B, J9 ~) X
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...: d9 ^4 {. b* K! r
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
+ V! z2 @$ v7 ^: \要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
; g1 W4 `% w! Z也...回到你回的問題...
) g2 C  @; V9 S/ T( v  g要做phase shift可不用改到duty cycle啊...

, G) d( b4 Q4 \' t5 s+ z+ F) g# p: S/ S0 N' p

: Q7 z' y  r2 r( F6 |其實我shift要做....duty 也要改..
3 I% {$ M3 j* G' k* X; i所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?  }6 A* z$ ]: I7 Y) R
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
0 O3 x% _7 p; q' {output也要三組RGB 12bitx3
, S- j5 P% ^* p  [# q 同步需要一組12bit counter
  [$ A/ S) Q# O, J; R" P0 M& Z7 ^3 P  I/ J% X# h2 {8 G5 m
其實我用到的reg..大概就要180個了
1 M8 b/ w# C/ f& D0 z所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...' o- t' A8 i9 e$ ?! @- \% K
% j0 E" r3 b; b" R  r+ U5 i
你有HSYNC可用嗎? MODE 有固定嗎 ?
  C' l  U% p, m) L9 f% m5 q有的話至少已經上 KHz  E4 ]. Q# \0 O7 E
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 0 _* a4 K' E* J# o
問一下下...0 H& T  v" `& s5 _
" L# y( X0 U5 v8 v0 p6 j
你有HSYNC可用嗎? MODE 有固定嗎 ?
) I* [& o9 m! c有的話至少已經上 KHz
% N2 Z3 e9 H& h2 k# Z1 x$ c而且就倍數來說一定也會跟VSYNC同步吧

% m) E6 S- n) m" `
8 W! F3 E9 Q2 g& O; Y
; I. T; y! \9 O9 r7 M是有H-sync啦...
8 F' k/ G* v% N' S% c不過不能用h-sync來做..." \' T& v8 G8 z" I  N. j9 a
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-23 01:54 AM , Processed in 0.127016 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表