Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧; C, [. e& b% w& M. i
如果有 PIXEL CLK 就用它除頻# }! v2 t$ @4 N- @& g9 j
如果有 HSYNC 就用它倍個幾次2 R0 g5 l- ~6 d8 V

& O  s2 V# p# ]! Y2 ~* ~因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
5 _6 @  Z& p$ Z3 q
- l8 i5 x5 a1 K% B   640x480@60Hz => 25.175MHz (39.7ns)$ N$ i  K; [- W& F1 ^- P. b
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
# n; ?; M6 _4 x% i' i) p   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)" K) C# k7 s) A7 ^+ U
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC). U  z) ]( T$ s5 Z1 u* w3 {

1 Q. ?: ]3 |6 j9 d1 _. l接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
+ K2 s! w# d/ k0 g
7 D; p9 M$ M7 ?, @3 ^6 `* s4 ]; X# Q還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
( \/ ]# E3 i9 Y. B3 ?這樣子做出來的phase error會很大也, 要先看規格的要求一下下
5 A) W) J7 Y+ w$ J* |8 F

0 `# y0 }/ f5 `+ B
- ], j+ ?- {0 b
& |9 d5 N# g' y9 W, Y8 k9 r嘿嘿....沒錯..
! T8 ~/ ~* E+ o1 X4 f所以我現在還是用60hz去產生600hz..; r- s3 V% ^3 Y( q0 N
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
% @2 J' h8 g0 S" z//所有註解都要保留0 k2 @7 B. r- X# U  t# E

. ^" v' T7 D2 I$ z`timescale 1 ns / 1 ns
/ w6 z$ X3 }; `+ l+ ?module xclk(sclk,ena,set,outp);
5 z& u/ O' q% Z7 S
7 H  |" r- l' y* m 1 U- b( j1 ]: F- g6 d5 n1 V

$ Y& S6 G  Y, o- kinput sclk,ena;
8 h- \2 f7 m- Q2 p- f% Hinput [1:0]set;2 w' n6 I  F* }- D
output outp;
* K, F" D% }9 Y: ?1 U
7 j" y# l% ?  c! d+ D3 Dwire outp;( g! W8 `( U) R4 M7 i5 ?! M
. N" ^1 G3 |% x- R7 V$ i  ~

/ L7 a) E4 g: d/ p* Q
5 V6 d4 k' D9 o/**** Node preservation for nodeA **************/
* z1 R/ j+ ^$ |2 P6 q: Y4 m( y
' g! f1 {9 b. D) h+ ]. Z* A/ X& q" ^; ^4 E0 z" F- f; ]" y
//exemplar attribute nodeA_5 preserve_signal true8 f, ^: L, N* ]: Y# d# M' w& n

6 Y/ \. D" m# d7 F  k) D//exemplar attribute nodeA_4 opt keep
+ Y1 F& V4 m9 c' Y/ |0 p3 b$ h
8 j: r1 p9 B7 ^/**** The following comment form also works ****/% t# O: T% X2 K, k

$ k) S3 ~! a. D. m//exemplar attribute nodeA_3 preserve_signal true
) S& G1 A1 ~1 c
& [3 U1 i- R' X! k, r# }7 q//exemplar attribute nodeA_3 opt keep- S+ i; @( g4 c/ l7 X
2 T$ z; F( M' b( W1 H
/**** The following comment form also works ****/9 i4 f# D% e8 X+ G

! W/ ]# g1 ^8 j! L+ t//exemplar attribute nodeA_2 preserve_signal true
( ^# j: n+ y7 V% Q1 H8 }; w) o0 @1 B( K, E8 f* O1 ]
//exemplar attribute nodeA_2 opt keep, A" H% y4 \4 ~% M+ H
& K! z% C; M' ]* ^8 u5 d
/**** The following comment form also works ****/
' ~3 M* N3 v, N" F
" v( W, H, ]5 S4 L( U4 B) b, {//exemplar attribute nodeA_1 preserve_signal true
1 v3 K0 i4 L( R. S$ m+ ?4 i* Y. e7 F( ~
//exemplar attribute nodeA_1 opt keep
! G0 j3 x# ?4 t4 S# y- \ / ]- z- f  v4 }

* c* ~, L4 |8 ]7 x+ d* ?/**** The following comment form also works ****/
9 b9 U' J! t, Y) A$ o2 ]5 S. @* E/ m1 U1 s" q% q6 t
/*exemplar attribute nodeA_0 preserve_signal true
6 L* V( ]# `5 d. [1 r0 v( Q  H
exemplar attribute nodeA_0 opt keep*/ 2 J  w$ G. Q* c

  R. T/ e; h- o# x9 R3 ~% m/ T+ x, }7 V2 ~% p8 t( T  e

' U; z6 u, X3 |* q) P" A0 h
, z5 w3 Z' E6 O( u* z5 z+ R1 F

# d' p. f- g+ k  q5 c
$ K; L6 [+ N1 L& E" ]
+ x2 [4 r! Q! [5 r! h# Z$ E8 J% R' A. P
& h  N9 Y8 J( e% j
wire nodeA/* synthesis syn_keep=1 opt="keep"*/;3 G- H/ {( S0 l8 ^1 \1 m( K, A
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
, ~9 n3 F# W+ W# zwire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
' l  w3 o, B- k$ [' S: dwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;) Y2 K1 X9 z& R8 b5 ~1 Z1 Z
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;7 R6 r$ M, Z2 e* G9 v8 R
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
0 E, k& {* F) F& t' ^* i6 v1 g) ^& L& \: \7 a* {  o
assign#1 nodeA_0  = sclk & ena;
% S4 [2 o' w- z; `  I
/ {! ^. M* r9 {$ j$ r2 r6 S% cassign#1 nodeA_1 = ~ nodeA_0;- N& B! A7 X1 d: {6 b% _: C4 ?# r
assign#1 nodeA_2 = ~ nodeA_1;
, N% ^5 n4 q8 q2 s  L1 Uassign#1 nodeA_3 = ~ nodeA_2;' `0 m! |0 H$ j4 v
assign#1 nodeA_4 = ~ nodeA_3;
) Z& v! K4 u& ]/ D9 F
; F* ?+ k, s' T, _7 r+ g6 `: Sreg xout;
8 C% S1 ]6 c0 ^
! d' ~" J9 W3 M! ]8 Valways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
" j. p, _" q# W# u- Y" G5 n  casez(set)4 g0 N& C0 `1 g+ b. G
    1: xout =#1 nodeA_2;. C# M, n8 V( H
    2: xout =#1 nodeA_3;
3 [! i- p* F( o1 J    3: xout =#1 nodeA_4;
( {/ }  l- Q: k4 ?: r; y1 W6 O    default: xout =#1 nodeA_1;' ?2 T3 e% h# Z$ u& D0 M& a
  endcase  ^- K1 `9 ~, P- q
  # d7 d7 a6 d. R
assign#1 nodeA = xout;, A6 g  f7 b  L1 R) x9 ~& z
assign#1 outp = ena ? nodeA^sclk : 1'bz;
* ^* d+ B6 s" y* Z
- Z& r/ W. w6 D7 ^5 h" R0 Z* dendmodule
! P# o! }' E2 {6 R6 ]0 t7 C- V
) x4 t) y! A$ q7 e& ]6 {! C: v) h$ L
7 `) e1 h' y* [" w: N! R9 I3 l0 ]# N8 b( Z6 [. e
`timescale 1 ns / 1 ns
4 H& h- c% G. Q. e/ imodule xclk_tf();
- {/ [6 ?4 R# l/ u- G& U- }8 j7 G2 o% q: F8 J% i
// Inputs$ N! s' x; g* o3 k
    reg sclk;
# \& w* U1 o; d, r$ R4 c5 G" i- ~    reg ena;( ~- N' E; r$ P. j: h$ C
    reg [1:0] set;  K- m2 t1 E% r  B9 D
& Q( q( O6 j0 h- A
% u" b& I+ m# R1 @" a7 N$ G' x
// Outputs4 b' Z# b9 ~9 m6 P
    wire outp;, Q! L; Z0 S7 t/ x* N1 j8 h: V% a

4 j) Z) b; Q9 `: G, ^' q" b0 R$ {; v: y

5 X" w; k8 ^( ]! e    xclk UUT (9 ^; n4 h' d" S  j! r* t. y
        .sclk(sclk),
4 O  l/ O) T# y' L7 L9 X0 y: j        .ena(ena),
# e& Q+ v7 o$ w* c        .set(set),
3 j( o2 @" {: \/ ^        .outp(outp)
! }* B1 [4 B) }7 B  j        );
: r, g& c" ?2 t* i# A) A3 @- t) `  w* H+ z, x8 P* f& q5 K- U1 N
7 o, q9 G0 u! x
9 R4 P$ |4 q1 b6 c$ v# o
    initial begin1 Q- W& W$ I/ N: p4 G" T
            sclk = 0;+ z0 O  ~) I' D& P
            ena = 0;$ m* b/ h1 @2 d
            set = 0;/ v; V' E9 j- {5 A
    end
% ]: q9 X! U' O7 `" v- O% ^6 [; h6 B' v% o* i8 d% [) ]( f4 W
# r: W1 I! A  P, ]# x
always# 5 sclk = !sclk;
" J) `  |: B9 Y) |. d2 u) U  @/ u( f  v. f8 e5 x
initial begin
; D( u4 m  W! ?; l6 g+ H5 @        #100/ F; l* o& V4 Q1 p+ S1 q
          ena = 1;8 T& C! @8 r$ W; o
        #2000
. m& ]0 B+ A8 J4 Z* Z! P          set = 2;. M" y! i& J0 |" w
        #2000
* x0 x/ O* ^" o9 ]& o' t' R8 K          set = 3;- q8 y% q8 D: ~
  #2000
0 J4 ]5 ~2 U+ U$ Y' J9 r0 l+ a( z  $finish;3 j" M: [7 O" E' @
end
. z; L- l* @# w! h1 i  x* Dendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了
3 c5 Q  [  L- {! Y有simulation的waveform嗎?& }- z* a$ k9 _8 [2 H9 }
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
6 e. e/ d7 G* B5 h確實可用! 已實驗過,但我不會貼圖。  O$ |; _  `3 M! Z2 v* u) T
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??# j/ q7 C+ s% ?" Q

, O- b, }5 }4 E( t  `# g可以和你討論幾個問題嗎??
; m) {/ }% A, [6 X5 l, x
) V1 R4 u# S8 }方便留MSN嗎??
  L: x2 V* {) Z2 f- s7 v2 P
1 K/ e0 \) s7 `: q/ B1 l  v感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
+ {0 v2 I# J2 Q, z- D1 z+ o# ]  i是要用在LED Backlight的....
6 G5 B1 `. }% ^- _其實有問題可以在這個帖子直接討論..
( U6 a6 v) s+ I/ K* y% {( C這個沒什麼秘密啦...' D/ F  y: N. g# Z+ i
因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-16 02:36 AM , Processed in 0.127017 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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