Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....5 t3 L0 N, Z& [/ s1 c, f% ^: @1 X. S
倍頻是否只能用PLL的方法?* ^3 {4 [6 J  ~4 E
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
8 b) @" n% }0 _+ z4 f6 g1 |effort會有多大呀....有沒有一個概念的數字7 N' V; r/ X: `5 q# z
另外...如果input的頻率很低(60Hz..)...
5 Y0 E$ D( z6 Y! q( Ocpld還是有可能做到嗎...
% X/ K4 W5 u  C0 I0 B* _9 n因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻" O1 _+ K7 k! `$ u( `( _  F

, F3 Y+ z. {) R+ `' H& q' z& {5 P[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.3 T7 ^0 b) e. Z
: S, m. X" u8 p( P7 o' U, b8 M- g
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
) ^, V# R# x4 O% N3 {是要用panel裡面t-com的v-sync來同步led driver...
& _3 \& \# ]3 V9 g8 H/ o$ z所以不是clock generater的function..+ k( ^1 h# C  J3 ^! j
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
" J0 ?3 e  W% I# h# L3 y$ D; q" V, d我的function如下..0 I  {  _" k) Q, E8 x+ L
用60hz的frequency去產生2.457Mhz 的frequency...
) o9 {; q3 j2 F* f, u2.457Mhz是要給LED driver當clock input用的...: B. ^" J+ _, S. @: g. C
這樣LED driver所產生PWM才可以跟V-sync同步.../ ]) ^8 }& u) L2 X" [7 L' u+ ~8 W) s
現在遇到的問題有下列幾點..
3 z, U- D3 e2 A' w, P" M+ `1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
* r# k2 Z3 b% ]- R   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...3 b, g# F3 G  S
   noise就比1mV還大的多了...
$ F7 B- c1 x: O2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
4 p' R5 \) T7 o1 C5 a3 m: ^   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)4 t' S' v0 c: ?  B4 P" S  q- p- c5 \
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
* c( p8 s2 x7 |( M/ ^% W4 Q' |& @
1 I3 i% F& w! z/ [; i8 M8 B* f不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:8 x2 ?7 J3 K: A* F4 W. I
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver) ]. u* }6 n$ ]" ?
最後所產生的pwm還是跟v-sync不同步啦...6 P" @% x, x3 j$ L9 S% s' j
所以現在改變做法...- ]! u% J" _/ W6 @7 d) S
直接用60hz產生600hz的pwm...
4 t. ?+ p% N  j, y7 Gduty就一直去sample  led  driver的pwm就可以了..
" o. J2 s1 L1 u. |目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..
* M( ]$ d/ N' n
8 c# P0 o& C7 P- M0 F* q8 D( m感謝各位先進的幫忙呀
9 Y0 n0 I0 z9 k8 o/ n7 G
; P1 h* s. P$ y另外...想做一個shift的function..
7 a- d' J8 K0 ~/ Q. l) fled  driver的pwm進來...送出去的pwm要shift 60度或120度..) d3 G/ q2 x9 E: R3 ]
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,5 W* {0 n( z% q
利用 74297 的電路來參考 60Hz 或許可以;
' @. m0 M2 R" J. NDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 7 Z  o# r  p6 C6 g2 |4 N, `* y7 q3 N6 }
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
& Z* c& u1 p  d, l  e+ o" k

# r5 J( P$ Q- h3 J
; [' `& i" g4 A: P想法是這樣沒錯啦..) k. F. H; U3 H. p
以2.457MHz的clock來說...# K5 h8 m) W8 {; ?/ D
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)& t5 C1 \4 k/ d+ E/ `
shift-->one counter# h3 I2 q+ m7 l8 G
memory high-->one counter4 z6 n4 m* t8 v* W
memory low-->one counter- v% D) J/ y+ i# ]4 L6 j
我目前是要用到四個counter...( e6 K+ ]2 a1 }  E# m- A' A- q) z
不過這樣做起來感覺很不好...
  }  v, i4 k  x  w& Y4 {4 s5 n3 \# w/ A( e0 h& G' y
而R G B各要一組shift..  u8 E, y$ y( e% s& `1 B! W4 E4 V
128microcell已經被我寫爆了...唉....
8 [# |" w' x5 q3 C
9 O( @4 V6 n" Y3 O' ~5 d其實光是寫同步的的code...128microcell就已經被我寫爆了呀
. g5 C4 l" G$ E# i' p(目前是用lattice的 iM4A5 128/64)
0 J# _5 x. n! [7 q; Y" ?
: F8 D( ^% e, _3 o所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...% z# {" z5 v% L4 V. `
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
3 A  G8 }8 Y7 ~要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 / g1 R9 S7 _& P! Q* r
也...回到你回的問題...
. s; j; e' m7 j4 R要做phase shift可不用改到duty cycle啊...
& P( J) }# n$ }

- e7 ~$ @$ f, H9 `- j+ W# q) o9 f# d1 b0 M+ B
其實我shift要做....duty 也要改..7 d8 \2 |3 S8 P8 R4 [1 C
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
! u2 r3 a  \3 N( z/ I也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
( U! ?. ]2 ?# R0 @/ h: ~output也要三組RGB 12bitx34 N! m* x8 c. t& h& c
同步需要一組12bit counter1 F* \" ^6 S  _! m' x

/ M; e( c. l$ k2 R其實我用到的reg..大概就要180個了" l& k& B: G; o1 V7 E4 f1 D
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
5 s( }2 m  V: T8 q: W
; H+ U# K( d$ |) [3 i: n你有HSYNC可用嗎? MODE 有固定嗎 ?
/ G# }- w1 d3 P  [有的話至少已經上 KHz
( S; x0 E) c5 v# i8 _8 X. `而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 / E4 K$ L  I* J5 H2 i" ]& t9 A
問一下下...
) h6 o1 u$ ~0 d, \  T! Q, W1 h* z4 j9 q, h+ |  e5 J' a  ]
你有HSYNC可用嗎? MODE 有固定嗎 ?& `/ M( R% R* u1 h* B8 I( B
有的話至少已經上 KHz
0 e: h6 r/ ?# f: H; M/ d- [而且就倍數來說一定也會跟VSYNC同步吧
, E" b3 u! C1 S0 \5 H" w

( E$ _' ^0 c( T2 q6 `+ Q" t
+ Z5 I1 e& a( q& K  u' d是有H-sync啦...) Z. i& {7 t1 z3 H, c8 ^
不過不能用h-sync來做...
9 k  k+ s! Y. A6 p6 Y因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-21 06:21 AM , Processed in 0.206012 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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