Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
& _- s# }' {5 b" y) Y$ q倍頻是否只能用PLL的方法?9 V1 N0 E' O, f1 M
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話.... I/ W' g* I8 w4 C# ^; b
effort會有多大呀....有沒有一個概念的數字. g3 j- _) k( n) c7 O$ W* y
另外...如果input的頻率很低(60Hz..)...
6 `6 Q7 {& s/ {cpld還是有可能做到嗎...' Z$ \, p: k& b! D( `3 a6 B/ W
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻: P. i- f  }+ q3 a' O- [% ]) ~+ Q

$ E3 ?% v5 s( x8 _/ ~, e. d4 Q[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事." n! N1 b& R; W3 S+ A/ V" a
' U* h. n' @$ X: g  ?1 m
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
" @! e( g3 A, i& L- H; d是要用panel裡面t-com的v-sync來同步led driver...
: h4 h! M- \1 t  A' _1 B: U所以不是clock generater的function..2 j8 g0 S% n2 K4 D7 \
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
! x6 R: v0 e# B- f: s3 s0 i  Z* a! A我的function如下..
  n% z3 A2 p* Q+ O7 u& r用60hz的frequency去產生2.457Mhz 的frequency...
" G. O5 t1 L# |2.457Mhz是要給LED driver當clock input用的...: e: f, V  |6 u, y; X
這樣LED driver所產生PWM才可以跟V-sync同步...2 Y2 ]3 u  k9 |8 x
現在遇到的問題有下列幾點..
. R) H$ h% K8 B! n' t( F1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..# G$ Q+ O5 b8 C4 Q4 d
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
! M9 |7 V5 Q" B) r7 m7 m% T, U   noise就比1mV還大的多了...
; v! P/ c) |* }* R( x2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)! V( x5 L4 T& ^3 G1 p; D$ \1 R$ o
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)) j- ^% f# `( y' t/ f& i% D
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
9 ^8 p8 w- [5 j+ Q7 V! }% n7 g. e  O6 P
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:& u# `  T6 Q; K- C. l* I. s
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver( `  O! [4 }, K) f" D+ w8 I# P9 l) K
最後所產生的pwm還是跟v-sync不同步啦...! j. T7 D4 ]. c' T0 N
所以現在改變做法.../ p5 z3 ]1 d5 r2 j
直接用60hz產生600hz的pwm...9 C( Z7 Z- I3 c# B
duty就一直去sample  led  driver的pwm就可以了..
6 U9 d1 E7 f6 b, g. I目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..0 {% F- b7 T8 b0 [$ ^6 {8 s
6 q, o/ `' W9 D
感謝各位先進的幫忙呀
8 c4 h* {  B+ J# f0 p
; H! ]4 _) @; c4 [) Q8 A另外...想做一個shift的function..
3 T6 ]; y' j1 `* g% Z( sled  driver的pwm進來...送出去的pwm要shift 60度或120度..
+ n* k& g) O- M% ^+ @是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,* t5 [4 u9 J/ r7 F2 M4 e
利用 74297 的電路來參考 60Hz 或許可以;
2 j9 y% z+ X5 J- D5 O  b& P# eDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 ( y7 i4 p; G2 b2 X& {
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
2 v) |* _; e* G  B  a+ Q. }  U6 ?
) k! c. u' ]9 }- }
; V5 L) R4 u& z( D& o
想法是這樣沒錯啦..4 L/ c) h! }) b
以2.457MHz的clock來說...
  Q# R- `" k" B你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
2 D- n7 s5 r  rshift-->one counter( o6 w/ G# k' R+ R( I0 n
memory high-->one counter
3 p+ H& e* J! }, ememory low-->one counter
$ U% k9 y( ?: c$ Q9 v8 q/ _2 J9 |/ H- w我目前是要用到四個counter...
% U- `9 j2 D; b7 F: ~" N不過這樣做起來感覺很不好...* w; z+ s9 I) \, z: ^

4 @3 L' s" \, v0 m4 b而R G B各要一組shift..
$ c) w# J- u! T8 C128microcell已經被我寫爆了...唉....
7 H. B8 q8 t7 o9 ^, c% K9 f  S+ s: J9 t+ Z: C; W+ I( N
其實光是寫同步的的code...128microcell就已經被我寫爆了呀
5 }5 Q: C, H/ N(目前是用lattice的 iM4A5 128/64)# j1 u0 a4 q" `: N
) @) Z6 B* T) C! ?! T& f( M9 i
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...4 e0 \" y# O7 n& Y% a; j/ M: h# i
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
; ]% L* o6 l  \" L; d. c要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 " }* T% K% @; X" d
也...回到你回的問題...
8 H5 s: d/ X3 U要做phase shift可不用改到duty cycle啊...
+ d8 L6 g2 _) w3 b) B
3 o! L8 \' [/ d$ q
& I7 A( {. c: R4 u
其實我shift要做....duty 也要改..
+ r- _% f7 C; ?8 K/ P. c所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?; W7 w$ Z" _2 ?! N* ]  D
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
  d9 ^' G6 d' e0 uoutput也要三組RGB 12bitx3
% G# F: R) I+ h; w" {' j# t 同步需要一組12bit counter
$ G& ?/ W+ P$ k5 e7 n4 B0 {$ a5 j% W2 E: E& Q$ X$ H+ Q) g( a
其實我用到的reg..大概就要180個了1 U5 K* D1 _1 ^4 v# J% t1 W
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
6 T& W, R7 d4 I  K  j* H
3 Y5 `( G7 g+ ~- f! q) A1 x& g- C你有HSYNC可用嗎? MODE 有固定嗎 ?
* U' c/ N0 \1 U3 E% A有的話至少已經上 KHz
; f0 k" T/ f9 l1 B$ i& g" y4 F而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 1 f. \5 @6 }+ t# J) g5 D
問一下下...
. w1 w9 v! A0 w  R& t; n) ~& _1 r, O  R
你有HSYNC可用嗎? MODE 有固定嗎 ?
9 G3 O! d# t' b- B8 {! u1 {6 T% M有的話至少已經上 KHz
  ^! c, F9 f) i而且就倍數來說一定也會跟VSYNC同步吧

2 [& W8 p0 F1 H  t+ b; Q3 J5 |4 `. U9 s& Y& _# ]1 I9 y

" v- c' S+ J0 K2 X+ [是有H-sync啦...( l2 ?" \5 v$ ~5 n( ~
不過不能用h-sync來做...
+ J& j- t  t+ Y2 P) o因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-5 12:42 AM , Processed in 0.143518 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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