Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....) Y+ g4 A! `5 F1 ?3 |& e: e
倍頻是否只能用PLL的方法?7 l0 F; W) T' Y" K' s# I
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...
0 N+ _& z8 @5 ueffort會有多大呀....有沒有一個概念的數字; ]$ ^' z. H! W% K0 {
另外...如果input的頻率很低(60Hz..)...- v) O5 a0 a9 \. e# B! T- s
cpld還是有可能做到嗎...) h* {" J  V2 _" ?
因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
6 H9 w1 S8 c4 z3 a; {
1 ^4 Y/ \+ F$ o% R8 H6 }* Q[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
$ H6 s) o3 d2 i- U4 d# j* L6 _9 P1 n# a8 j1 @
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...8 K( `: X- U! D$ k8 T
是要用panel裡面t-com的v-sync來同步led driver...
" h) |# y; \# t0 ~+ i/ q所以不是clock generater的function..% i3 q, w$ K# l: O3 i- K4 A
目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....! j6 A# i3 e, r& y! V
我的function如下..
! i" k9 N  ~! q3 c7 ^用60hz的frequency去產生2.457Mhz 的frequency...1 ~, `, E7 k  |8 V
2.457Mhz是要給LED driver當clock input用的...7 ]3 F/ ?( T/ Y. {4 j
這樣LED driver所產生PWM才可以跟V-sync同步...6 ]/ A; e, I" P) k
現在遇到的問題有下列幾點..9 z9 d# C# B1 y
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..! R1 J' R$ d% {0 Y3 f
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
) \; S" U4 }- M. R# Q- T# k. n1 h   noise就比1mV還大的多了...
2 k! ~3 D: b* J# E" x5 _% Q0 S2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
" S8 k" \* V# N  d' ?   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)
1 H  V6 V! w) Z   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚..
; c4 w7 E* g+ S) ^
* z! v' Z& z8 b+ K5 l+ F6 V不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:) E( C( y, z9 q# |" N4 Q. i
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver
% L. |* I  f) ]最後所產生的pwm還是跟v-sync不同步啦...
' L3 ^9 _# N' k" \所以現在改變做法...
% e7 k% F! @* q, G" m直接用60hz產生600hz的pwm...
" ^3 f! }- r( G6 C" ~duty就一直去sample  led  driver的pwm就可以了..9 s- k# d8 f& z& K. r; @9 u, B
目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..
, `% W1 r8 ~7 D8 U- M# g# K. T% T5 B. ?4 b/ @
感謝各位先進的幫忙呀
1 ^4 Z( P2 p$ y, U+ T8 a* c- H# k6 U7 U) b
另外...想做一個shift的function..2 v# X1 u; L& n7 _7 S: Z
led  driver的pwm進來...送出去的pwm要shift 60度或120度..
, K+ i! T2 w) Z# G0 g8 n1 a  G6 C) v/ L/ {是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,
# j6 I( w! o" J0 s利用 74297 的電路來參考 60Hz 或許可以;
# s% T1 U$ e$ v! NDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表
+ D( _, H) Q0 ~5 }7 r+ ^4 w如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
" ?5 I% t! P) T9 x1 j7 E* i

: Q" r/ d2 e% U* `: [4 |1 o5 B/ K& K
, ]: R) q! u  |3 }想法是這樣沒錯啦..
5 j1 b; [6 T+ T1 I2 A( `/ w以2.457MHz的clock來說.../ V! h* J( U+ F: ?" t! M; n9 v
你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
6 {7 W, n( p# }' cshift-->one counter8 t* M  W+ Y1 v2 T! g/ @. f. ~2 P
memory high-->one counter
$ P9 Z1 h0 q+ e7 W- b9 |5 Mmemory low-->one counter
5 k" M8 V/ |6 t, x0 B8 ?' b( z我目前是要用到四個counter.... a+ w9 k7 x0 _) G2 |; d/ _6 H* t  M
不過這樣做起來感覺很不好...
3 \) |) l/ B% m7 v. R- m
8 p7 A4 ~* K( \* }而R G B各要一組shift..& b# N  u' N4 A6 L
128microcell已經被我寫爆了...唉....
8 ~3 `9 u) u3 J7 S/ T
* z' s! A- U) T% N/ Z; z其實光是寫同步的的code...128microcell就已經被我寫爆了呀
" o7 i' k- |; v7 Q5 p(目前是用lattice的 iM4A5 128/64)
  I3 ~" J3 f, ~" k0 H4 v9 R0 s. E5 b( |
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...* O7 F" M6 R  T+ W1 i' R9 f
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
' J. U7 U9 S. i( W4 b$ @要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 : L4 f  `% {/ e  A+ H+ a# X
也...回到你回的問題...
: z! w1 J% b+ m7 Q要做phase shift可不用改到duty cycle啊...

$ F9 C) O8 H5 p+ x) @( \/ j
4 A$ s+ E2 s# Q% {# @! g8 q5 N( u" B4 {% D
其實我shift要做....duty 也要改..) M5 P. p9 O. h0 a' S* [
所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?% Z7 P6 Z2 Y. s/ t& F; A
也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
1 K6 i" u& o4 Goutput也要三組RGB 12bitx37 D1 _+ w! r8 O* L
同步需要一組12bit counter8 @& H/ Q9 v2 |$ o1 P. |, K

, }' R" q/ i8 Y* t* D其實我用到的reg..大概就要180個了* l, h1 G' i+ f# B; V9 O
所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...
: b# j0 Q+ O& e6 e* ], o
8 c3 ]! e& [1 ]4 y, N5 c& d你有HSYNC可用嗎? MODE 有固定嗎 ?
' g& A2 @2 K% ?! w2 z8 K$ S$ A- i- T有的話至少已經上 KHz
- R4 U  L0 c' g) v8 o而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表
. c" u; [/ g8 _9 X1 ~問一下下...% x' G- F+ {, `' P* {  o" J+ E! m

8 z- X2 y! ^3 c( x, Z$ _你有HSYNC可用嗎? MODE 有固定嗎 ?
$ C, ~  ]( V* s' `- e9 n, Q9 g2 n有的話至少已經上 KHz5 ]. Y0 ^7 a( ]4 |' f* T
而且就倍數來說一定也會跟VSYNC同步吧
% X- ^. A9 S  d* h$ f2 F
* O' _  H1 Q  C# v
" b7 V+ S4 h, F( G; p% S2 E0 q
是有H-sync啦...- D6 I: m  K$ h* i; k
不過不能用h-sync來做...
. h3 ^) G& }9 f" j1 |2 Z6 q$ N因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 07:59 PM , Processed in 0.129517 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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