Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧6 V/ J7 ]+ C, q9 L. U
如果有 PIXEL CLK 就用它除頻# e/ K, h# B' H8 G0 Y& q
如果有 HSYNC 就用它倍個幾次7 \( m$ `. \8 h/ B

5 Z) ^* i; m- Z& Q6 F$ D因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
5 [: E0 p- D. D# @" M4 @$ z! q
. J( u0 Y, R( \; N6 _9 Q/ b) n   640x480@60Hz => 25.175MHz (39.7ns)4 ^( M! ~: B. l  \
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
/ \+ J0 F7 [7 B3 e* g5 R- p   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz): a+ ~3 k8 D% C" l
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)
1 X) T2 I: `; s; `7 R. [! S4 e) ^, B+ B3 M1 G2 h
接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
* r- H' f& X! L! k9 Z  {$ P0 M3 j6 `. d, Q9 O+ l9 ^
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 . A2 Q; J. C6 S( p4 W, R6 F* T8 D
這樣子做出來的phase error會很大也, 要先看規格的要求一下下

3 L, M8 u* m" z6 f6 w8 [; j$ v/ n0 e" @8 `
( W! I: J' J5 Y/ h% P6 B1 f- \

# \+ c6 y2 Z3 t嘿嘿....沒錯..
1 J/ U7 |& O2 f- ~7 v+ z所以我現在還是用60hz去產生600hz..; D7 @, \9 C6 c0 w* O$ j* ?
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
! J4 D' o/ r: g; k7 x  @; G//所有註解都要保留+ s9 p4 s& r1 N) i% }* Y" f/ a
! ~0 @- O8 `  y0 I3 V
`timescale 1 ns / 1 ns
" m' T3 N- |% ^$ Zmodule xclk(sclk,ena,set,outp);
( U4 h9 Z/ D, q( S/ \0 K
, c- r  L( C) ]8 [: K* [+ o; \
3 H$ d5 j6 [6 b/ U" J& l8 q. O/ L
7 a2 ?- S( X+ \$ E  Cinput sclk,ena;
& R% u. `" l- i3 R5 d+ X$ {. ~3 dinput [1:0]set;
5 ^- e/ a, I7 M, F3 p6 toutput outp; ) z; L* x# f# a. i* o2 ^

' f/ ^" J( O' ~3 X& N# Lwire outp;8 \9 l- n  q6 t. e. [
+ Y0 \: s( j- e9 G+ t  u

/ }* |5 B  U: g, j; E* u( O7 q0 w! Z; B9 T  o. G
/**** Node preservation for nodeA **************/# k$ }- W% [* t* }( @4 S2 T+ A% g

) R0 \/ ~. n' a! ~0 P: v% l7 z4 N6 F+ A+ P
//exemplar attribute nodeA_5 preserve_signal true
& p4 _+ P! v3 D+ p8 X& l5 m
' {' S- W0 K) g, h1 m, Z  y/ o//exemplar attribute nodeA_4 opt keep
" w# s4 P8 V- x! F+ q7 n& ^9 X
, @9 F2 n3 u% T( g( w4 e3 K/**** The following comment form also works ****/
0 Z" J2 T+ R: V5 K
3 p/ [, W1 M. V9 u2 T//exemplar attribute nodeA_3 preserve_signal true) C+ n8 ^  H3 J5 k: P+ ^( B1 Y

/ q; B5 d3 f+ h; {9 C//exemplar attribute nodeA_3 opt keep
, t& j# e! y2 R' @$ h5 r
3 V: i! I- Z* R4 ]" z/ O( o. _/**** The following comment form also works ****/) @  x0 Z8 Q( l1 P0 t( s4 j3 h/ q

. S' C7 j/ ?: T& l& H' C5 i//exemplar attribute nodeA_2 preserve_signal true: w; I8 p; G4 Q

  b" ]% _! ?0 l; m" @//exemplar attribute nodeA_2 opt keep
$ ~7 P3 Z; C8 z8 N
8 x0 L0 P& Z3 D/ i) ?/ Q/**** The following comment form also works ****/$ X! h# z/ a( f8 D

* @1 M0 {: ]+ L' ?- @//exemplar attribute nodeA_1 preserve_signal true
; U+ U' F: v3 m5 z) w7 Y5 p8 r( V0 d% t( L9 x* y6 ^1 v
//exemplar attribute nodeA_1 opt keep
- k+ W+ e2 E, }& `7 }
6 L6 C4 p! F2 @( v% T; D3 p% V$ @' R# j
/**** The following comment form also works ****/; B! a0 y# Y" p3 s# c

5 u# C1 f3 [' }" v) W) X/*exemplar attribute nodeA_0 preserve_signal true
  ~7 ]+ l* ?; M- |. L/ j2 G/ H- w" Z( Q, b
exemplar attribute nodeA_0 opt keep*/ 4 \5 G6 D' W9 m9 Y

  H# `9 m5 }9 W% M% M7 k' B
3 o0 L& k0 ]: T9 o
) C# o' J2 o0 k% W4 |9 s& I0 Z  D5 i

2 c' o0 A, U( r8 @4 P. M* U7 E. D5 B) R. W& O$ ^2 h

4 @6 O4 x. b7 ~2 @* S0 T7 G: T" c; d  ]: c  z1 _

4 }% `. h: c( {9 w' v: M2 g/ D' d) m3 ~& j; I0 ]
wire nodeA/* synthesis syn_keep=1 opt="keep"*/;
! t0 x0 g4 z( Y! w( p" Jwire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
4 \! J* R; Y( h/ X7 _' Swire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
& w0 y/ H$ U; s7 xwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;4 ~9 D  M! j) e( u/ M( [% x7 E
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
; y8 E8 s& B. Q: Qwire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
4 G$ B" ^) q  e* v9 a- b
7 c3 r' @5 E9 H" P; m! u& n% dassign#1 nodeA_0  = sclk & ena;4 j. U  f) P9 r- `5 U: _% O

1 J5 W% `0 [+ ^% d/ m6 Y) Rassign#1 nodeA_1 = ~ nodeA_0;
2 ~5 p: O$ U6 w/ v1 b' p8 n! Bassign#1 nodeA_2 = ~ nodeA_1;& x- ]% B; O2 b) `* p! A2 T
assign#1 nodeA_3 = ~ nodeA_2;
  S9 c0 X3 o3 v0 N! r  ~: z1 b/ Iassign#1 nodeA_4 = ~ nodeA_3;
: T* \  C7 t1 E# q
* w' F; {1 ?0 v4 Creg xout;" E% _( E& J, s4 ?+ v4 M

5 D4 A' E  R7 e6 D& g1 V1 G3 s  Calways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
1 B* s. K3 H' v, y1 I3 x/ E& M+ P  casez(set)
3 ?, ^  C" g( W& u    1: xout =#1 nodeA_2;
2 U* b. ~( S( ]    2: xout =#1 nodeA_3;
+ `1 {0 G* K) G& K2 Q; k    3: xout =#1 nodeA_4;" {, t) E5 l+ ?
    default: xout =#1 nodeA_1;
8 M# T% ]  N! ?1 W  endcase' y4 M6 h, _3 X! a# ~  _+ J
  
( c7 F3 y: |0 M& X6 i1 sassign#1 nodeA = xout;' B( f; V1 l1 ?6 f) h& q
assign#1 outp = ena ? nodeA^sclk : 1'bz;
4 Y' Y  w% F# X8 @, w
. t9 H: N8 j& S0 v+ ^7 Kendmodule8 }& Z5 h! M* N2 M0 Z9 s
" q/ q$ E" X6 t3 H5 J, h

) ~' @" z7 L. x% A& z' B2 ^) H" L, h' E" f. f2 V
`timescale 1 ns / 1 ns
! X' {$ ~  [1 g: D% T6 p+ E% _module xclk_tf();0 R, f+ y+ @' U; v: |) X  j/ I
& N$ L% T% q0 I( Z4 w# D4 n
// Inputs
) i, `3 e4 v0 b5 G% Q  E9 Z* n6 i" E    reg sclk;& Z) f! a9 F8 Y* D/ i
    reg ena;8 d, c9 u$ A8 H: M
    reg [1:0] set;3 q) c& H- O% w# M  O" e5 d* x+ ^
' q4 g& }  i* Q" X4 q% d% P9 q
  L. e2 a% I6 H! V! H9 e( I
// Outputs' p- l- K. Q+ V# a% \
    wire outp;
% Y0 T6 A/ e4 O. I4 M7 L7 A' O7 w% y  i4 b6 @7 b) L3 g

8 m( ?' O1 V% P) d/ q5 b
: m, Y3 W- O6 J% f( _    xclk UUT (7 V+ d& H# r0 n! A; s: [
        .sclk(sclk),
& G6 R) Z, ]5 W" Y3 ?        .ena(ena), ; m  I! J9 y# r/ e- H
        .set(set),
9 C4 T8 _3 n" O  f. n        .outp(outp)# }0 S* q4 ]: `' F, L0 Q
        );# \0 v4 g! S/ D  ~  R% `

. C5 ?  F2 L3 Y
3 A( ~& h$ c5 g* j- Y
  B& t/ o6 E# i  Q' d! V    initial begin: y2 G9 d9 ~- x' m% N
            sclk = 0;# G; p) Q0 q5 M& z  t0 f
            ena = 0;+ x9 H0 X8 f8 e# n
            set = 0;5 N+ Q3 Z6 C  i* ^$ [$ S
    end
& H, t8 i. k& L0 ]7 ]$ M+ ?9 k5 w2 R. S' O# @
$ e7 S0 S% Z1 ^, U
always# 5 sclk = !sclk;
( S6 A* u! f9 Q1 z1 k' H( @
# O: @% I, ]0 Z: y9 q, u8 R+ v4 A6 [initial begin' d! `; y# [% d& P2 ]1 K# z- K
        #100
- k7 q; r/ j2 B- ?6 T5 y3 U          ena = 1;; c6 n( }& j7 e( u( p
        #2000
! Y/ A2 C7 a- f. q2 @* ]5 ~          set = 2;" ~6 B# t1 u9 c: B  J0 ^
        #2000 4 C9 V. \' R% E
          set = 3;8 p" k; s; M; N% P& c  R
  #2000
1 T! a5 b) z) y% R) O4 ~  $finish;
' J5 d& w$ k/ cend( d$ r4 b# H' S4 H8 }+ _" q. J
endmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了) q2 q% ^/ H1 m# I
有simulation的waveform嗎?- Q4 z  `# D, e* [7 H+ Q
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench7 h7 T2 u7 I4 Y7 K; t; q  q
確實可用! 已實驗過,但我不會貼圖。" F4 M: S; Z! G
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??: M- c. R# d, l1 K" Y6 ?4 P7 g

) V% ^7 }0 j' f可以和你討論幾個問題嗎??
$ ~2 H9 @/ R* X& e1 W8 T/ X; {8 ^, Z  n% v" r7 x/ V4 _$ a2 {
方便留MSN嗎??
1 i1 L$ l' i2 M5 R/ f
9 q' Y) T2 `6 i% h- b感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...: D) g- b. [( H7 O
是要用在LED Backlight的....
  N: A0 j% _$ A- E% R  ]9 D' `" _其實有問題可以在這個帖子直接討論..0 I7 ~6 m' z/ r5 Q
這個沒什麼秘密啦...: m- }) R# i' X# \# K$ S" y
因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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