Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
" ]( _/ l, H- G" U8 M倍頻是否只能用PLL的方法?
9 g7 F' K7 E+ |* m( g( v! T6 v# ]最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
" _- i6 O" p2 p, d' O5 qeffort會有多大呀....有沒有一個概念的數字: j, a3 t" X5 P' z' q, q
另外...如果input的頻率很低(60Hz..)...; D8 b: }1 D& m
cpld還是有可能做到嗎...& D! Q3 h! l! n* n/ I& R8 v- i; n4 l
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
2 Y3 z. R: T; b1 Y# b) a& T# C$ ?, j3 {$ n8 f7 t* I" W* {* x
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
' g; Y; J, {1 j+ k% n
3 R0 y, z6 D' m+ o& f( |2 U) n輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...# x1 ?, k" d! R7 O/ a8 F) [% n
是要用panel裡面t-com的v-sync來同步led driver...
) t1 T! d2 l, ?( `$ V3 M5 @所以不是clock generater的function..+ Y0 `& u( ?# o* H! _
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
8 j$ ]9 P# v2 @& z6 A6 f我的function如下..
; }0 E. c+ D$ |% w/ z6 @5 F用60hz的frequency去產生2.457Mhz 的frequency...
/ O6 z  a+ z1 W! q/ d$ [. Y) u* P2.457Mhz是要給LED driver當clock input用的...
0 b) Y3 b' [0 H- ?  q6 R這樣LED driver所產生PWM才可以跟V-sync同步...
7 l, D+ ?3 J1 G$ @+ j現在遇到的問題有下列幾點..
; G* ~5 g8 B& C) v2 _. u; J& a1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..2 k' L. z' I, f+ w* I  }! S' E
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV..., J7 @' t4 ^5 r, D& [
   noise就比1mV還大的多了...
/ O! T# N) W; w% J9 N) n2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
2 r/ _7 m1 X5 v7 z   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)
2 [. O5 j; k" V* r7 B   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚.." g9 _% ^6 u: W5 D: X; J. y

, t4 B& G+ O" A- w6 x# J' C9 V; V; `不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:& J" {6 ?% t8 F! B5 w
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver( T' M0 B# L9 b8 R6 ~6 X
最後所產生的pwm還是跟v-sync不同步啦...3 V$ B& q8 ~4 a" K( z
所以現在改變做法...
1 c5 O1 o1 r6 F- ]直接用60hz產生600hz的pwm...- q6 J7 A. {$ z' n5 |+ Q% g
duty就一直去sample  led  driver的pwm就可以了..
; {$ Y) k& }" z. q7 \目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..( K( u; `+ t" @1 q
1 p4 K! }/ i2 A: s: G# @1 \% O
感謝各位先進的幫忙呀
) ?/ {% `4 f& Q# _; A# O! G8 N. c  N( J
另外...想做一個shift的function..7 x# `6 t# E. n: G, f
led  driver的pwm進來...送出去的pwm要shift 60度或120度..
. L7 k; |3 i9 L8 t是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,$ |. ^8 n4 l# p4 s" ^4 b& m5 \+ z
利用 74297 的電路來參考 60Hz 或許可以;
! H4 m; k; l1 o* RDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 $ N$ ^* M8 W1 s4 x2 D; e& B! X
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

+ h/ A( \! M# J4 L8 L" U( K5 p; ]7 L
4 ]0 C( h) E  P6 X2 f" B
想法是這樣沒錯啦..: Z6 R. t: g' s0 K1 ^0 [
以2.457MHz的clock來說...
8 Q- C: E" S1 e: b4 T# j7 a你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
" J6 u) n' t. T0 C5 Z7 [" l" J" g0 ^shift-->one counter6 s+ @) t2 N0 ~, ?! B* s3 [
memory high-->one counter2 v6 q/ r/ y& l" `  ~
memory low-->one counter0 p: M" k; _, A# R( F5 H  b
我目前是要用到四個counter...
4 N1 z  S8 a9 z/ m1 ~1 k1 O! p不過這樣做起來感覺很不好...& d' G. i; }* P8 q  Q

8 ]7 r* B$ X% a- {9 q" X1 d而R G B各要一組shift..* `' L& Y5 z9 D: ~% A
128microcell已經被我寫爆了...唉.... ' ?/ o; i1 T0 k! }7 Z

4 [/ v5 r# l0 ^/ E0 f5 I4 m1 n其實光是寫同步的的code...128microcell就已經被我寫爆了呀6 X7 o6 Z# A8 z& s
(目前是用lattice的 iM4A5 128/64)
6 ^0 ~. |6 T+ [; s7 a4 |3 W2 I3 [, G" g
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
0 Q4 R$ P3 g  b4 y你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
6 O2 e8 w$ B: C0 w% a* Y要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
+ H: V. U' c) B3 \也...回到你回的問題...) T8 C4 J+ g& s% S$ f
要做phase shift可不用改到duty cycle啊...

3 ^, c2 _6 A: r. k; j" y0 }
0 y/ o# A( t: G* }/ s, r
7 n% m7 K) k) Z- v) F- y其實我shift要做....duty 也要改..4 C/ l  _3 J: P5 S
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?/ P, Y9 ^8 M- v/ h, R6 ?
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3( Q9 k" d& Q# P$ l; Q
output也要三組RGB 12bitx33 X  y; e8 K4 @* n
同步需要一組12bit counter
$ r8 r  a+ z8 X4 K+ x% \& t/ \( S  F. c" A/ w( P( y: |* e
其實我用到的reg..大概就要180個了
( }0 k. s" c$ P6 \' w所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...3 j( u1 ]& b( w% k  Z
2 V  j1 E$ a  i+ D* {7 z9 F/ r0 g
你有HSYNC可用嗎? MODE 有固定嗎 ?
# h0 _( r. o1 J$ K5 Q3 d有的話至少已經上 KHz+ }* x3 H+ n% [0 @
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 3 ^1 v  }0 I+ W
問一下下...) s2 h! k  r' E; Y3 K" `' X

- N" B& e$ T" U- E* f你有HSYNC可用嗎? MODE 有固定嗎 ?9 f, b& }+ k& {
有的話至少已經上 KHz
' v8 ^5 \$ p# j7 _/ b/ M而且就倍數來說一定也會跟VSYNC同步吧

5 |5 K& {9 ?2 a! j$ b/ N2 j8 K
1 }& W- R+ G0 |6 S" N  j5 V  w) ~# |7 c  P7 ~
是有H-sync啦...
7 J6 M5 `2 ]: Y3 D不過不能用h-sync來做...0 O3 s: R+ H! v) J, R; n
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-16 07:12 AM , Processed in 0.123015 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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