Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....- ]: W& Y! I- ~$ r* E; D
倍頻是否只能用PLL的方法?$ V: e& W- ?0 X! T0 R
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
& \3 P9 _' O3 E( u$ o3 s4 T9 T! |effort會有多大呀....有沒有一個概念的數字
1 T8 K7 i, X/ I  ?' A1 e$ j' H另外...如果input的頻率很低(60Hz..)...
. f$ c! ]. A2 T2 Mcpld還是有可能做到嗎...
* `" P5 @# h! C5 J8 d% M/ k因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻& v& S+ h3 J* |' A4 `
6 F' I: v. G8 l( e7 i3 ~
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
0 Q+ `1 l$ v# }4 t' ]/ _* B: }- Z/ p
6 A7 ]7 q; I2 q6 k輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...' V$ Y$ G$ b1 Z" `3 b& z
是要用panel裡面t-com的v-sync來同步led driver...
( t" Q  ]5 j6 J+ k. s所以不是clock generater的function..& b$ d& x& }. b: ?5 V" a% u; ^0 X0 Y
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....5 d* Z- {7 u5 m- y
我的function如下..
2 g) ?  ^* Z. `" A& M2 e用60hz的frequency去產生2.457Mhz 的frequency...2 V1 m8 S' J+ L/ p7 }+ C3 }
2.457Mhz是要給LED driver當clock input用的...
' j: o2 K  B0 y- m, w" m9 [; [這樣LED driver所產生PWM才可以跟V-sync同步...: ?' F6 Y9 W4 W' o
現在遇到的問題有下列幾點..
# c) N: j" g! w, R; {0 \1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..
7 |5 |8 w* c% k( |! r7 P   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...+ A" F" Z& V! b  l8 l
   noise就比1mV還大的多了... ' e4 T' [% E) W0 S  l5 z
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
2 A* `/ Y# q, p' B' s7 ~   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)
* A/ w& O2 v8 Z! V+ p) [# j   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
" B( ]/ y4 N8 A, ]
. l0 x8 x+ Q* R/ J1 s8 Y不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:
+ a" Q! H! k6 i將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver* t" d) d, s3 T8 q! A; g
最後所產生的pwm還是跟v-sync不同步啦..." h0 w* y& l8 {7 [3 O
所以現在改變做法...2 I7 x4 m7 A- n
直接用60hz產生600hz的pwm...7 W( W7 V  o8 a+ A' E
duty就一直去sample  led  driver的pwm就可以了.." d& z) }7 A" Q% Y. ~& E
目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..* Z  y; `- Z- R: W' g

3 f2 k: M1 b# @感謝各位先進的幫忙呀* E' i- ~0 |, v4 I' h. r  W) c  o

. J! D6 g- u" h& w6 u* w- F% J; ]7 S另外...想做一個shift的function..& v2 R3 p5 ^* t+ j  G8 Q, W/ e- F
led  driver的pwm進來...送出去的pwm要shift 60度或120度..
4 V! I/ `6 z$ d% k( B% c3 {是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,0 M1 s8 y9 {' D) ]; y
利用 74297 的電路來參考 60Hz 或許可以;: T! y% l- |7 c+ a# j
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 8 l& c/ @* f  W: _8 p
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
4 |" |+ C+ w# E: {- \7 ^
+ A" R) C" |% n- `3 o
- J3 E. N" Q8 a0 K! x  R, r
想法是這樣沒錯啦..+ j6 q% J( f: y3 E
以2.457MHz的clock來說...% A0 x0 q. }+ U3 \& P7 X3 b3 h
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)( G& N  {) a/ [# G
shift-->one counter" Z, O5 L% l1 S6 [
memory high-->one counter! A7 k; ~0 z/ e$ m/ [
memory low-->one counter
8 N4 T* x7 L% @我目前是要用到四個counter...
' v2 ~; [1 p0 ^0 u8 F不過這樣做起來感覺很不好...
! k$ Z% J9 a+ K! ~
; U8 e! v- X- E3 \" K8 S4 H而R G B各要一組shift..# {% m+ h; h; `: J
128microcell已經被我寫爆了...唉.... , @: B' J' ?5 S. _- t' j

- V+ X1 R& n2 H8 Z7 }7 B9 [8 }其實光是寫同步的的code...128microcell就已經被我寫爆了呀; W9 v8 H) G) S
(目前是用lattice的 iM4A5 128/64)
( T9 [% \; \' S8 d# z& {7 e0 u9 b! @) C
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...3 U- I0 n( {! {) G+ p
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
) u0 R8 j2 K; }4 D! t) M要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
  S( c8 g: M1 }- h  p  x也...回到你回的問題...
6 D$ o" L9 Z& {+ V要做phase shift可不用改到duty cycle啊...
8 k" A3 f3 q" ]8 c$ b% ^

! u- y9 U. ?  q# w  v8 M" p; D' [0 f3 h2 W8 j
其實我shift要做....duty 也要改..
, k' H7 O5 j# y3 m; Z4 X# u9 o& Q所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?7 |8 ]: `% B, T: }
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
: F* H1 [/ ~% s, Zoutput也要三組RGB 12bitx3
  v( @* {+ l8 F/ d 同步需要一組12bit counter
6 }+ ^- p: x0 K
4 r7 Z9 K" k9 U其實我用到的reg..大概就要180個了. ~* h! ?. p* L5 ^5 j
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下.... S3 I  K. k3 B4 N6 f3 L

6 f* J/ M. ?) Q7 o你有HSYNC可用嗎? MODE 有固定嗎 ?
% T: c! M/ n9 I# s6 @0 q有的話至少已經上 KHz6 p5 F  u7 F! u1 C' a) c2 [  K8 Z
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表
2 R4 X/ k* i$ h# r% j& q8 C問一下下...
- ^, C! s  a( d8 D' {. Q$ n+ X- @5 T+ ^/ |+ T/ C4 {6 j4 S
你有HSYNC可用嗎? MODE 有固定嗎 ?
* F6 z5 [, V# X. C1 Y* Y有的話至少已經上 KHz1 ~8 H  M$ `* i. O5 @
而且就倍數來說一定也會跟VSYNC同步吧
% W+ u6 `! h# k( ]

- F' p% ^3 p+ E) ]% I  ?" B  B  m  x2 q' a
是有H-sync啦...  @  [& q7 x% l
不過不能用h-sync來做..." u3 A1 `* m! k' X( g8 }; }
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-5 10:59 AM , Processed in 0.145018 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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