Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
" f% C" F" O& G" g倍頻是否只能用PLL的方法?
! u3 x# J. n4 a/ ]4 J最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-3-17 12:32:25 | 只看該作者
答案是可以的, 只是就以成本來看的話划不來而已
3#
 樓主| 發表於 2007-3-17 18:11:03 | 只看該作者
用cpld的話...5 ?; F- D7 ]# O+ x9 M0 p
effort會有多大呀....有沒有一個概念的數字9 M8 _- b  |6 K4 [
另外...如果input的頻率很低(60Hz..)...
6 q; b  V) Z7 ?! r2 L2 Acpld還是有可能做到嗎...
8 y2 S! w3 b4 |8 V& Y1 c因為問過代理商...是沒辦法supprot那麼低的頻率...嘻嘻
% T$ @; P6 _( }+ k3 I  p1 B3 K  i1 \, G4 E
[ 本帖最後由 kolong 於 2007-3-17 06:20 PM 編輯 ]
4#
發表於 2007-3-18 12:42:19 | 只看該作者
你可以上中央圖書館查一下, 有一篇碩論論這一件事.
  q( @! w0 v- R" c' ~" b& X) K1 E9 v  c& @  P
輸入頻率是60的話, 很明顯的是想拿市電的信號來倍頻吧, 如果只是要一個也許不是那麼準的clock source的話, 該有更簡單的方法才對
5#
 樓主| 發表於 2007-3-22 21:18:20 | 只看該作者
不是要用市電的信號...
; p; H! s' ?) c$ o是要用panel裡面t-com的v-sync來同步led driver...6 W  e/ n, b! t/ b) {4 V
所以不是clock generater的function..
7 B2 ^" [2 Q4 _9 P目前我是想用cd4046...不過filter方面就傷腦筋了...
6#
發表於 2007-3-23 08:38:34 | 只看該作者
如果你能講的更詳細點的話, 也許可以幫上忙也說不定
7#
 樓主| 發表於 2007-3-29 20:45:31 | 只看該作者
搞了二個禮拜的CD4046 (PLL)..還是覺得無解....
7 O  |/ [" e" Z( f我的function如下..0 {( U- }7 |" p( k" B- f- }" P
用60hz的frequency去產生2.457Mhz 的frequency..." n6 y3 U+ u$ [% B- H4 T; H
2.457Mhz是要給LED driver當clock input用的...
' j, i. J* {4 n( l) v7 u7 V這樣LED driver所產生PWM才可以跟V-sync同步...7 M! C! R" o$ H" r$ M5 C0 u3 T
現在遇到的問題有下列幾點..6 {! Q( X$ {, u- L
1. 60Hz要產生2.457Mhz.....60*40950 = 2.457Mhz..0 T1 }, `2 B% `
   因為40950實在是太多倍了...這樣VCO平均一個level大概只有不到1mV...
5 |3 k  w! \+ t5 e9 K7 M! m, J   noise就比1mV還大的多了... # E' M3 ?9 F* |) u/ {
2. 60Hz實在是太慢了...所以不可以用被動式的filter..只能用主動式的(就是用op啦)
( ^# i* x% J- |% U; X5 z0 q   按照datasheet的公式..所算出來filter的R跟C..只能當參考.. (果然..類比的東西都要靠經驗)) g- ?8 _, X7 r+ j' w8 \! C  P
   實驗了一個禮拜.總算感覺filter有在動,不過目前還是有一些問題還搞不清楚.., n6 i4 W" }* e( T  F5 Y" m

8 l8 ]% f, F/ `3 ^; ^- O不知各位大大是否還有其他的idea可以實現這個function....(用60hz去產生2.457mhz)
8#
發表於 2007-3-30 10:19:15 | 只看該作者
如果你還是想用CPLD的話, 不介意的話留下連絡方式我找人幫你如何?
9#
發表於 2007-4-11 13:04:31 | 只看該作者
個人看法:4 D1 _0 ?7 S) l
將 sync. signal 當成 enable信號, CPLD 內部電路用 OSC 產生工作 clock 信號源,藉由 sync. 來  enable 應較容易實現吧!?
10#
 樓主| 發表於 2007-4-15 11:53:38 | 只看該作者
其實用PLL產生2.457MHz的clock給led driver
! a1 k5 ^9 X, u) v7 p7 w最後所產生的pwm還是跟v-sync不同步啦...0 |4 u! t5 ~6 c
所以現在改變做法...
$ {9 R2 ~6 U5 A' b* n直接用60hz產生600hz的pwm...
- ^' ^4 E0 [3 k' [8 ]duty就一直去sample  led  driver的pwm就可以了..
9 q9 J, d5 W# C目前60hz-->600hz已經ok啦...剩下的就是去sample led driver 的pwm..6 y- Z; r7 V2 X. m* \4 K

8 t  j/ K# p# X4 M! ~3 R9 ~1 d感謝各位先進的幫忙呀$ u2 P" O0 g# K. ~0 f
, o/ c$ y; K$ H0 I1 V+ J6 C
另外...想做一個shift的function..
; V3 j4 O! k9 U, n. Kled  driver的pwm進來...送出去的pwm要shift 60度或120度..; |: v2 g5 w6 G: x
是否有比較簡單的想法呀...
11#
發表於 2007-4-16 14:14:29 | 只看該作者
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,% Z1 y7 _8 M1 u; @3 D! b
利用 74297 的電路來參考 60Hz 或許可以;. H8 t/ Q8 K4 a6 p8 m0 [
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 * _& C4 z7 n- r5 M9 C4 A6 W! ~
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
' s% L4 j, C8 d' \: g% [4 A6 a1 y

0 G: ?' h9 ?; ]# y' b( ^
+ o7 v$ z2 I4 d2 v' `$ N5 I想法是這樣沒錯啦..
% j( u" K* E. l) k以2.457MHz的clock來說...
, a. V# x+ F" m1 T  C你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)4 w2 J" I9 }, h3 ~# s: X
shift-->one counter" g7 v4 Z# j% M9 F3 S7 R$ O7 s
memory high-->one counter
" \! F5 f! f$ `5 p8 ?/ imemory low-->one counter
- o. |; E/ t/ K0 j" I/ k我目前是要用到四個counter...
- ^6 K5 {. U5 _: k+ {! `不過這樣做起來感覺很不好...5 g8 Q" Z5 w! i: A2 B; N$ U
! X( }$ H9 n' c6 G
而R G B各要一組shift..
+ q; R3 G! I3 b" r& F! m+ J128microcell已經被我寫爆了...唉....
* J* A3 _: ?* Q$ c  W' F# G) m! \6 ~. M) b
其實光是寫同步的的code...128microcell就已經被我寫爆了呀
0 A' @8 t2 N; S- |2 |* F9 W0 |(目前是用lattice的 iM4A5 128/64)
. h8 A$ X( l- h3 V6 `1 c/ d8 g) ]7 G. C2 P& ~6 [& v
所以才會問各位先進是否有其他的想法.....
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...! q& t' A  j+ {) j( h, r8 S
你的design很大嗎?
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題.... n# n4 _  s( D/ C2 ~/ ]: Z
要做phase shift可不用改到duty cycle啊...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 ! r$ |8 A6 x& H1 N# }( _9 B- U* i
也...回到你回的問題...
+ W0 B& r4 ~+ f; A9 L, d4 p. i; O要做phase shift可不用改到duty cycle啊...

7 m4 Z+ o) A; _7 N& _$ N8 V
' @4 p3 z, ~. q+ {: _
  Q- `9 r( o+ S: ~; d$ r; p" \其實我shift要做....duty 也要改..
) o( a% n3 s1 l* F' M所以才需要那麼多的counter...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
' k% a  {) j' ~: x5 |+ K也許可以放到64 micro cell也說不定...
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3& b8 x9 ~9 @; r' ~6 w
output也要三組RGB 12bitx36 a& n& V; N& P7 ?" v/ z+ k: J
同步需要一組12bit counter7 R+ @5 |6 G) R' A, t/ }9 w7 H8 a
" o7 ]- }# a' m6 |+ P
其實我用到的reg..大概就要180個了
" J0 w: O& t# O- u) D. S- W所以64 microcell是不太可能啦...
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...: \4 Y5 r2 C$ `; W( @2 w

& z6 i' z! L9 c你有HSYNC可用嗎? MODE 有固定嗎 ?
6 t# ^$ K: |$ D有的話至少已經上 KHz% R3 I) m$ q: ?1 R. m
而且就倍數來說一定也會跟VSYNC同步吧
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 0 e. [$ s) L$ d
問一下下...
/ m  T: T' L- h/ F2 G5 t9 m4 e: Z# W7 p6 `9 x- t# @
你有HSYNC可用嗎? MODE 有固定嗎 ?0 D+ ^& q$ e4 }9 R
有的話至少已經上 KHz. J  Y; O6 W" J  q
而且就倍數來說一定也會跟VSYNC同步吧
, K7 |( v0 f: l* C( w+ W

6 ^8 Z. Q2 A. ?' J' K4 _* ^4 ~+ h. I! r' P2 p
是有H-sync啦..." j$ p+ c" R7 w
不過不能用h-sync來做...
% P0 r' v: f) j7 j: q5 j& t因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-19 01:49 PM , Processed in 0.138518 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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