Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
) D  `+ c! P+ J+ @% Z$ B倍頻是否只能用PLL的方法?
  |1 f" g" ]% u8 x最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
/ I% c0 S$ ]& l0 f: A3 u5 Seffort會有多大呀....有沒有一個概念的數字' y" z/ |5 v4 r3 U1 M$ ?8 W
另外...如果input的頻率很低(60Hz..)...
* o4 {" b4 v& P$ O4 Y& |cpld還是有可能做到嗎...
' N6 M- I, C) r) S/ S; s因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
& V' ^0 U+ d' t# O& F, i- p
: v- |$ `% P8 t% u# E9 t[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.  E' W5 Y% g5 G+ O
- s/ F) P) c8 D, t
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
7 m% g$ ^# ^, ^. y3 O$ ]是要用panel裡面t-com的v-sync來同步led driver...- W2 O$ d6 z  V8 X" n, t3 o2 R# f
所以不是clock generater的function..
; ~* y1 @, W7 j0 L目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....( l, r0 E1 v- P6 ]# R
我的function如下..# ]5 V9 f5 ]; K8 A- A4 Q/ ^
用60hz的frequency去產生2.457Mhz 的frequency...& J$ I2 O0 G& q
2.457Mhz是要給LED driver當clock input用的...
0 G0 V- G2 H* `& {/ B2 A這樣LED driver所產生PWM才可以跟V-sync同步...% g$ i, N8 e' Y0 K7 O& |
現在遇到的問題有下列幾點..
+ H$ |  j7 b9 A, R& Q; l# R1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..# S  m$ h, v! M4 T  D& ^
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
" Z  j5 q( C; |5 b% Y! {; Y/ r   noise就比1mV還大的多了... - K2 \8 i3 a  c7 J* B: f3 B& z
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)) a: ]. [5 [" y
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)( n/ Y2 O+ |  N  ~( ]7 Z. S
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
1 t% ?5 `' n9 Y. H. t7 o: K& K! ]7 R, K( _( g4 U
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:( O# m" V( J( R" H# H
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver
) Z; v) r# d& T1 \4 e' D/ Q最後所產生的pwm還是跟v-sync不同步啦...
$ M; h2 x" u/ b3 q( X所以現在改變做法...- B% ^0 e' x4 O! V( U$ m( x
直接用60hz產生600hz的pwm...1 t% {( l5 e, r; O% p3 a2 P
duty就一直去sample  led  driver的pwm就可以了..
5 p2 m( Q0 Q5 j- C目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..! n0 A8 l9 }# X* ^+ @% ?3 A: Q% n

. _( P& O; z& g8 j3 G感謝各位先進的幫忙呀9 h6 A4 [2 z# }0 E
. U: p  d$ T* ?- o
另外...想做一個shift的function..
+ e9 c7 K8 Y+ I) Wled  driver的pwm進來...送出去的pwm要shift 60度或120度..( }( [" m, y( B) g& {6 t
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,4 d0 l, E! C4 O3 p6 X" _- V
利用 74297 的電路來參考 60Hz 或許可以;
/ F: V* H# P; K) NDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表
: h& j. A" W, X3 q  ?如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

7 c. j2 g4 Z; f" d1 i& T! j3 e$ V. J, E( J8 d' {- {& h

* b+ \# {2 ~) ~3 R- I/ v6 S想法是這樣沒錯啦..
9 [" ^2 r& f8 N! s. w: s8 D$ t以2.457MHz的clock來說...
. W2 a/ W4 X/ @$ z! v7 y你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
) `" {' H* Z$ p' w4 ^: T/ ~6 u  xshift-->one counter
& C! g# O' R$ s$ z4 `memory high-->one counter
: D. A# D! r5 n) O9 t: s4 mmemory low-->one counter
  t7 q6 z& C5 e3 a5 r我目前是要用到四個counter...
0 M# b# f* O2 d+ p不過這樣做起來感覺很不好..., S  R5 Q6 ?1 ]8 I8 H

# I; q- k+ d+ j7 M1 K而R G B各要一組shift..
( A1 Q5 i3 n! Q) u: M, w. ]128microcell已經被我寫爆了...唉.... * Z$ }6 }: R; Y6 U) G; y; w  U

" w+ j* I* G  A4 K: V! o其實光是寫同步的的code...128microcell就已經被我寫爆了呀
& N6 z( f- g8 X* m(目前是用lattice的 iM4A5 128/64)
* R( r6 J* A7 N: a" s. l
7 {* ^1 {- C7 B0 c  z所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
- t, ?$ U; S5 |  o: H) I, J& l% S你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...3 Z( F- q6 ^# R$ A1 K( X3 v
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
# G' d4 ]. X7 X* b  D3 R- `也...回到你回的問題...4 Q$ X$ C8 \! I4 X9 A0 N6 u
要做phase shift可不用改到duty cycle啊...

7 f; S4 |& x  \: N2 H" \& \+ }' @$ L8 G9 p2 k. a$ P$ F6 X
. @9 V5 O$ W  W' }+ G# ?3 q
其實我shift要做....duty 也要改..2 o- Y4 P+ f4 G8 q
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
7 a0 E) y) O( I/ v也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
& n$ Q) k  w3 G1 }1 S6 Toutput也要三組RGB 12bitx3" S  ]4 |2 B' v' v  ^. F- ?
同步需要一組12bit counter
8 Q; @: {9 {4 b5 G: d- h
/ m$ Q) b5 [! f* _9 i  o其實我用到的reg..大概就要180個了
: b/ c, F' _9 S. x0 R- ?1 }- i6 n6 x+ q; b( p所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
8 k+ P9 ?6 z/ O, W& z8 i% j$ P
$ J  C! J% s8 J) q+ t$ @3 B你有HSYNC可用嗎? MODE 有固定嗎 ?; o2 c% }. l) ?2 p3 s& n3 T, J( K
有的話至少已經上 KHz
% [, }. J: d) P& P5 }而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 3 b, C' r1 {1 i
問一下下..., `' D0 j! t8 F+ q1 _

# T. R6 v4 X& y你有HSYNC可用嗎? MODE 有固定嗎 ?$ v5 N, e) U- O" v+ W
有的話至少已經上 KHz* Z$ s+ t# m: ?+ ]) o
而且就倍數來說一定也會跟VSYNC同步吧

* o9 C- F1 ]  L* |, w' u9 K
( Q; M: G+ i0 e; T
( Z# X2 h% C7 D( E. M3 c6 W是有H-sync啦...
7 i8 W2 ?8 U  B/ {, O不過不能用h-sync來做...( X; A2 }/ x1 P, y
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 04:35 PM , Processed in 0.130516 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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