Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻..... _: b1 D4 M- b: V/ j/ B
倍頻是否只能用PLL的方法?7 u: x* g& j. ^/ q  T6 R. A/ ]: ]  [. n
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...% z1 E+ C9 q2 `2 _) ]
effort會有多大呀....有沒有一個概念的數字+ U  c! K6 I1 {; F0 C1 q
另外...如果input的頻率很低(60Hz..)...0 G: S5 R0 K3 Q( x3 G# X5 I
cpld還是有可能做到嗎...
$ l4 R* o5 U; k( v, b! d/ f因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
3 j9 U" g* P7 a7 r" [: [) C$ v* j; Z* J$ L
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
( H$ W+ ]  X) D4 z8 t: }* a! n: {- E
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...2 s  g- c9 B7 t! B/ e( D
是要用panel裡面t-com的v-sync來同步led driver...& B" V$ B2 V6 e* h1 ~
所以不是clock generater的function..
1 V2 X2 y' n! Z目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....  O5 E6 y0 i+ ?5 G) i
我的function如下..; u- o9 `: S' V3 E
用60hz的frequency去產生2.457Mhz 的frequency...; J& I- p5 ]) B
2.457Mhz是要給LED driver當clock input用的...
8 f# W9 A  n2 w  W# J' Y: N這樣LED driver所產生PWM才可以跟V-sync同步...1 G. q( G; }- i  B. k6 ?, a5 t
現在遇到的問題有下列幾點..! W/ }0 L% S8 ~" J1 y8 a
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..  c7 u0 v! Z0 m: N
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
) h# V! _; q% G  O5 u   noise就比1mV還大的多了... $ m* b( p  Z- t9 n/ @
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
" M# a6 G/ J( C/ y* q/ {6 Q   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)+ e6 p6 ?/ o0 ]5 m
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..! P0 D* M7 k" p# F& ?* B

; Z# f5 l. i" u) C& ?% s0 A5 ]; Q不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:' H  f4 [! W" t
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver) e7 D& T+ X: D
最後所產生的pwm還是跟v-sync不同步啦...
; k0 u3 p: w. |& e2 i) X# H5 ^8 Y, }所以現在改變做法...
/ w! O2 L$ z4 N3 X直接用60hz產生600hz的pwm...+ G+ j0 X- h- U' U8 ^$ X, p
duty就一直去sample  led  driver的pwm就可以了..
6 ]6 r0 x. \; z( }8 }0 ~. x( W目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..
" ^4 q9 O( C, c, ~* k7 e
( Q5 Q6 b& l! C感謝各位先進的幫忙呀
) x7 G' a1 |  \# i+ V
! Z* N7 M- W3 k# p4 D$ {另外...想做一個shift的function..$ ^9 u# Y% C1 h+ f3 x' X3 \- O
led  driver的pwm進來...送出去的pwm要shift 60度或120度..& X; i+ x% }. `5 [7 M; G+ Q- [! j+ k6 V
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,. F, z3 n4 g: a9 P
利用 74297 的電路來參考 60Hz 或許可以;! q! B& [0 [) y5 G$ d
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 # Y# K7 E5 E. c! a% ]1 Z- S
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
" p9 x. }' _& o. M) h/ K

9 }; {, ]5 c% g/ S
2 @( W9 }: {7 O0 j6 E想法是這樣沒錯啦..
0 ?( X$ c; H. w, r8 n6 s以2.457MHz的clock來說...
2 `% \! U9 F" A, F+ v你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
5 O5 [' E8 N/ i2 _; o0 k7 sshift-->one counter$ |$ i; w2 z1 M5 I2 D
memory high-->one counter
  u% v' G0 C% S6 ]: |3 c" Y, Imemory low-->one counter
$ E4 J3 W9 h( b我目前是要用到四個counter...4 F' X1 o! J, A; Y* I% \
不過這樣做起來感覺很不好...& A( b- H8 m$ `
+ R8 |% ^$ I( }, V* X% L
而R G B各要一組shift..
! q+ T4 |. R9 N128microcell已經被我寫爆了...唉.... , x) T2 x% z. u- V

/ U  W3 T  F% l3 Q2 @& [其實光是寫同步的的code...128microcell就已經被我寫爆了呀& J; Z: q% f0 E  G6 i; F! s2 p' ^
(目前是用lattice的 iM4A5 128/64)7 l/ d8 w2 Y7 J6 {& L; w. o+ a& A

5 J$ S4 M, J, g9 }( }4 A所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...7 x7 A% D9 A% N
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...# W1 ^8 C. ^9 S) x3 B0 Z
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
) x  z; q: R+ H' Q# B% ~& U也...回到你回的問題...
2 X% N% V' ]7 U% ]/ V2 l要做phase shift可不用改到duty cycle啊...

, y/ L1 |* c0 ]6 p
7 Z5 A  B; G9 p; }  `9 I
. E4 Y: T0 d' X0 \% M+ T其實我shift要做....duty 也要改..& O  U! I' v: `- l  \
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?0 c+ A$ o) R( ~) x5 ~/ l, [+ w
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3% t8 W5 q; z5 [5 N3 G
output也要三組RGB 12bitx3# w3 m3 _. ~3 d$ [% ]( w/ a
同步需要一組12bit counter
  @8 F1 c  F0 X( C( Z; J3 ]( E: Y( v8 J9 k/ N1 k" i, s
其實我用到的reg..大概就要180個了
! y# d. i6 w  h6 @' n所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
& @9 B& ]" b+ |- b; `% A$ s2 D2 u* R1 ?2 P
你有HSYNC可用嗎? MODE 有固定嗎 ?
. h8 q5 M' \) d% \. W7 V有的話至少已經上 KHz
8 q4 A' j( L9 v4 r, f1 {而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 : @" B0 f3 I4 y7 r5 u
問一下下...
6 i4 A" o1 b  y7 v9 x! a2 }5 U. S1 S  K
你有HSYNC可用嗎? MODE 有固定嗎 ?
1 m( ^# T# I9 K! B有的話至少已經上 KHz2 ^& h, N" Q( y6 z
而且就倍數來說一定也會跟VSYNC同步吧

4 l- U1 Q* B% v$ m  u: H
# U: c  ~, B- X$ w$ g+ V8 X$ f6 L+ r/ P: g4 o9 ]2 B
是有H-sync啦...3 T% |& n$ Z# @" U2 ~
不過不能用h-sync來做...
3 Z/ t) E9 l$ ?$ B因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-6 07:43 PM , Processed in 0.123007 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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