Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
  [* Q6 G2 [8 S" n倍頻是否只能用PLL的方法?
3 x* K1 w) y: Q7 E8 t最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
: D4 `3 y- J- ?effort會有多大呀....有沒有一個概念的數字! Q4 L/ Z+ J& x1 N* A' [% s, f
另外...如果input的頻率很低(60Hz..)...
2 ?2 n7 |" `# V, L0 scpld還是有可能做到嗎..., D9 t3 s, E" @# u7 q9 c) O: Q
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
" Z: R7 t+ t0 `$ ^# }+ `4 x" K" W6 l* N6 |7 ~4 j9 F! s4 X5 F# L
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.0 H( j6 Q( ~) V% I; s
; I2 Z) Q! M7 k9 N
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...! N/ I% H* G) x
是要用panel裡面t-com的v-sync來同步led driver...6 ]7 y" k; D5 V. X# E
所以不是clock generater的function..
! U2 v/ W3 ]4 W4 R! L% T目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
' r# n& |7 [; k我的function如下..
* L$ f9 }( X2 K8 o' w, ]1 ]用60hz的frequency去產生2.457Mhz 的frequency...+ l4 s9 Q+ W8 x' O8 w; ~0 c* r8 [
2.457Mhz是要給LED driver當clock input用的...( R" H+ p; g3 F/ X9 t) v6 Z2 f3 w7 C
這樣LED driver所產生PWM才可以跟V-sync同步...! d+ w& ^% W: j1 ?
現在遇到的問題有下列幾點.., m, t/ ~, z- |0 l; ^  m
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
6 G( ?! W/ m3 Q- ]   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
+ ^% L; R' N. O4 [   noise就比1mV還大的多了...
0 i! R7 \2 _$ b/ K0 q2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
- B5 H' f2 J3 P) X- m   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)) e. `' b( C( N( w& g
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
  F+ m: [6 H7 D: p/ P/ W/ n$ b" P1 v/ {1 B: |6 D
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:- [9 f) J4 \1 F0 X4 E1 Q9 Z' T
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver" L9 B+ H$ Z0 |  F" r
最後所產生的pwm還是跟v-sync不同步啦...! a& e) f! G$ Z; t$ s
所以現在改變做法...
2 k/ c8 [* X- |0 f3 Z% s8 w' U直接用60hz產生600hz的pwm...
) H8 \4 I- b5 X  R0 Z9 ]* Cduty就一直去sample  led  driver的pwm就可以了..9 l- M3 f' u/ S
目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm... v: w8 A! Y! u

7 X0 H' W0 ^% |# r3 g* N感謝各位先進的幫忙呀6 ~3 L) i( \3 i+ L2 e' m

4 u7 H. v0 N* g2 m5 s9 @8 V另外...想做一個shift的function..
8 z/ b2 {3 S4 w/ dled  driver的pwm進來...送出去的pwm要shift 60度或120度..
. c; `2 @* \) S9 n! n# [是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,7 G3 v- }! W7 H; }
利用 74297 的電路來參考 60Hz 或許可以;7 K$ ^/ }3 P* j3 b) c. q
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 ! _* i/ E, W7 e, [
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
2 v$ h3 b3 ?) J' c2 l: B
' i+ I: I8 a* w& F4 d5 e" I
  w! F3 i, E2 K) }3 _* N2 b
想法是這樣沒錯啦..
$ K) z% J' m. i: a" q7 f9 J以2.457MHz的clock來說..." O- X4 d& u& c
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
) O. J. l% u' }; r/ T  n6 A2 Y, yshift-->one counter
9 |+ m6 v( o- K0 S; [- `memory high-->one counter. b( b8 e, ~9 r1 l3 k5 n
memory low-->one counter% d- O5 h2 z* I* F  {. Y6 L
我目前是要用到四個counter...% a. a3 ?9 B6 r, E$ L  D
不過這樣做起來感覺很不好...  s; _$ k" F6 @. n

, O+ k6 k2 t, W( e7 T$ H6 ]而R G B各要一組shift..
" e9 B: T1 m# ~' ~; b* u$ C" x" j128microcell已經被我寫爆了...唉....   C- L( n" W$ a% f7 P  \; i- {0 K0 |! k/ R

' m2 B2 [) O9 ~; w# z* K  E7 z& F其實光是寫同步的的code...128microcell就已經被我寫爆了呀; D) K5 k# o( K, v
(目前是用lattice的 iM4A5 128/64)0 s+ t7 x8 P$ p0 ?+ y: _/ l6 Z" e

$ Y+ v% T( |; A* r! V所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
/ Z% i) B0 T+ p' c你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...) ?  N+ M9 ?' }7 H
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
% H- K# y6 z+ ?也...回到你回的問題...
& a% ?; i" }/ E要做phase shift可不用改到duty cycle啊...

, N- @7 {( \8 N* o. e0 s& E" L$ I8 Z- X& D4 y4 s
( @" c) y# O9 V% P& \, K
其實我shift要做....duty 也要改../ {" f4 d% ^/ B: N6 ^( V
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
0 b: d; `+ E7 G+ h9 S& A也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx37 f7 i: A( n5 E1 T: ], s
output也要三組RGB 12bitx3
7 o/ T6 J# n. q( E 同步需要一組12bit counter$ |. t% v3 q8 K3 h
( ^7 R" A$ Z6 O$ i/ R. A
其實我用到的reg..大概就要180個了, S2 @2 _$ K# h; a5 r! l' T( q
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
4 S2 Y; M: Y" I- A; Z
3 N' F! I% A& ]- k你有HSYNC可用嗎? MODE 有固定嗎 ?4 |+ S. N( B: ], f: @) k4 e; A
有的話至少已經上 KHz
& z( E& L6 R0 u' N  S0 g而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 * ^- i* z: J2 S& ?5 C( ?
問一下下...
, f& W% K7 x" U
8 S% F/ Z5 O; [: ^# W/ w你有HSYNC可用嗎? MODE 有固定嗎 ?% N3 \5 j1 N- a3 x
有的話至少已經上 KHz
) E" T+ M  F0 I) b1 {9 [+ {9 ]而且就倍數來說一定也會跟VSYNC同步吧
7 f: J! z$ d) @" B7 d
! ^$ Y: W  _- }# {5 [% L, G
" [& k* J, S& `9 n
是有H-sync啦...4 Z' Q" t0 M* ?
不過不能用h-sync來做...8 _" v; Z* `5 j5 L! @7 N8 p, p
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-6 02:18 AM , Processed in 0.173022 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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