Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
4 G9 E0 p; q( a1 d倍頻是否只能用PLL的方法?5 t0 E( f/ L9 r& ^8 s
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
3 X% t; ^0 `4 S% G6 ?) P3 V+ heffort會有多大呀....有沒有一個概念的數字
9 g. l% ^8 ^# V7 Q9 Y% {另外...如果input的頻率很低(60Hz..)...! L: a2 j: @4 _$ d
cpld還是有可能做到嗎...% w- L  K! u4 k7 s+ i* V, r
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻, m) M) X8 D0 \# W/ O2 o9 C
8 w" U* o- D* l% ~) Q, _3 C- y/ i' R5 {
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
" S, M' c5 ?6 U5 x0 R( @/ N! Q3 \. S3 J. c
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
/ I+ ]% d4 {# o5 }$ P是要用panel裡面t-com的v-sync來同步led driver...; G9 Q; v- d2 o$ h3 X
所以不是clock generater的function..& s& N' {, y7 k) x
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....4 t( p8 w5 q& F- h
我的function如下..8 X2 l( Y' |+ V$ i2 w
用60hz的frequency去產生2.457Mhz 的frequency...0 h! f( d, N4 b, a, p  u$ y) n
2.457Mhz是要給LED driver當clock input用的...
) B2 s, t  [- i* I9 t這樣LED driver所產生PWM才可以跟V-sync同步...
9 @9 E9 g6 J/ I1 i現在遇到的問題有下列幾點..& t$ d' L$ Y5 U  }+ I! v2 J) H; Y
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
" p# A: m% Y* A  U* y6 A, p- P   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
9 g' Z4 f! q6 p  ?. Y4 v( W. c   noise就比1mV還大的多了... 0 r5 N( q* Y7 E" q
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦), g+ T0 {1 L6 B, e0 z! j
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)4 l. S. ^/ a4 u( y/ ]/ N
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..+ c( O7 _) h6 d) D# v% o/ c$ r9 c" ~
* a, W& m! t5 S, L1 i1 Q
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:# w( g" e; B2 B; b" P
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver
. F  Y4 r- Z% f4 k" G最後所產生的pwm還是跟v-sync不同步啦...& V# f! d8 f1 r* C
所以現在改變做法...  o. r' T$ s$ V1 X  _. |! D
直接用60hz產生600hz的pwm...: ~9 b3 G0 P' `# X: {; O) z
duty就一直去sample  led  driver的pwm就可以了..$ ?1 J; h+ D8 j3 f3 z
目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..4 c9 Z3 U- \9 b0 R6 z4 R7 T

1 [7 g$ J9 u  B; Z% x% X感謝各位先進的幫忙呀& ?5 C8 c8 U% F4 O4 f# g

( G% A4 k% N7 W' T另外...想做一個shift的function..; I4 V* X( b4 n% \
led  driver的pwm進來...送出去的pwm要shift 60度或120度..4 e: b1 m* }5 G  W* j% p
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,3 t  C2 `! Q$ y9 b! ^' L) a; c
利用 74297 的電路來參考 60Hz 或許可以;- D$ i' {, l$ Q+ z, H" O
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 3 D; m2 `; |* y( L( n( ?; b
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
' G  u/ k1 n* J+ m* b
8 B- r, V: Y  P

8 w  K, P- @! q0 w. W) R' o: {% K想法是這樣沒錯啦..3 p/ G4 i( g3 i7 p7 z
以2.457MHz的clock來說...
: {# }( v- a, e4 `, F你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
! c. W2 K3 h% u! Hshift-->one counter2 i- H" ]8 ^: B; X; C. ]: r7 r0 {* a
memory high-->one counter/ d2 ~$ [0 g' G1 b3 E9 j& i& ^* d
memory low-->one counter
* B& P8 y( z0 O9 ?我目前是要用到四個counter...5 i: y* ~8 l: Z+ S; U3 S
不過這樣做起來感覺很不好...
5 y; t6 s5 K$ n! v$ j: W
$ P. z& E# F, `, I  z9 h% A/ V而R G B各要一組shift..
4 h: d2 i: n" n  b128microcell已經被我寫爆了...唉.... . Y+ ^6 M: N- [2 Y6 i9 r8 _
# A- s( c$ N7 r" L
其實光是寫同步的的code...128microcell就已經被我寫爆了呀
8 E. |" N3 S! `! x- Y' _2 ](目前是用lattice的 iM4A5 128/64)
* o1 z% X9 e! S  S7 F: v+ e0 q0 Z. ^5 O9 [5 ~. d$ C) r3 _7 \
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
) S# ]3 [1 L; T/ L  x! }3 L你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
( g4 f5 Y8 j! R& P要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
( o! g- K0 ^4 G" w$ `5 l2 `! B也...回到你回的問題...
% x) u/ \- i2 O- U6 p要做phase shift可不用改到duty cycle啊...

, z, D+ F2 R; d' C5 D0 w+ d. E2 o; T, i
6 w6 V4 u- A& @" h+ g
其實我shift要做....duty 也要改..
; T! {* f0 L+ p所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
2 ~' v6 A2 e, d- P' |" @6 I/ M也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3! d4 P0 J9 g% Y! a
output也要三組RGB 12bitx3
. M  r! D( Y0 Y! e& o  g. T9 a 同步需要一組12bit counter- g% T$ Z  J5 S2 Y7 j

- E2 A- a8 Z2 _. b8 `* M其實我用到的reg..大概就要180個了
; ^2 k, \! l, Q- U* _, G0 M$ T8 [! N% m所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
. w5 }2 O* f- v- O- G" b6 U1 F- }2 m7 F" X" N1 S0 e& N
你有HSYNC可用嗎? MODE 有固定嗎 ?6 H9 r% c8 ?, P# ~
有的話至少已經上 KHz8 e9 V2 E" {! f7 t! K
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 , w1 G/ o2 D8 \' i
問一下下...4 h& K( v/ ]% n5 R/ m7 Q

2 Q. n' d# m  H& e! L( ?你有HSYNC可用嗎? MODE 有固定嗎 ?1 O2 [; G. ?$ q
有的話至少已經上 KHz# K3 a3 Q/ d8 U- W4 r9 t3 j) z7 @, T
而且就倍數來說一定也會跟VSYNC同步吧

( v" S! M& ]" e2 {% w! {. L# y! t. K( ~. i; P* ~% u6 N' y

6 @0 Y% F& v* F8 g  t, t是有H-sync啦...2 Q% e* {, P0 _0 e! C# x4 f/ I2 @2 p
不過不能用h-sync來做...& @# ?3 [+ u) c
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-31 11:19 PM , Processed in 0.131517 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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