Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....* |  M* b& m+ X4 N  b6 _. ?
倍頻是否只能用PLL的方法?
, g( u/ N5 A$ E最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
& B9 S- n6 R6 D2 N* Seffort會有多大呀....有沒有一個概念的數字
) k1 s) R* m9 I6 X7 I+ G另外...如果input的頻率很低(60Hz..)...: Z0 c# [2 \5 l( G% I0 `
cpld還是有可能做到嗎...
$ G+ q! g- M) i7 Z0 r$ j0 [( Z4 Y因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻7 I- y' l, _# ]3 d1 ~8 Q6 g
5 P* L# Q7 b4 n" }( H
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
0 _: f, z' k" l  N" x. _/ E: s9 @/ i1 @. p
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
5 T: [- O8 |/ `$ k* i# g是要用panel裡面t-com的v-sync來同步led driver...
* g' c+ k2 S: t9 ~1 A所以不是clock generater的function..8 M2 E* s/ X9 w5 _
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....( W2 m& ?5 i; X2 m4 i0 T' d" h/ P. O
我的function如下..7 e$ Y0 Y5 I4 d4 m, }" e
用60hz的frequency去產生2.457Mhz 的frequency...* p/ S3 ^8 `" {- h# k( t' p4 y
2.457Mhz是要給LED driver當clock input用的...
9 E2 T/ _5 }$ g( r這樣LED driver所產生PWM才可以跟V-sync同步...+ g: [& }- a5 \. s
現在遇到的問題有下列幾點..
% K, i( n% `: }( J, O9 _! N1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..$ N4 B7 O* J7 }; }' M9 r- R% R
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...1 }) }% c& `: V* r) R
   noise就比1mV還大的多了...
' N1 i% Z6 i7 F; q2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)8 e  m/ t9 j0 N6 M
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)$ `7 \3 B* ^( \8 ], R
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..5 L# H5 R+ q8 A9 w5 N; P
7 w' }) C) {2 K$ I# R" i6 o3 X
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
6 t" Q" R$ @% I0 v" ]/ R9 D將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver! O2 h  Q* t. @, P$ |% M7 u2 A6 O% j
最後所產生的pwm還是跟v-sync不同步啦...( z! D9 T3 n, X+ [
所以現在改變做法...: Z8 l5 k: b9 w9 o3 U6 h. D
直接用60hz產生600hz的pwm...
2 x4 u1 o9 V. Z/ bduty就一直去sample  led  driver的pwm就可以了..
5 R0 r! F* f: W+ D* D目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..9 s. q! {4 I$ X  `1 u8 L
2 D( i/ q( [0 \( \+ e" C
感謝各位先進的幫忙呀
4 s0 V8 R' }" Z  U
5 }+ I! ?4 G& e% g0 a+ v# c# U- g: J另外...想做一個shift的function../ i+ u* f$ M# _8 k; C7 Y1 X, ?
led  driver的pwm進來...送出去的pwm要shift 60度或120度..
: u& w4 C$ W3 T: m5 U# \0 n+ T( E是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,# t# _! V  [% F5 V, C/ R# ~2 r
利用 74297 的電路來參考 60Hz 或許可以;- _# j% G+ N% Q5 t" `
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 3 w0 I; c7 n' u% w! S7 i% W0 j( z
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

, D# r' \/ j0 v* C$ p  o! d) I3 Q

5 b5 P: C3 @0 Z# C$ V0 {想法是這樣沒錯啦..
' s9 T* V8 g1 b1 B以2.457MHz的clock來說...  y7 D6 e- u5 _7 D' C
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
4 @4 f* m; j* {6 @# n7 T0 p& ^shift-->one counter
% e& q6 b/ k# V" h1 \  I6 ^( amemory high-->one counter* `2 ?: C3 T# `- @2 g
memory low-->one counter
# [. f3 j, ?, `; H! ^我目前是要用到四個counter...
3 r% j3 [8 ^0 V. O不過這樣做起來感覺很不好...0 V( i: P. T& H. e0 p# s
# s' c+ Q& n- f3 E  N
而R G B各要一組shift..
' U2 [/ I8 d  V  q6 J7 C5 A4 U- j128microcell已經被我寫爆了...唉.... 2 \$ l; a2 w% h+ U; ]* I

, e( P; W6 K& K$ f; R1 V/ r其實光是寫同步的的code...128microcell就已經被我寫爆了呀
  Z4 Z: p6 B: }3 \; \) c! n(目前是用lattice的 iM4A5 128/64)8 [$ C; k$ L" V3 y$ Q
) Z9 E1 V& _* [6 g( d
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...0 O& d& ~. R: }& z3 u
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...2 U' d5 I7 n9 ~6 x" m3 F" s( {" U
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 ! N' O6 A" o  j* G
也...回到你回的問題...
: f( C' W- U5 R' N. N, Y! k要做phase shift可不用改到duty cycle啊...

4 E- {0 u% k. C. C0 f
7 n+ t8 g: T( ~8 j, r, l# `, T- a2 p) u  I; a" P- b* a0 m
其實我shift要做....duty 也要改.., |' T. W+ A) n4 n/ Q
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
+ O8 E1 b: M4 {# N( J/ g也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3, K1 y6 w, r7 K9 l2 ^# w( b" s
output也要三組RGB 12bitx3
6 S  [' Z  d( q: ]2 q8 R 同步需要一組12bit counter
& a; r0 \" s1 ^6 u. j. w6 d! c% J
3 X% N. v6 g; u8 L其實我用到的reg..大概就要180個了
3 R8 s" n+ w0 U所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...* x5 W* F. a, }, M( j7 v, a/ ^, ]7 a
9 h' {3 V" h9 t! T/ }: u: I) q7 |
你有HSYNC可用嗎? MODE 有固定嗎 ?# {4 O8 E4 g, q
有的話至少已經上 KHz( b7 u( H; Q. `3 g( a
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表
6 V9 M5 f6 _& R2 _4 G$ W問一下下...9 V) d& a6 }- y
' I) Q8 j% Y3 T
你有HSYNC可用嗎? MODE 有固定嗎 ?
5 m8 T1 b- _! h# H7 ]$ I$ N; m有的話至少已經上 KHz" d6 c# h+ U. A( c% u9 ~, A
而且就倍數來說一定也會跟VSYNC同步吧
9 v) ]& m) W& p) [4 M% O; z+ I
% d4 |- b) a3 ^  b( p

# Y- c) w* T. {是有H-sync啦...
% d* Y- G) i3 u  b! c4 D不過不能用h-sync來做...
" n3 Y' @6 I; B3 I. {因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 10:00 AM , Processed in 0.131017 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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