Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
" A) _+ w& i0 d倍頻是否只能用PLL的方法?
' j& [$ V- I$ }% d4 |  Y最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...; V- P0 K0 A+ N; X! Z  p; l
effort會有多大呀....有沒有一個概念的數字% w0 J1 t/ _9 L, D; R+ [! T) I3 _
另外...如果input的頻率很低(60Hz..)...
% u; a. v+ c/ `cpld還是有可能做到嗎...4 \6 z1 b  h: [" ?% ?
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
6 d" q* I- v. s/ F; i, A% J' R8 u, \6 m3 k/ m* p
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事." G! O: R  ^9 J

  g2 h  H. ?: C2 Q輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
4 Z( K/ ]9 O  @, Y& }是要用panel裡面t-com的v-sync來同步led driver...; }; [8 f2 m) n& M/ o2 p" N
所以不是clock generater的function..
9 z! b$ x5 c' q9 R# L) O9 k. ^目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
/ F. X, l0 [& C4 z. u5 Q! C我的function如下..' ~- n2 k/ P1 i9 N
用60hz的frequency去產生2.457Mhz 的frequency...
# F5 n/ h# ~8 x8 L! [8 j4 V2.457Mhz是要給LED driver當clock input用的.... o/ q* j' k& V+ S) ^! w8 a
這樣LED driver所產生PWM才可以跟V-sync同步...5 O3 j3 ]* C! m* x/ k7 [! t0 G
現在遇到的問題有下列幾點..
! i' o: v6 @1 ~. o+ U& g1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
9 f+ y/ i: D7 j$ N1 T. R  b   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV..." i0 V; L" \9 Z' n) n; Z
   noise就比1mV還大的多了...
' S8 t/ _  e8 A* p; Y" V2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦): M9 u) A6 r: [1 Q" P4 H' U$ Z3 d
   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)" y/ y/ M* o2 S8 ?1 d
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..- C7 n/ l2 Y4 I/ a% \

) c7 b% }. |- D- m( @不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
) C' j$ Y# N( [4 e2 J9 `將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver
+ P  O" W* g/ E4 ]: d最後所產生的pwm還是跟v-sync不同步啦...( Y8 n) o7 [5 U2 }
所以現在改變做法...
7 V5 U/ N4 F+ C直接用60hz產生600hz的pwm...+ M* D# ]7 R& z$ Q& {
duty就一直去sample  led  driver的pwm就可以了..
  P" @9 o3 P) Q, I2 j, E目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..
  _5 |. _' u) ~2 K& p, |' m2 ^) u" f; `: G# `2 ?: A
感謝各位先進的幫忙呀
! F5 p$ s- u) n$ B: E3 U
0 E) L% o+ D2 x  ?另外...想做一個shift的function..4 f$ l  d6 q) Z3 E
led  driver的pwm進來...送出去的pwm要shift 60度或120度..  U3 |9 c" j7 U+ N* F
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,
3 C7 F0 @- _  Y1 d8 C) A( B利用 74297 的電路來參考 60Hz 或許可以;" \. k! @& u" M6 F8 l+ ^$ Y* X
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 5 Q& S( K* i0 U# \4 E
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

# P7 _1 w% `8 T/ z) C- ^' ^' N4 H' V6 L/ K7 F0 D5 q5 i8 |

1 d* E+ i' r! d# m" V) x想法是這樣沒錯啦... G" c6 B, S' `' F( [( S' Y6 l
以2.457MHz的clock來說...: `2 x$ u$ `8 ]$ w/ B# f4 }
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)( J0 T# X" C, T" ]# Y" d, E
shift-->one counter' r' V. W% u- ~0 j
memory high-->one counter* ~+ R! L6 h- H- }: z6 i6 B
memory low-->one counter
/ G4 w! v0 a+ o1 C% b# a8 I我目前是要用到四個counter..." H9 `; a5 {0 \, a9 E2 k, v. O
不過這樣做起來感覺很不好...
/ G  t6 V6 Q# T; l6 \
1 ?3 j) A  F2 i2 N" v) g4 H而R G B各要一組shift..! X5 J7 s8 r; [* u9 v/ D
128microcell已經被我寫爆了...唉.... 9 p1 T# I+ G! m: N/ X4 V% ^
, ~8 c7 `! K2 G$ `
其實光是寫同步的的code...128microcell就已經被我寫爆了呀
' u& l' h& x2 {6 {+ B. o1 ^. J9 Y(目前是用lattice的 iM4A5 128/64)
0 z, L; @! }3 W. B8 f1 Y; E  w8 J% U  K
& v; e9 `% H0 z, g& Z! T3 S7 j所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...+ b9 ~% R# }1 B  P8 F
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...5 e0 P5 T/ X1 w: E2 }5 f; F/ U
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
; f# J3 j; l$ P3 P" T也...回到你回的問題...9 f4 \4 b7 h) K& B7 C
要做phase shift可不用改到duty cycle啊...

! M6 v- {% N, f( e
; F5 d& i* s' y
) m+ U$ w3 d. v" T6 p% e其實我shift要做....duty 也要改..
% \5 d: o# z6 }) d所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?1 M0 Z1 G8 G" o8 d) j
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
# x6 q6 W5 g4 H2 A+ u3 q; {7 Boutput也要三組RGB 12bitx3
! [% W2 A3 R/ J$ @9 ` 同步需要一組12bit counter
& r/ D% v+ }" E+ O2 h4 A, z" \0 q: e2 l" I
其實我用到的reg..大概就要180個了
& f. ]# Y% j; J7 P8 s所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
- r! T  z5 h! Y
  @* M7 a6 ]6 Z! }你有HSYNC可用嗎? MODE 有固定嗎 ?& E7 B8 J# M; F& B7 i* x( [
有的話至少已經上 KHz4 \. N9 B& ]4 F0 S% d5 ]
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 ( T) T1 p) |! d6 T/ b: a
問一下下...
% ^) g6 W8 Z3 d, k! z/ @8 ?6 R
4 u0 ^6 r" L+ |你有HSYNC可用嗎? MODE 有固定嗎 ?
$ g, h' R" P1 c; D有的話至少已經上 KHz
$ K, o! S& x" x' P* M0 j+ }) K而且就倍數來說一定也會跟VSYNC同步吧
- K: }" j6 a) Q  L1 Z( Y) Q
9 j( F: ~0 D; I0 v0 `9 d8 `

% F7 [& u3 {+ \0 Q8 k是有H-sync啦...2 J9 o- i" X) z. u
不過不能用h-sync來做...
0 f: S* A7 |& V" {( _. U- Y因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-12-21 02:17 PM , Processed in 0.151001 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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