Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....$ h, F( ]1 R: {6 s/ T% {& K. d
倍頻是否只能用PLL的方法?& ]0 G0 o4 j8 f2 s2 m' j9 H7 {6 F" S
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
/ y, b2 H) p; _+ s  m: Oeffort會有多大呀....有沒有一個概念的數字" x- Y0 N% [$ r6 `+ U
另外...如果input的頻率很低(60Hz..)...
- h) N% S- O) I1 v" _2 _cpld還是有可能做到嗎...  H# @* h1 g+ A; k
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻) Q  b0 B0 A  k8 N* M+ ?% B" e; ^
' S5 Y; E3 Z$ F9 S' s% i
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
4 r1 [' S4 |) v+ @' w9 E- U' v$ b- e' a! \
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
, t# V; @! D% ^& O是要用panel裡面t-com的v-sync來同步led driver...
/ W# ?) p0 ?6 B5 `3 W# O所以不是clock generater的function..4 m* I% S, F* {7 G! H
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
- r; P* o$ y: y9 s' Z) F我的function如下..
: c( y3 l! x6 I! x0 J9 }( N9 Y用60hz的frequency去產生2.457Mhz 的frequency...# d  f8 a; r- K( }; C
2.457Mhz是要給LED driver當clock input用的...
8 i4 w# V4 s7 B1 z" m! ]這樣LED driver所產生PWM才可以跟V-sync同步...
: [/ E/ H/ E5 l7 f現在遇到的問題有下列幾點..
" \; i' Y+ a* F' s% {0 e2 e8 h1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
5 k- C. ?1 V7 s$ I$ [9 @   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
1 v$ T; C1 ]2 ~# ]9 u" u   noise就比1mV還大的多了...
1 j  f# F5 ~+ N: {7 c# U) r2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
$ S- D$ M  C; ?& F" A$ ]   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)( t! l' a( W9 L2 U- Y
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
) f4 _! x6 b+ v% x4 P) ~! I+ f: v9 h7 Q# N
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
/ g5 i0 q* W. ~" A將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver) v8 `/ ]2 p1 I) E% f( a
最後所產生的pwm還是跟v-sync不同步啦...- P3 {3 z" f+ j( b, H3 L
所以現在改變做法...$ r8 c0 Z/ e, ?0 u1 v! I! a' C& _
直接用60hz產生600hz的pwm...
( {1 x) ?. |7 \6 {* `+ G! i6 a' r. |duty就一直去sample  led  driver的pwm就可以了..+ D  W+ P  C9 l- q/ u
目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..
2 Q  q1 T# \. i3 L5 ^; G; M
/ b2 N! A# O% F感謝各位先進的幫忙呀
. P) @4 j: }# I* U
; f- U3 Z0 I! J! W, y5 Z2 b- h另外...想做一個shift的function..: {. r% O: U' s3 O: w
led  driver的pwm進來...送出去的pwm要shift 60度或120度..1 w/ s) P- u7 A- G/ s! j* K
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,9 g. @" @" q* G! J, o
利用 74297 的電路來參考 60Hz 或許可以;7 \2 _3 h/ I: ~/ q. `6 j; d0 W; I3 C9 `
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表
" W2 k: p9 R2 O. e: i! ], T如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
  ?( R5 d. @5 R$ Z) g
+ h$ D+ T% p' y9 }  S& s& S3 p
0 B9 k& y, i6 L1 U* w8 g
想法是這樣沒錯啦..& k. u7 k' P) f5 S1 g8 [" B& N) ?
以2.457MHz的clock來說...- l8 c$ P" V- d6 r) e) n1 d
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)1 z8 G& y- e& V
shift-->one counter
" p9 h, K5 }2 d! L: r8 s0 }' Wmemory high-->one counter
0 _) g: F5 M+ ~3 c, `  k* y# \memory low-->one counter5 [: l( `! X' o' y  w0 k  i4 F
我目前是要用到四個counter...5 z; `. d% M0 x' R% s% c+ [
不過這樣做起來感覺很不好..., |1 q: d) q: D/ z: S% a
( {# V! H$ e3 L  C
而R G B各要一組shift..% z5 O- G: F$ G# ?' ?
128microcell已經被我寫爆了...唉.... - o; l. k' P# C% U' P/ |
# a0 R9 X0 [# }
其實光是寫同步的的code...128microcell就已經被我寫爆了呀
9 V5 T$ h1 v8 m  j(目前是用lattice的 iM4A5 128/64)
4 K1 a. J" C/ X; Y" t! X% E2 H
' K2 D+ B" F+ Q: [- t7 u$ _: j所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
' R9 z: L- l: k' d你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題.... x% t& ~4 g, W; b0 T% _& p! W
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 + [, ]" U  n9 f* e' Q( |
也...回到你回的問題...) J+ O8 I* v3 @1 n$ o
要做phase shift可不用改到duty cycle啊...

# G7 X1 z; d8 g+ f, y0 n) d0 U7 q! N, c! [

. M$ P0 c1 g1 r8 J, t6 `其實我shift要做....duty 也要改..
% t  A- @: b2 |' i/ E所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?  T/ G6 G& ]* j' u4 W
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
- _- U" p$ J/ Q# {- B  \0 _( \" xoutput也要三組RGB 12bitx3
8 s# o8 _4 M! X: {- v/ N4 E- i 同步需要一組12bit counter: R8 c6 p: U  U  A- K9 B( v5 i
$ w& E. N) U( P% l( m
其實我用到的reg..大概就要180個了0 ~2 p+ Q9 a; n) B( [" E7 V# x$ l
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...7 `$ P' b! }& ^2 G/ `$ p

1 ]0 a) T; d. M你有HSYNC可用嗎? MODE 有固定嗎 ?8 d0 L( Q& ~  V% Y" v& k
有的話至少已經上 KHz
: K" e- j. c: `+ ?! J而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表
8 i( X; n0 m& ]2 i+ ]9 |問一下下...5 I  x# j8 A0 U# o* u

7 a: M0 d$ R  h1 n' c4 m: {/ j; E你有HSYNC可用嗎? MODE 有固定嗎 ?
  _5 e& A; S2 v3 s! G有的話至少已經上 KHz
- A# W, k! p# _% k而且就倍數來說一定也會跟VSYNC同步吧

+ F2 q. O9 z8 q9 ^% z- ~: [) @( Y1 q% b. R- H1 i# [* P( v# \) \: _

, s% `- Z0 V, h7 F0 ~! l* F是有H-sync啦...0 S; F  f# T- W% d5 g" `  \
不過不能用h-sync來做...
9 V$ E  @9 Z& M3 P+ M) D因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-16 02:08 AM , Processed in 0.142518 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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