Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
7 I1 z0 K9 g% P- J  W倍頻是否只能用PLL的方法?4 u& w& T: {. U2 F
最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
$ ~: l9 u  N: c是要用在LED Backlight的....
, q, D* u# S. v( p: W其實有問題可以在這個帖子直接討論..
. q- m2 [2 D3 X5 |- `. `5 m這個沒什麼秘密啦...
. r. h# u9 m# V因為我已經申請專利了.....
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??3 `$ ~" U! P. M  z  K8 b
2 D) Y  Q/ k' A: n
可以和你討論幾個問題嗎??, n3 q& G4 l' d8 w
  _0 S' @7 U& X& {! m' I
方便留MSN嗎??. y% b* Z; t+ e

- ]& ^& z. H5 ^, K; f# ]5 i- b感謝
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench0 P5 n: L( M5 U5 [# a0 j7 y
確實可用! 已實驗過,但我不會貼圖。, @# i: Z* [2 c7 V* K
只要略加修改即可實現。
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了/ B- u& l: i' ?+ n9 S1 J
有simulation的waveform嗎?3 M2 r; W9 f5 y& B
示波器量的更好~~~^^"
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。- n5 A! h& l$ M( Y/ `+ F( J( ?) b
//所有註解都要保留5 s- C6 o7 @: _1 [* B3 E8 @7 a* t5 J
6 n2 n  Y0 v& O$ {+ ^& e0 C9 m
`timescale 1 ns / 1 ns
& i" V1 R! ]" y7 [1 Q' E4 d7 nmodule xclk(sclk,ena,set,outp);! P% |! F8 y$ x6 J$ S0 m) K

; W  k4 _" Q. o4 V! A3 y3 \ ' ?  Z. \! h; {" r9 b2 j5 e
( u9 F& L; m- M( X- _: F' Y% `# J6 F
input sclk,ena;
, e5 `7 a: a7 f! X7 @/ h' Minput [1:0]set;
, h; B7 i' e3 P: T. B1 Soutput outp;
( `6 Y* p% v! _) ~, i% ?7 [
9 i  i2 G' |9 @6 \6 b+ T/ twire outp;
$ g- U9 m. d  ?% m) W* \6 p% }( D& E: s- a, Q, t

0 G2 K7 B/ }) ]2 w" S
+ T% f) N: Z8 J7 h% N3 G/**** Node preservation for nodeA **************/  a+ {; ~8 A, [& F

4 W! g; k6 D5 ]) a' ]/ V% g* C4 _! n1 o5 s8 a
//exemplar attribute nodeA_5 preserve_signal true6 [! |! p& @2 L# i- n- u4 v8 {1 k

8 f. |1 E2 w1 g5 w% ]) K  h2 d) w  }//exemplar attribute nodeA_4 opt keep
: R/ O: d8 O& F# O$ a! l
. N; y% k6 I; P5 N2 T6 F2 A/**** The following comment form also works ****/; Z5 r% s& n) ]/ X  @& h1 B& G  e& {( F

# q# h; }; ~" q# Y//exemplar attribute nodeA_3 preserve_signal true" \) O! z5 N/ g6 _; l& q! L6 q" ]

0 u3 y) w2 b7 T  |, g, G0 N+ w//exemplar attribute nodeA_3 opt keep
6 c& v2 a+ E, r4 o: m
$ v( l- k6 ^0 K; s/ A& r/**** The following comment form also works ****/6 s+ x' H1 [, R/ Y8 Z5 i9 c

/ n4 F, k# a! T$ ~- ]; J//exemplar attribute nodeA_2 preserve_signal true
" R: {. e! N0 V2 q3 U" A
& m% ^: o/ D. u+ E//exemplar attribute nodeA_2 opt keep% {) z0 J' `$ V
' Q) e! ]  q- @
/**** The following comment form also works ****/# J. D0 q% ^' h1 Q2 p/ u

0 x( \9 t- O# _1 D//exemplar attribute nodeA_1 preserve_signal true
1 @( k& {" D* R/ B0 p
* M( A1 X9 W, V//exemplar attribute nodeA_1 opt keep
% s1 C9 Q- e, e9 H8 f7 I % |$ a( Y" N) Q- {1 P

! [: _) n, w+ y/**** The following comment form also works ****/' I) K- z1 E# X' S1 v9 s2 d
/ z9 v4 U+ s" Z! Q" H" c
/*exemplar attribute nodeA_0 preserve_signal true
4 P/ d: e9 F' }+ z5 A# J2 G) k$ z) m& E' j; E
exemplar attribute nodeA_0 opt keep*/
3 U4 S! R* I) k7 U! H" L1 P5 g$ h+ e( h6 Q" B+ ~" S% p9 j% j
& c1 f$ Z2 l* ]' @$ ?

; B* {" b; T  _3 H. V- p) E& |0 X( a/ W9 p4 b' j
5 N( _- D" J7 S1 R

  P% @1 O. l# T3 z2 g+ y! u( f( Y7 T2 L7 g9 }
6 B. B2 J( X% [. \1 S

' z; d2 [" h. [( Y* w5 H
' Z; o( z. R. _6 ewire nodeA/* synthesis syn_keep=1 opt="keep"*/;  L. H0 X3 y9 x0 [: t
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;' y' l' ~) W: Q8 {) x
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
! k" O/ L; e' {# `/ _7 owire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;
' N" B, Z2 Q( l6 Pwire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;6 g4 T0 k$ w, B1 k
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
  }! a/ z9 h( Y; {  J( Z: _# O( s# l1 i3 ~' g
assign#1 nodeA_0  = sclk & ena;
8 h8 y' I/ ?) m6 e5 D
# V! l" A; \! m' Massign#1 nodeA_1 = ~ nodeA_0;3 r6 F: ?$ q) ^- \% f. j
assign#1 nodeA_2 = ~ nodeA_1;
6 q0 K% b* @* V  {: X, K1 C3 Dassign#1 nodeA_3 = ~ nodeA_2;& i2 E, Z# a/ Z
assign#1 nodeA_4 = ~ nodeA_3;2 o1 ?( e# k/ x3 C4 M
3 ~5 [7 s! t9 w4 z% d6 U3 h* W
reg xout;) u0 f0 m" J" w; w: M( L

; o+ [9 u4 J- Xalways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
) ]3 u  U. q1 ^) }  @& _  casez(set)) X/ S0 B( c: i9 J
    1: xout =#1 nodeA_2;
. V7 }" y( R9 p    2: xout =#1 nodeA_3;7 l6 F( Y. t3 h- R+ G, ]2 G
    3: xout =#1 nodeA_4;
2 s+ S/ f- H. W) P2 T, k9 C    default: xout =#1 nodeA_1;
1 ^! C. |- O9 _9 r" |" A  endcase
; ~( _* F5 I5 [& A4 ^# h) b  ( c+ t" ~) a& h- a8 f- c, B8 @
assign#1 nodeA = xout;
0 r, [  Z2 M! ^7 L' f# [; M6 xassign#1 outp = ena ? nodeA^sclk : 1'bz;! x" T5 K3 L8 Z& [! D
1 j# t5 r: g, }
endmodule
/ F7 c$ a2 l' V; n! C1 i
& p( Z2 @0 y$ O# F, m  R- E
7 \- k; J& s. s
( H  C% B% v8 d  z* e* @1 k1 x`timescale 1 ns / 1 ns
1 Q1 {: V$ B7 y& {5 Z1 {8 g3 G$ bmodule xclk_tf();3 d" s( |8 F) T, X4 z

2 Z7 X1 z# o6 b// Inputs: `8 J. d3 M' R6 c
    reg sclk;
0 q, J0 U) @; D& C8 P+ w3 u9 U    reg ena;  Y1 e: f! z0 P1 F
    reg [1:0] set;
- }0 {  g7 s) B) K8 W) _
+ H( i5 n0 y  `. w3 w- b+ B2 l3 g6 G1 p! ?: K3 Z  G
// Outputs
8 M  a  a8 l! e. d) z    wire outp;2 `# t! e# \% N  U+ V( c: \( n
: T" S' p- s: \6 c: c# w
1 w! ~) a1 A6 V" e8 ]+ o9 y4 S! l
% O5 O/ k1 j( J
    xclk UUT (0 F& w% w% [' E! e7 z
        .sclk(sclk), 0 C* Q, [% i9 V5 E! p/ @3 R# m3 m) U# S
        .ena(ena),
' P7 p% n0 E6 z& B3 `        .set(set), ' u* i1 }4 E( x8 r; ]& K  r
        .outp(outp)
  q8 Q8 h  a4 U2 u* c        );
3 P3 \: L5 L/ n7 e, t- q: d4 P) h: O  l8 J% S3 }/ ], R

  U  W/ ~$ Z, O+ \0 A" {& x) K1 V( D4 q" j
    initial begin( u. o& x1 U% n( |. I3 B5 u
            sclk = 0;" v6 V6 p6 b) j$ D& J6 W# ^6 ^
            ena = 0;9 C* d2 I# Z- w, D( k4 n, d
            set = 0;
! p% I# K% i/ H( k7 r4 c    end
" Y/ \5 |# K1 ^! F
3 e1 o6 C! A7 b/ I. V7 J  t: s/ V8 b1 x% K
always# 5 sclk = !sclk;9 b. Q+ _! V" k6 i
4 _! q1 z6 f6 Y2 Y
initial begin# O! |% m$ M' D1 W' ?3 L0 n, [4 N2 i
        #100
  `+ C! ~3 h6 A# l% x+ Z7 y+ p          ena = 1;& d/ a- I' j' K9 [
        #2000
1 D- }! @7 J# e( [) E: f          set = 2;
' ?0 M4 p) p! G9 w        #2000
8 z7 L9 Y, A' w7 j2 T. m9 q          set = 3;0 _, S. X6 _' r2 }* H
  #2000
4 K: o/ \6 r4 c7 ^  Q; Y  $finish;: ?4 @" J8 e+ x& t+ T
end7 Y1 F! {- T/ U- Q- e- @; h
endmodule // xclk_tf
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
6 X  A- @, d) D) l5 }  I% P這樣子做出來的phase error會很大也, 要先看規格的要求一下下

2 N! u% r4 V: p9 z# Y3 T6 \% W/ y9 s. ~3 G# `# p) N
1 Z* D' J% l) \/ u

6 L* F+ c4 e* t  ~: V嘿嘿....沒錯..( y$ ~: @3 Q/ W3 J+ O# Y
所以我現在還是用60hz去產生600hz..- J! d7 z  w4 x9 I
另外一個原因是因為客戶只會給我60hz的訊號啦...
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧
" o4 u# U# [7 C6 H9 j如果有 PIXEL CLK 就用它除頻+ a6 v4 W1 S. h. j5 i2 R( Z
如果有 HSYNC 就用它倍個幾次
; K) b& w: m) j5 w) F+ O/ T0 R  z% w) s! ]* T) m; _) m* V* g& K
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係# D9 S4 T8 u" t# O9 r
, g0 p, y7 C0 W; W
   640x480@60Hz => 25.175MHz (39.7ns)
; E# T9 f- E/ b   DOTx800=HSYNC, 39.7ns x 800 = 31.469us% o$ n; V9 v" ]: G& V: e  s
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)
1 O7 E" W8 L# p: W" U1 @4 T所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)6 B7 b6 W8 m# y$ s! ^

9 {9 x2 t1 {, o& `接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
" H, S/ ]; R/ A" Y& ^- y6 I" ^; V; c6 E7 ~+ {
還是我想的清況和你不同呢?
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表   h7 `' s+ u5 Y& J, S- z+ `& F
問一下下...4 X+ A( [" c, B: b

1 B- j7 b9 ]4 w: ?' q你有HSYNC可用嗎? MODE 有固定嗎 ?
7 ^7 @) C& @  ?# V3 f1 u有的話至少已經上 KHz5 Q2 i' _7 R9 O  f3 U1 g7 P' R8 n
而且就倍數來說一定也會跟VSYNC同步吧

$ F. }, q/ C( X8 W# Q6 W$ v) U2 j( B
4 }9 x8 K3 N% b5 Z$ C7 T( x
3 h: d0 d7 O2 l: C9 E是有H-sync啦...
7 H7 B+ e$ S, P9 R5 Z不過不能用h-sync來做...
  Y4 Y. u9 i# Y& _因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...2 I( n7 [8 o$ V! k/ U' V) d+ z( Z+ I: h
- X; @5 Q9 \' P) A4 f
你有HSYNC可用嗎? MODE 有固定嗎 ?3 W/ s3 f2 n2 N6 s& m
有的話至少已經上 KHz
6 h5 M, ?. r) l& z7 v! Z而且就倍數來說一定也會跟VSYNC同步吧
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx32 ^! s* M# C( j( I0 O7 a) O. L1 K
output也要三組RGB 12bitx3
0 l5 K! q: Y! I  I5 j# h 同步需要一組12bit counter
4 T+ c0 Q8 `% M5 h7 r" J  \( t5 x8 W1 f
其實我用到的reg..大概就要180個了+ u7 Q4 l/ f3 J7 w/ C
所以64 microcell是不太可能啦...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?! R" z6 S9 [# x! a; v! y& e9 @. Q6 N) F
也許可以放到64 micro cell也說不定...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 5 L* c& i/ |  r, W
也...回到你回的問題...
8 b: n& j; {* W6 M要做phase shift可不用改到duty cycle啊...
) D* T8 `  R3 V" u6 a7 |
7 P$ U! c9 O# N. l  ~" H
! U$ d- v6 E2 S9 n) \8 W
其實我shift要做....duty 也要改..  L4 x/ Z/ h% E: C
所以才需要那麼多的counter...
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
6 f5 K! _1 d) c( X9 \- K6 a要做phase shift可不用改到duty cycle啊...
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...( H2 o- \% O8 W9 S3 t; ^  w. Z& b
你的design很大嗎?
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表 6 y: P. n+ ^0 T% j8 k$ F
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

1 k% A6 t, R. c. w
7 P& w/ N2 i* W/ H0 N- ^, I, b- n6 |- M- m. w" v6 c/ [' e
想法是這樣沒錯啦..
5 r& Y- _( ]) X以2.457MHz的clock來說...
# @+ M1 u) r* ^  W你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)$ G' \  ]/ E& t
shift-->one counter
" X+ \' y! Y' b9 imemory high-->one counter
+ H" N2 I) T* I( x4 [/ amemory low-->one counter3 [! a1 a( }% Q3 D
我目前是要用到四個counter...% f" _- v7 b7 J8 h, \% k
不過這樣做起來感覺很不好...
3 _. H5 o; ~2 V; H3 K& @& M$ I& Q" t& n( Q+ G0 e8 ^# Y
而R G B各要一組shift..# r* v2 J; [1 P- T+ `
128microcell已經被我寫爆了...唉.... + _# `0 ~. j2 c
# x* @5 h7 w5 L, n& S( k' L
其實光是寫同步的的code...128microcell就已經被我寫爆了呀5 g, I0 l5 i: t9 d1 f
(目前是用lattice的 iM4A5 128/64)2 D/ `: P1 o! d& @( ^! F- n
' G% X$ ]( M1 u1 V+ z) y
所以才會問各位先進是否有其他的想法.....
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,) f; G* p7 F- n, e" y, f4 u
利用 74297 的電路來參考 60Hz 或許可以;2 u2 ~4 L+ a+ U3 w( u
DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 01:13 PM , Processed in 0.146519 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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