Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧! E+ I, u4 ~: E% O6 V/ n
如果有 PIXEL CLK 就用它除頻+ z" w" J& U; J3 K5 @
如果有 HSYNC 就用它倍個幾次7 f8 ]: S: _1 {/ N- v
  @9 h# o9 T- j9 A( C$ d$ b
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
6 w% J$ h1 f: S; @6 Q2 v; T
5 r% C% q/ Z2 }  U1 J   640x480@60Hz => 25.175MHz (39.7ns)
, w; }  q5 O' e- o2 ?3 a   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
9 F5 U( a" [8 g. q' O3 x   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)
) m6 C" k( ]7 i/ W+ S2 C4 ?所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)
5 L/ k+ l7 A2 [4 v1 h' D3 B
3 Y9 L* T5 J1 O  O7 z( n/ `接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
' j1 ?  B5 p2 E' y$ P' E# w5 x) E
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
+ t2 W8 b! F) v, d4 v. ]5 F這樣子做出來的phase error會很大也, 要先看規格的要求一下下
8 [; A$ P5 b2 [! d  D: N

; d. d' W% g( {" m1 B* u8 A$ c2 Z1 t8 m5 J( j% B

! [4 Z3 N% {7 ]5 W% X  H  k5 L嘿嘿....沒錯..: Z" k7 k2 a; F' e1 ]
所以我現在還是用60hz去產生600hz..
6 [9 ]9 F1 A8 \$ [3 a( ^" C0 Z另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。9 G- l* A# M- y; C
//所有註解都要保留: t2 r& u6 |! x$ o6 w8 H# e# L
% ?$ \1 I- x/ V" d" A* j% ~0 }& G
`timescale 1 ns / 1 ns% m& f6 M8 i# E4 C
module xclk(sclk,ena,set,outp);
: K, _: X2 S2 S$ n8 a1 H* l; H; z  i! M) U
; ~- N2 C4 H/ J+ S 3 p3 W  C8 O1 T' J, u5 p

' j8 A/ A3 C4 {input sclk,ena;0 F% g5 J) V) A  U6 {) E9 {% G
input [1:0]set;
" Q8 k1 Y7 x6 Z3 d2 p+ K1 x8 t' boutput outp;
: R4 h/ l7 h$ c( y: H; T: c. v" p! s; G) H
wire outp;
4 I6 W7 N# A, r! v% K! w* l3 O/ x$ c- C

( }# f/ B6 C* r. z2 P9 |, K
7 j3 E" u) c3 t7 v2 p4 Z# A/**** Node preservation for nodeA **************/
" q& X* T! R5 n+ k: t: S4 K( b. E3 C1 w# N# ~6 C

0 S# O2 E8 y  \9 s5 `2 c//exemplar attribute nodeA_5 preserve_signal true+ g! i; A% r- q2 S  Q. i3 J+ Y
) K: R" c: `9 {- |7 E
//exemplar attribute nodeA_4 opt keep: a7 P/ P1 L# a0 t7 D8 _

9 l# t: ~; j5 E5 P/ C5 ?/**** The following comment form also works ****/* K% g+ m) ^/ F: ?) }, E
7 w% n, h/ z  g+ f! ]9 S' V
//exemplar attribute nodeA_3 preserve_signal true; A# S: z6 _7 {  z

' e9 `/ [! W3 H' i" n//exemplar attribute nodeA_3 opt keep3 ~1 M4 z9 M) w7 L

( @  j9 F+ p$ \+ S8 O/**** The following comment form also works ****/
. v2 E! ^. D/ ]( Y# x6 I
5 p1 V  W6 B: C//exemplar attribute nodeA_2 preserve_signal true
" N- x: I6 v5 m8 T; L* r+ W* d7 N# \1 z1 y. b
//exemplar attribute nodeA_2 opt keep+ L! C% y9 o9 s0 ~6 e# m' D
( B* _3 i6 Y7 S7 o3 A$ h, C
/**** The following comment form also works ****/
, c4 m3 \* F; j1 i1 R6 h0 X) }
+ F8 x5 p9 M' W2 I5 O; D8 Q0 P- C//exemplar attribute nodeA_1 preserve_signal true
+ C& ~) M' N" [% d1 q) v: X# r
# h; v( V1 G- T) `7 W# [3 T! w& |//exemplar attribute nodeA_1 opt keep
: O' X9 B/ ]6 ?6 a, ?
4 H- ?2 j4 L9 u5 p& y. V4 F) b' K0 u$ l( x/ |3 f* x! }/ G
/**** The following comment form also works ****/
6 o1 A( z7 _/ a9 N# ~! w4 e# [) Q0 L
/*exemplar attribute nodeA_0 preserve_signal true
( T& R' p2 ~/ t
  T' }, K& g2 texemplar attribute nodeA_0 opt keep*/
1 K- h. R' F3 g" T' l& I( Z1 ]5 C( N9 ~
* |$ x, ]0 p) O. l  I

8 H- ?8 ?. L0 h. B' K! u2 H/ d; m8 Y

! r, f" I  E# T. Q! N; A
: ?3 Y! K& L& K& y9 J6 q- D- ^
7 V9 F3 a+ \$ [# u/ t1 o' ?* v

0 L/ h/ {/ C! A. p3 g4 ?+ |' j, [
4 q/ i$ w6 z0 y* iwire nodeA/* synthesis syn_keep=1 opt="keep"*/;
4 H+ G8 v3 v/ W' U* Pwire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;) X* Z1 _" L6 [, }  r* e: m
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
6 ~, c1 S. X+ q  M' Z7 Wwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;! d1 i9 Z% Q! T( |( Z2 z
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;5 Q- H( p6 w+ j# _7 x
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
% x3 Z' n7 i+ K3 }) S0 b1 b' M' r  y7 D' K2 L
assign#1 nodeA_0  = sclk & ena;! I" f9 a, D+ ~: y2 u" h  i
+ @$ b$ }( h2 r5 m. }7 ^
assign#1 nodeA_1 = ~ nodeA_0;
. a  |5 U) \) c9 bassign#1 nodeA_2 = ~ nodeA_1;
0 v4 H9 q2 N1 n8 {( V* C4 f% Yassign#1 nodeA_3 = ~ nodeA_2;" u+ j8 J" i2 ?+ K' q
assign#1 nodeA_4 = ~ nodeA_3;
7 |# s: S/ \2 ^/ V! z
0 T% ~9 T+ p, i5 G) ?) Yreg xout;5 P! b; i9 e6 v, f2 y: k( ?( f

; H  F. q/ [) @: y: ^always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
* F+ V% x5 g6 I8 p  casez(set)0 K+ Q1 c6 |5 [+ I. s
    1: xout =#1 nodeA_2;
# m3 f# o' [5 G/ G* r8 E" m    2: xout =#1 nodeA_3;
' v+ h3 T) Y/ C2 N% R    3: xout =#1 nodeA_4;
( x: v0 a, x  V. i0 C  M    default: xout =#1 nodeA_1;+ q% {& T( W- a1 W6 O& A, I$ M
  endcase
9 F. I- F, Z. P/ j  
* X- f& O5 E9 e2 ^5 x! xassign#1 nodeA = xout;- t; ~0 \. H0 m3 Q# W& Y# F
assign#1 outp = ena ? nodeA^sclk : 1'bz;9 I, K- C$ ~! o1 T% B# F
; M1 X- D% ?2 H1 w6 \
endmodule
& S3 X! k: K* r# l# f# i7 \' @8 Q% u+ P4 S" W& m( X& d$ w
/ R5 U& u5 e) h+ _

) N5 d- z7 _+ F3 R; D5 {7 }  J  X`timescale 1 ns / 1 ns
' Y2 m6 u, R6 m6 r" P8 q, L1 Dmodule xclk_tf();
% J* c* T% \' T7 L8 y/ b  @3 p
, j* ~& ~# o2 V4 b! n3 z// Inputs. `" y+ E1 m: E- c% J4 \9 _6 A. t3 f
    reg sclk;. ?& `  n9 Y! M
    reg ena;7 _7 E8 o+ a6 R1 Y$ l% s2 g
    reg [1:0] set;
4 i( q6 |$ E3 R; A2 F3 }+ S- W' b/ j' {7 A) p

- s4 _' w" y. |// Outputs2 \5 P2 j9 H" j  ^5 u
    wire outp;
2 i1 u$ |" @* r& X5 C' e! M% J# W5 P  Q5 j0 p' y

  p- a( l+ D5 k; w) p: @6 p( |7 w( W+ b
    xclk UUT (! V! R8 \. I; I
        .sclk(sclk),
4 q% h4 W3 T4 ?% x! P% H9 S! i        .ena(ena),
/ P+ T% ]& v( ~1 z5 Q        .set(set), ' [( v+ Z- u( |; z/ }7 `
        .outp(outp); i/ Z: o7 B( T, w1 T2 @
        );
4 v8 o1 X9 A( j. G8 u/ n, p& ^
1 I* w( }0 p! v; C! k3 J$ w5 J; X( S) u' `

/ r( B* o# r7 Q, G( ^# r    initial begin! w8 d' s% w; H% R7 U& a* s
            sclk = 0;
  w: K( q$ \7 F. v0 b* _            ena = 0;/ \! [, K' t5 y1 a3 E6 u
            set = 0;
- R% k' u# p6 W0 H    end' a. }/ R9 d1 d* s4 q  X" u
2 e( T9 `" e* P- c1 d7 j) T
9 j5 f' \6 S4 S3 ^+ _2 S, a
always# 5 sclk = !sclk;2 [- c6 M5 o, X" |- o
$ e4 z" J7 b% c6 \7 d) P
initial begin
- C4 F+ O) y5 f7 M- s        #1005 X6 F4 K, K2 J" p; d; i6 O# ^2 u; t
          ena = 1;
2 E+ V* G3 f: r        #2000
- x7 ~6 j3 i# i- K" m* R          set = 2;
. n4 ~' |* ~. Z! S- W. n        #2000 ' G; T* [2 T6 l3 ?' f# l
          set = 3;0 h, Z) s3 S6 i- R
  #2000
% d. m) ~. T  @5 A  u, J  $finish;# }' ?4 b! Y7 @) q; ^
end1 k2 w$ a& B+ _  g- m; k  i9 y
endmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了
5 y7 x6 E0 Y- z  S! p% H有simulation的waveform嗎?2 i9 v. M- H, P7 b4 W. o- n
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench3 i- K6 [2 q2 [+ K; O0 W
確實可用! 已實驗過,但我不會貼圖。) b% I  ^1 S4 h3 O& ]
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
! b3 ]8 i5 b+ |& v8 v: G$ U5 ?+ U- v# S. I. w
可以和你討論幾個問題嗎??
% N1 P  G: x- ~3 L+ f9 ]) W0 ~9 a! F, v. f1 |. k" F
方便留MSN嗎??& G7 c1 s8 P1 \; k

2 [% X0 d9 Q8 Q( y+ E4 t0 a感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
7 Q6 Q- ^0 |/ a" y是要用在LED Backlight的....
3 P% d% b4 N$ t2 m0 }6 z其實有問題可以在這個帖子直接討論..
* v2 a# P" A2 y! z這個沒什麼秘密啦...
& A! o# g  K7 ^+ {4 {# E因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-20 05:45 AM , Processed in 0.122015 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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