Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
12
返回列表 發新帖
樓主: kolong
打印 上一主題 下一主題

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧
$ e. M2 J; ]! Y1 I) R' h如果有 PIXEL CLK 就用它除頻
0 }  x! \; I' m- ^1 D& {如果有 HSYNC 就用它倍個幾次- y# r' s$ ?5 f0 z$ _( Y$ a; V5 m+ c
. t; A5 H+ k/ Y/ G# v7 @
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係$ |  Y  Z+ s: ~4 L) ~7 A
" J; H0 O$ Q/ c) P  K% F
   640x480@60Hz => 25.175MHz (39.7ns)' M. q* l8 ^9 Y
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
# P( H/ l& _& t0 B  u   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)
9 y" r8 C7 h8 v所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)( e! ^9 A& o' D) q
# v) d5 O6 m/ S) Y, N. ^; O1 \
接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
) ]2 y: q$ M8 {1 ^
4 }8 g8 E) B& t1 v2 I/ G還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 # h# Y- j$ `- O( ^
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
9 i$ L, V- S3 v+ o

4 [* z+ H; S9 Q' s. b9 S: U! m8 ~; X0 f7 b

3 Y+ e, Z# O- }  k; \' _嘿嘿....沒錯... c, Y8 {. ?. r# r' K1 N4 c+ Q. Y* c
所以我現在還是用60hz去產生600hz..
7 b0 E0 R+ I% n( M, x4 g另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。9 U+ q/ t: I2 o5 g) T
//所有註解都要保留& x- c, ?. P) X6 x- d

* p% g  |5 A. u: Q* y: U# A`timescale 1 ns / 1 ns
" ^' ]8 m0 d; R1 umodule xclk(sclk,ena,set,outp);
0 C/ O8 O$ O* }3 O
, e# X9 x$ Y9 B; }& ^
$ r) V6 T9 z0 o8 q2 n  x* `9 `) F& S' G$ u/ u
input sclk,ena;
$ @6 a5 G3 y. E- x  C: Q) t9 Cinput [1:0]set;
$ z* e' l) U6 ^output outp; 1 ?3 h7 O+ K4 B: A) W
# Y) Y! E0 M% A6 q) z3 b. c" ?* ?
wire outp;
" I2 O% R% _7 c5 b- N! \2 o6 \
, n5 F" }" i7 P8 q
! ]- y0 o0 V% y; k. l, y2 f. Z8 ?7 U- a
/**** Node preservation for nodeA **************/
3 m% ^  r: c0 {
' h" C3 F: @. k4 v* M. y, y+ M& F+ u! A, ~% r' ~3 F* [
//exemplar attribute nodeA_5 preserve_signal true
1 @2 ~2 `3 P+ }$ r5 T; [
. K' b$ b$ P; g6 J- N/ j4 P//exemplar attribute nodeA_4 opt keep
& _2 N/ M% @$ Z0 Q; `8 f* r! T6 ?; n( I' }
/**** The following comment form also works ****/3 I) y: |$ p0 C: C
/ t0 r+ R& p' D
//exemplar attribute nodeA_3 preserve_signal true
& m6 ^7 l! w9 W8 j* O! o! O6 p( m5 e  ?4 s' G" V, N) _. H3 X. K
//exemplar attribute nodeA_3 opt keep/ R% b/ T( I8 \$ Y

' z% `$ r" S9 b( I* x& l/**** The following comment form also works ****/
; O8 C; M' k; S" q4 M2 y: d) L1 Q. P: o: B$ C+ W
//exemplar attribute nodeA_2 preserve_signal true) k# y* R0 o5 @% C$ f( w/ T
7 n0 @' m, P! E
//exemplar attribute nodeA_2 opt keep9 J$ L3 O7 J9 g
" u) d* L3 I1 T+ I5 `
/**** The following comment form also works ****/
% L% ]* P) z( c
; X8 }$ Y# n3 o% M7 C  t; f//exemplar attribute nodeA_1 preserve_signal true
) l5 a4 B/ {: V1 [$ }5 S+ I5 J# X
//exemplar attribute nodeA_1 opt keep; b8 Z0 B! l6 n; l3 c  F0 [
" T- E6 K; }- U- x+ {" z
0 O+ [0 P3 w8 f6 e5 P
/**** The following comment form also works ****/
5 R0 @5 n8 I& v
1 g- O0 e) i: ~! a% S2 [/*exemplar attribute nodeA_0 preserve_signal true
7 ~. E* v6 ?' O1 q7 Q% R0 O
0 Q/ r1 j6 |  i. Z; U6 Rexemplar attribute nodeA_0 opt keep*/ / T& d5 a: Z* [& c3 j. P
5 `( E. I8 }% m2 z* g

8 s4 \& j0 [. S/ X1 v 8 x4 e2 v! U" J' B* A
, S# H* Y% z8 X, B0 w  U

  t3 z7 M- x( _+ M' }( H* C& \, S+ F) a% [8 a) W) o

8 v. j  a% M0 ]8 g. W  |) c* J. F# m& }# a' n

5 u/ \4 s0 Q0 g  m7 q7 P* I" ~: l( @8 v9 h+ m
wire nodeA/* synthesis syn_keep=1 opt="keep"*/;
1 r& l  ~7 I* ]wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
$ J% H$ D% ~/ }8 c5 i, v& d$ L9 \wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
" ^  r; @5 y% n0 ]; U: ^! H- ]wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;  n8 N- X4 @, B4 s
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
7 g2 E8 ?; h6 S6 Fwire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
' T, d9 I% v: A4 _- Y! U. c4 I6 k& r+ O  D8 L
assign#1 nodeA_0  = sclk & ena;' r4 g- J# ?- r1 B( L" r3 A

+ n  p; {9 s- l; q8 P; ^2 Yassign#1 nodeA_1 = ~ nodeA_0;
8 i1 c& y& j, j- k% y* Oassign#1 nodeA_2 = ~ nodeA_1;" I' U* H) Z" V3 Z1 H
assign#1 nodeA_3 = ~ nodeA_2;. ]/ J) _) ?8 F& [) J9 T
assign#1 nodeA_4 = ~ nodeA_3;5 C7 ^! u3 `* L

( ], }3 S6 f6 e8 Lreg xout;9 O/ G: K" ~1 k! M& M; \
& c6 x2 `2 Q( x
always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
# g  c. T/ [( w* B) h  casez(set)) {2 |0 @- N4 P/ H( t
    1: xout =#1 nodeA_2;
8 N* O( r( e0 j; U& Y+ m    2: xout =#1 nodeA_3;0 m/ n* U2 C) ?6 m, d0 `
    3: xout =#1 nodeA_4;
9 v3 l' z; B9 A0 K- k! c    default: xout =#1 nodeA_1;- s+ L$ z" b# {. |& b
  endcase3 ^- G5 S/ a( d/ }- u
  ! p9 i! X9 W- O* w% K
assign#1 nodeA = xout;' J& l4 x& [1 e- |- h
assign#1 outp = ena ? nodeA^sclk : 1'bz;. I& M6 y" H( Z- r9 N0 z6 P
# t' _  }, i$ r3 L: ]  `
endmodule
# ]! ^8 V2 u5 F' X# O
) }% v  U% G7 E' Z2 W- y1 m+ B
  s, V' v$ E0 L3 O1 w- d: N2 K" E  @
`timescale 1 ns / 1 ns  I6 r1 \5 F; B6 e
module xclk_tf();
* ^! g8 p3 g+ Q( d/ ~( Z  K- t9 c7 o3 C5 v& l) M6 z3 |, {" d
// Inputs) f# {8 o! U' z& ^6 U
    reg sclk;& t# B6 m! C2 J) ?
    reg ena;
* z% l- C: E9 F5 ?& p% }2 Q1 r    reg [1:0] set;: M6 n0 U8 q; k6 Z0 R

; U" \/ _; ~4 r+ e5 ^) _6 g+ [
' m/ y: L' K( W  B  s// Outputs7 E$ s6 F2 B0 g' p% V6 }
    wire outp;
. Q9 H9 A& z- ~+ l8 D! w. @
5 R, {* S% ~; g2 I5 L; M. x) h1 A9 O7 l( F5 @8 b$ U8 J
) d/ x! F' f5 r: T. q# C0 m7 Z$ k) Y
    xclk UUT (
7 a" V0 X- @% k& P; G4 B) h! b7 X        .sclk(sclk),
8 ]/ u1 a- G8 F% Q5 T7 D; O8 n        .ena(ena),
; R3 y1 n" \$ `7 p3 c: W        .set(set), : c/ i, z, j& V; ~+ n
        .outp(outp)
, q1 v2 Y6 y& x+ u" o$ K% C; E        );7 z( H9 S, d4 `* s  }$ R) m( I- J
% p, @! B6 B6 T- o- r9 t& k& v* b
( C$ o( ^: ?# W
2 c8 X# D. B8 @  o
    initial begin
) c+ }* |5 s5 e: X: h' D: R$ h; O            sclk = 0;
% q+ _" \  j' ]: Z! B- J/ [            ena = 0;
" p3 x+ E$ e( A            set = 0;
- d4 T: i" r, r% s5 ?; @) b    end
& }" w! P' T- t' M% g) u3 u7 I$ s) `' p+ ~$ x0 [" B7 y
& e$ }- I1 G) X* O
always# 5 sclk = !sclk;8 |% y" ~: W; b( w( j  h0 k
$ C' w" }" U' ~7 t* L( g9 o$ W# K
initial begin
) s: P4 _: m. B" q% D$ e        #100, `2 }0 M0 i1 j
          ena = 1;8 s8 t0 g( n0 d% S
        #2000
3 \. B7 v6 y6 C7 ]" y$ ?          set = 2;
& d/ V9 l9 W: d$ f  n, p% U1 A& {        #2000 5 e4 W3 }* `1 _
          set = 3;1 v$ B! V( G( D7 f
  #2000
# [" z4 ~( R" T, [& B) ?% h' t  $finish;9 v' R1 m3 i" _
end
* v/ \: z0 `7 O6 pendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了) Z! G' r7 c' ]3 [! `8 K3 x1 ~
有simulation的waveform嗎?
& R( O' g0 ?, w8 Z示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
! `' k$ l- X7 F  }; d確實可用! 已實驗過,但我不會貼圖。, b- X; G: e+ K4 d" ?* q% {, i( l/ U
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??. ]! {% k5 x1 g2 j2 a' V& M& g& Q- W+ ]
: u( Y3 ?6 _+ H! G3 l2 ]. ~; ], u& \
可以和你討論幾個問題嗎??
2 h# H. H* v0 B8 h( O( h& E8 }4 w
: B% k- D, T9 u5 O$ O方便留MSN嗎??* P$ P) P# w$ `% R/ {7 K2 X: |0 G/ n

4 g! ?# R) k+ d' H感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
: T4 l3 K8 K$ F' C+ S- i2 S# ^4 w+ y是要用在LED Backlight的....% I. g9 Y$ N" g1 |* h9 m- j* q
其實有問題可以在這個帖子直接討論..$ y: w9 @! f/ i' C$ H
這個沒什麼秘密啦...
! o& \' @' M& U因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-1 10:57 AM , Processed in 0.115515 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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