Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
8 K0 W2 ^3 a* {9 j1 D$ P( t倍頻是否只能用PLL的方法?; S, A2 {3 a' W
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...; h& x: Y% z8 U& |# t
effort會有多大呀....有沒有一個概念的數字
' K8 T3 u. y% f/ }  g+ r另外...如果input的頻率很低(60Hz..)...
4 x' e! O" z( fcpld還是有可能做到嗎...; n( [2 t$ ~  i& z
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻9 f* R) K6 R" H7 S- p6 B& r

$ x& h4 \+ q$ m  C[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
7 L& J8 {# h+ e' S  A# u2 B: G$ d7 m4 P. N: _! J
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
- r) U( f* o5 x1 ?! v) s; S是要用panel裡面t-com的v-sync來同步led driver...
; d  Y5 s8 z) V% x! |所以不是clock generater的function..0 c' F% E; @; V* B* C/ j2 j
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....1 i7 u+ @" G4 {; x1 R
我的function如下..
8 K& _& Q9 p$ d3 R. e5 [0 t9 s5 e用60hz的frequency去產生2.457Mhz 的frequency...6 B+ C) k: b' ?$ p
2.457Mhz是要給LED driver當clock input用的...9 R" [8 [& `* S' ^* n/ F7 y
這樣LED driver所產生PWM才可以跟V-sync同步...
& G! o  `+ r: c+ a3 H( a* n) f現在遇到的問題有下列幾點..: S0 X0 }+ J% b
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
- B1 W) p4 y( |* M) ?   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
& F& ]: L0 g; \. y6 f   noise就比1mV還大的多了...
& v! y4 f) C4 Y5 |% x, A3 H2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)" k3 f8 `) t$ t& S% L- t' k. k+ v
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)
. S2 z/ _) {2 Q! h   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..6 L; t/ T/ ^+ i8 w* b. h

8 i# P4 A  d/ @# {, I0 E不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
+ u! R; j/ t/ K# b3 c) N& y將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver& ?3 r7 S# G' L( c" b1 C4 ^8 A
最後所產生的pwm還是跟v-sync不同步啦...# l& P! [* a7 B( o
所以現在改變做法...1 w  h5 d( |" @6 L
直接用60hz產生600hz的pwm...
& Y) d* ?2 j6 fduty就一直去sample  led  driver的pwm就可以了..
+ c! l( _# \  N目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..- Z8 |% k+ y# x4 b" j& C
$ V) E3 Q& P8 Z/ _& ?3 V+ n; M
感謝各位先進的幫忙呀* [( s9 D6 n9 G
+ J& A% o9 K, K0 @  x6 X# b
另外...想做一個shift的function..
. d* z, q4 i$ Y# `$ o% Rled  driver的pwm進來...送出去的pwm要shift 60度或120度..
0 p. G) M0 u: v1 y是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,1 F; x" r- W- Y6 ?0 n8 i
利用 74297 的電路來參考 60Hz 或許可以;$ ]' s2 e- i  O* ~
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表
- `0 y' K1 g1 E* c& f. @如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
5 N# [& D9 A; t: c
  Z* y" F+ ~( F% H! p$ [

% d+ T5 [6 ^' r2 c# P1 S% O  ~* M想法是這樣沒錯啦..
9 M% F" X# f* p, X% s3 Y& F/ H以2.457MHz的clock來說...! K) }" F" n! G- D) _- |
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)$ ?) e% e$ |+ k7 ~! p1 w6 Q, w
shift-->one counter' R! q* Z0 ^; O8 \# J* G- x$ I% m
memory high-->one counter/ R" }. R4 H% k0 V0 p
memory low-->one counter1 m; q6 u% N; T" x9 N1 D( C. _
我目前是要用到四個counter...
! n5 l5 t5 Z6 l1 I! q" h不過這樣做起來感覺很不好...9 I0 s6 e; U+ |  P9 E7 L& l: W
7 ~* v" A! K6 @# E
而R G B各要一組shift..' S. g1 H  N" j1 {, c
128microcell已經被我寫爆了...唉....
2 @2 \6 T$ S9 O" Q" [
4 _9 K) b0 ^  D: @$ }+ v! Y其實光是寫同步的的code...128microcell就已經被我寫爆了呀
4 o' a6 D: z. U- r(目前是用lattice的 iM4A5 128/64)
4 g9 B7 }6 e; G0 x
2 t+ T- k% l7 l# l7 L* Z. H5 ^" ?所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
" v6 a3 p& w2 ^. o你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...6 r/ _" }5 W6 S& X
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
# g3 R1 U* b" B8 T  x) V" K也...回到你回的問題...
3 l( h0 ^4 F4 A$ M要做phase shift可不用改到duty cycle啊...

/ ], M3 t. |! O1 ^( n/ V6 ^) R$ f! N, c9 u3 q
; p+ V) c. s* u
其實我shift要做....duty 也要改..0 m. K2 a/ d9 s# q
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?, d. X! m. o' F
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3" F$ y: @6 ^# J' Y
output也要三組RGB 12bitx33 |" `" @  V( d1 C5 {
同步需要一組12bit counter& u3 m# `  m; @4 W0 `

1 r' i9 n* s) @4 k$ s' e其實我用到的reg..大概就要180個了
% U) i4 D3 X# M$ O: v* w5 H4 u所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...1 f6 X6 F% m& n+ X3 L1 a1 g
9 T+ s( L3 {  Y) z
你有HSYNC可用嗎? MODE 有固定嗎 ?
: n9 \- V2 i+ b8 B2 b& `有的話至少已經上 KHz, h) X$ N% _7 P3 W
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 : G+ F- D$ \9 m. R4 j5 L
問一下下...' H$ c7 I$ z. c2 ~

8 u" l9 G& ~2 H, @' M你有HSYNC可用嗎? MODE 有固定嗎 ?0 a( p% _, h& ^7 |; T- ~: T
有的話至少已經上 KHz
+ E' X1 e$ v5 O* {9 h而且就倍數來說一定也會跟VSYNC同步吧
4 F- j  D- y7 f8 I1 V4 p8 m0 V( Z

: n6 h$ P0 b% U: p; {0 H0 S$ P- ]
9 o8 N7 _! C( {5 b5 G; q是有H-sync啦...
$ Q) Q4 ?2 y0 N6 {2 [" d* `2 |/ I不過不能用h-sync來做...2 U$ r% N, B5 V  V
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-16 09:15 AM , Processed in 0.134017 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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