Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
; X; q8 B4 R1 {7 G% j1 ~; S" q倍頻是否只能用PLL的方法?
# S- `$ ^+ g, ~0 z最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
4 x: Y2 `' C2 d# F. _& |, T4 xeffort會有多大呀....有沒有一個概念的數字' [( j. ~  Y" _* M6 {; I
另外...如果input的頻率很低(60Hz..)...
8 a) [8 q! h2 s: t+ X5 q* G& G8 ]cpld還是有可能做到嗎...
$ G; g! |$ X+ |因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻5 u3 k5 e2 p( v$ W
6 |* {: B' y9 f$ o( T/ Q$ |
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.% \; _2 r# y' D7 }

' j4 r3 e! l+ Z+ ^' ]9 H輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
& y( j- o2 K$ H" S0 u; p4 Z是要用panel裡面t-com的v-sync來同步led driver...
! t2 K7 x* b$ N1 b8 }" C! ]5 \所以不是clock generater的function..) J6 i# S, H/ r
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....+ J/ H9 i) p2 r4 \4 q
我的function如下..
% m' i% V) a2 f  E- `: ]用60hz的frequency去產生2.457Mhz 的frequency...
; ]9 M. }! ~- @2 U2.457Mhz是要給LED driver當clock input用的...4 x3 n: m. w0 E" U5 ]% ?
這樣LED driver所產生PWM才可以跟V-sync同步...
- v$ [& ^" b6 _8 w( \) I. v現在遇到的問題有下列幾點..
7 J+ p2 ]' ~3 M" I- v2 U5 Q1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
- \  o! S" V4 ?! ~, w   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
- F+ m/ M+ S, Q8 w   noise就比1mV還大的多了... 7 L9 p1 `- x* j9 ~2 m- X
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
2 e& C- Q3 i# Q# S   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗): _% {+ l5 K3 x- q
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..$ C: s* X# Z) |. [7 i2 Z3 E! f
$ i3 P! D" B3 s; p6 _( m, d
不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
! S1 I( \9 i9 `: j/ M將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver& k; t1 |! Y7 I/ v8 ~2 N% {
最後所產生的pwm還是跟v-sync不同步啦...; c  _) T* j  r+ z9 `
所以現在改變做法...
. Q/ S9 i; S% H直接用60hz產生600hz的pwm...
# |* ^& y; }9 o/ F: _, c7 k/ A6 Yduty就一直去sample  led  driver的pwm就可以了..
# d: T6 e8 M5 U* F* |3 |3 U% d目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..
$ f3 w  B/ ~" B2 Y
; f, H+ X9 p& D' w感謝各位先進的幫忙呀$ |7 ^/ v. R6 O  ~( Q( {

0 z% q6 ~% l7 l" [另外...想做一個shift的function../ Z$ v; k- F2 H' F
led  driver的pwm進來...送出去的pwm要shift 60度或120度... k2 H; O3 i4 {1 ~" T7 L. U
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,3 F/ y$ \2 x' Z) s9 U; |
利用 74297 的電路來參考 60Hz 或許可以;: @7 W5 `$ N  a3 C
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 7 e2 ?0 F0 r0 l+ e: _! o
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

3 Z- `5 `0 S& O; q- g' `. Q2 q; D" K: L/ ?  i! S
0 C5 W" x" ^1 I/ M8 j5 H1 H2 U
想法是這樣沒錯啦..
* W8 n& N4 c9 ?, E5 Y# ]% I以2.457MHz的clock來說...
: Y1 `$ X  a7 {/ o) V你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的): ?2 L1 |, W% D
shift-->one counter) z' p' g9 {5 l
memory high-->one counter
2 Z9 i  L3 f+ `# b. Q8 _/ a  I1 mmemory low-->one counter
' l1 n. e5 i0 G0 B5 c我目前是要用到四個counter...
% X0 C$ m" Z4 x  d! }% H* v- Z不過這樣做起來感覺很不好...' D7 k+ e0 g( p+ |7 ~8 x" @

& {/ [6 y5 S# P' m- K/ A; f而R G B各要一組shift..9 x9 y/ B2 x' n, K& d2 T
128microcell已經被我寫爆了...唉.... $ k" w0 x* r. s( `, N
- I) R. T% S2 A* y8 S5 e
其實光是寫同步的的code...128microcell就已經被我寫爆了呀
$ W1 H( c. ?" K) M  [+ m' F(目前是用lattice的 iM4A5 128/64)
3 Z4 \" h% Y1 |+ Y% L6 Y$ X
- ^6 h3 Q; x' f所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
5 `$ s8 v6 ]7 S你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...8 o. i# e9 M& U# D3 m  p& {+ k
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 3 X: d4 o" F' y# u) ]
也...回到你回的問題...+ k+ y' |; W6 W$ z& C5 G0 x' J  g5 Q
要做phase shift可不用改到duty cycle啊...
; c1 W* L+ O  w1 W. n8 Z
  A6 D$ `' `0 z6 u

; R$ t; J$ h% s其實我shift要做....duty 也要改..
1 c1 `' z* h; ?+ t: [1 V4 w2 q所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?; @3 E  G5 M# ?4 G
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx37 _- W5 Y4 f. g3 ~
output也要三組RGB 12bitx3( o: \( x9 I9 G  F0 J) c
同步需要一組12bit counter
, H, J, R0 F  J$ l
4 u1 K# F* x  W! H其實我用到的reg..大概就要180個了" K; c9 V1 m% @% {: |3 h
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
, u/ {8 E( V0 I2 m3 u
  g- T2 _+ V% r6 ^你有HSYNC可用嗎? MODE 有固定嗎 ?
# e$ J1 ]7 E. ^& o- c; y有的話至少已經上 KHz: S) j+ D  m  W9 M- {4 b
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表
) P7 _" u3 q" {0 s/ C問一下下..." u: j1 K: T: X0 e& x7 d$ O6 E
: }$ F2 F* L6 i1 q/ x. |
你有HSYNC可用嗎? MODE 有固定嗎 ?
  n) i) ^* |& h, A5 D$ O) R有的話至少已經上 KHz
& n7 A& a5 E& _% K5 u而且就倍數來說一定也會跟VSYNC同步吧
, d' |9 ^1 W( m

" Q' J: M* k0 j% K  J: p( N9 w* _- p/ h3 D
是有H-sync啦...2 u* i* t, p" v- W" t
不過不能用h-sync來做...
) ]2 Z7 q! x# X! b8 M因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 09:33 AM , Processed in 0.136017 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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