Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....# P0 ?* \& O9 ?( `
倍頻是否只能用PLL的方法?" d' b4 d4 l0 {$ Z9 q$ C
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
: B" a0 o, [. Ieffort會有多大呀....有沒有一個概念的數字
7 L/ Y! a6 g2 H# L) |% H+ I0 V: |9 X另外...如果input的頻率很低(60Hz..)...% N- m0 A5 |2 L) g3 M8 g3 @
cpld還是有可能做到嗎...+ W6 W  E+ C% j$ i
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
/ v5 @! M6 L. B/ f; f& D
, _$ s8 ^$ N9 Q+ v) }- c! ][ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事., @9 {# \& W6 H. d  s- i

( W9 p$ a9 w5 o' w8 b# j$ ?: X輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
7 s* Q0 Q8 }# V' j- R  q# j3 }是要用panel裡面t-com的v-sync來同步led driver...
( i/ o0 v) ]: I! Z所以不是clock generater的function..
  T/ B, K8 `0 ]1 B目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
6 I( n4 J1 V+ T  s  M9 H我的function如下..
" X' o. i% L  K9 F0 Z用60hz的frequency去產生2.457Mhz 的frequency...
1 c" a. p! R# _1 K) p2.457Mhz是要給LED driver當clock input用的...
7 q$ j2 V0 _$ O( x) a4 B; g這樣LED driver所產生PWM才可以跟V-sync同步...9 v5 y' x5 x" |0 q  N2 @! z
現在遇到的問題有下列幾點..
# @7 x) p# i' L& U5 Y1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
% \" q/ \" Q: M. u   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...7 V( V5 L+ e) i) Y8 }6 w
   noise就比1mV還大的多了...
% D0 S5 v& P9 k& J: j2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)! a/ Q: \4 z  V2 G2 s
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)
7 t# l4 w" b: o0 U   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..# J1 R1 ]/ \; V6 I3 \
* X: g- A' ]/ U5 Y1 P0 }7 f/ i
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
7 o1 _" J. C+ s) b7 \; c& J7 G5 f將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver9 H5 x' q3 P7 K9 u
最後所產生的pwm還是跟v-sync不同步啦.../ m$ V8 ]% V, a$ u  ]8 S/ P
所以現在改變做法..., K" d; x; E: m9 U( L8 N) u
直接用60hz產生600hz的pwm...
1 x5 w2 y  u  S  k) j9 f" Jduty就一直去sample  led  driver的pwm就可以了..
9 o7 c9 `+ b0 f0 @/ _目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..- n2 J% B6 d1 `( B+ o& d
5 k" c& K2 @/ X( a4 e6 s9 g
感謝各位先進的幫忙呀
6 A3 T7 [3 F4 k, f; _/ R/ k" m, ^9 X- ^" ?: V  @8 ]1 m1 }
另外...想做一個shift的function..7 d* s: `4 `; o8 e* P' s
led  driver的pwm進來...送出去的pwm要shift 60度或120度..' @$ D7 J3 _/ J: S, X
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,
6 j3 i2 L  o7 M4 `$ ]利用 74297 的電路來參考 60Hz 或許可以;
% L0 b2 O) m4 \6 u% FDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表
8 Z. [( Q: ~- t如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

6 m& u2 X$ Q3 k8 L* m* u# }5 m" K5 n$ H4 e7 L" v, T6 ?: S: J

2 y* `7 f% k. o; D- z想法是這樣沒錯啦..
# l1 |' s, d, v以2.457MHz的clock來說...
; k5 a# J( ?% G0 P4 F7 W你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
& b$ _8 D6 e) B2 e  v! ^shift-->one counter+ Y" q, y" W1 ?2 [, j. A
memory high-->one counter2 H: |) B7 O+ _" o# N/ w
memory low-->one counter; R5 L9 e  \/ G2 {& k
我目前是要用到四個counter...2 `) ~' t) K# t4 J% Q) h! f
不過這樣做起來感覺很不好...
* z) d. k. l2 _4 X# F# X7 H' b7 V! [1 c2 y7 Y" O
而R G B各要一組shift..
7 b  a& i, c3 k128microcell已經被我寫爆了...唉....
# r& e, q; y  _7 u
9 \. ^8 T) V% j1 p# |其實光是寫同步的的code...128microcell就已經被我寫爆了呀
6 `$ l0 F; a! ]5 X: n- l(目前是用lattice的 iM4A5 128/64)9 P( C/ r! C5 M6 B! ^6 Q( F. q

( J/ p2 H' Z5 n$ w% y所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
8 a. M, s9 Y2 _: r你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...) W5 [- B+ ]' U9 `
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
  e0 A' ?# u2 U1 a也...回到你回的問題...: h! Z2 [) n. O7 i& b
要做phase shift可不用改到duty cycle啊...
# p3 w! ^+ z) q

& W- J+ L: L  L3 D1 g5 n- L7 @4 V1 E4 d0 D. G
其實我shift要做....duty 也要改..
+ E! }9 {" D* \8 l2 `* h所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?/ a  \7 O- ^6 |' O
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
- G0 N( N" z9 U! v# V/ Youtput也要三組RGB 12bitx3
8 P( v: k5 |& F- N: J 同步需要一組12bit counter
9 b" [6 ^4 k7 \; J! K" s1 b$ x) w  Z. U* s  {- J
其實我用到的reg..大概就要180個了
  w" E+ H( Z& {# E* D2 j* H& w9 i* s所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...; a1 {0 S& M5 R1 Q
5 X6 f/ ]; y% E4 a3 }, f( ]
你有HSYNC可用嗎? MODE 有固定嗎 ?- g! e# P/ z2 i: }% ?% O. o
有的話至少已經上 KHz3 A' x* h+ f  R( O( s
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 ( _$ h3 i! U3 N- `+ H4 |
問一下下...
9 f/ b5 B# }, ^  J; A6 I# d* b# ]5 Z! e2 I) q, w, ]
你有HSYNC可用嗎? MODE 有固定嗎 ?8 T5 e) X$ X1 }1 s) e. r
有的話至少已經上 KHz. z+ }# Q9 V8 }9 p/ m
而且就倍數來說一定也會跟VSYNC同步吧
2 r/ I$ e% }8 k; @" o# m/ m

  \/ v1 {; _1 G" ^% b* w2 N7 T+ E6 b  u, V. K& x& T4 M
是有H-sync啦...
2 o# F7 K- Q" [  u不過不能用h-sync來做...
: }8 j) D8 d9 ?) p7 Q因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-6 12:31 AM , Processed in 0.149519 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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