Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧( ]/ F' Y% E' c+ N9 e) Q3 _( u
如果有 PIXEL CLK 就用它除頻. l: H( j, e; w* G3 Z# P! D0 I2 O# n( s
如果有 HSYNC 就用它倍個幾次
& j2 _3 H: S" q8 a; Q2 r+ K4 G) V0 D8 t5 U7 R' ?8 ]; S
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
" M4 v( q7 Z  r/ \! Z) @, s5 ]$ y
0 T( W, N/ d  O- s   640x480@60Hz => 25.175MHz (39.7ns)
2 `. X1 i; f! J' i$ k5 k   DOTx800=HSYNC, 39.7ns x 800 = 31.469us  e* z+ C) J- j6 Q( e0 _
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)% n: r' ~- j( D% ]
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)5 \. t4 _9 e6 E. Y3 I" `0 N  j

* |! I. K9 h5 j1 T接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
" J- f8 c. W' P* s: L; ?1 }* }* L& t' o" A6 g5 Y( d9 p
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
0 g& j: C% J9 b6 g( R這樣子做出來的phase error會很大也, 要先看規格的要求一下下
$ T0 ~" x- j) p, K% A- S' ?
" Z/ Q: `3 ^. r( O6 x+ d4 k
% s9 t5 z5 z8 {9 a6 e3 e: L

- d  ~. [1 k( N0 w- W/ ~嘿嘿....沒錯..& y( N3 c8 F( T5 c, i
所以我現在還是用60hz去產生600hz.., E7 \0 f5 ?7 q  Q( a5 a. R
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
! V7 D  F( U  c" h5 l//所有註解都要保留: b  Y+ G0 H  V9 w! l* P

% T. M! a( R7 X/ [% o2 I`timescale 1 ns / 1 ns0 y  Z$ V- T4 {; J
module xclk(sclk,ena,set,outp);
6 c* q; j9 p4 i( P2 L8 m* n1 G/ z/ [  M# E. G
- N; }% [- f! v( ], R1 L( [
3 J% }2 A: Q' [  e3 R% r
input sclk,ena;
5 x- r$ y* ]8 d8 \+ \0 v8 X8 T5 \. [; Ginput [1:0]set;
* y4 M4 O1 w$ S- \$ [) Houtput outp; 4 Z! E( D1 D* O* p

  P, X% T1 {3 d7 Gwire outp;
6 s$ h7 A- a3 v
, `8 X& K8 Y7 L * z( {8 h: L3 V0 C% f

# @2 s5 |8 ^6 e, ~! U' W/**** Node preservation for nodeA **************/+ P) \0 F! T  Q4 h
& m* S+ I7 G9 @% N

# ~0 Z6 |4 g' a5 ^//exemplar attribute nodeA_5 preserve_signal true: L! U) a# x! j7 \& s# X2 m+ v8 e, \$ C# S
+ @: l' S. s% `( Y
//exemplar attribute nodeA_4 opt keep
% D* O0 h  Z9 O. J4 F0 Z" T
1 }9 G* D& A1 r0 Z3 ]# x8 y/**** The following comment form also works ****/
- `9 f9 Z3 W& W- m7 |2 ?8 a% X# V% V  z2 m% Q) |
//exemplar attribute nodeA_3 preserve_signal true. e+ \  r+ I9 b, G/ v
: M" r" b+ Z( f
//exemplar attribute nodeA_3 opt keep
+ x( P, U9 I6 j! K% n7 S
; A3 j8 x4 B% T7 d. m. W# H/**** The following comment form also works ****/6 J# Y" }" z, j/ H0 H* E

1 e( @( J: d5 R7 o: C//exemplar attribute nodeA_2 preserve_signal true; N- z/ t. h7 s+ g, [& c
0 P7 Z- _/ j4 d6 e9 h( C
//exemplar attribute nodeA_2 opt keep7 |* E1 i# `- K3 z- E# d5 \

. x7 l6 P' H* e% H) S, J" P" ?2 r# E/**** The following comment form also works ****/
4 q! R- Z& i$ f" N
* ]/ {/ a8 l* O- T1 A( ]* M+ X//exemplar attribute nodeA_1 preserve_signal true* p2 W, y0 j4 {3 l( i; m' [
; C, i! c  A* E) d5 `" _+ w% \
//exemplar attribute nodeA_1 opt keep; T8 c: Y9 J, a' K' c8 s! M" ^) v
1 |4 O1 Z1 m( t7 b7 O6 ]% i
# M2 U$ Z" x/ |7 {" A4 l+ N
/**** The following comment form also works ****/: u  J3 T9 G  x( f; @1 F
; k5 r: c; p% w; c
/*exemplar attribute nodeA_0 preserve_signal true* L( u5 D/ g5 G2 `' A

1 C8 D9 f. }! B& @: [" R6 A: yexemplar attribute nodeA_0 opt keep*/
% j5 X7 T6 J* u+ Y3 O9 I: ~0 C0 O5 b% v  M* w9 c/ K
7 d* P( f4 `0 f/ g: r6 g
) ~4 ]3 b. A( Y" k6 \/ c
( g- i" i$ g2 e

5 }* o; W; l! U7 x8 q) B: t% f! d7 H, T" G5 r1 E9 F
  I# X4 W0 f& i* O6 l
# t" u/ n" H1 D4 K

8 l* R3 ]8 q$ e, z4 C2 Z+ v
4 K5 g* n  {! }8 `5 dwire nodeA/* synthesis syn_keep=1 opt="keep"*/;
* p) D- ?- ^+ G8 Xwire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
+ G" o# ^8 U1 uwire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
! B* F6 Q1 V) h3 r& t$ B: J+ jwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;, T, }( v# @) W9 |3 d% d; f
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
9 P; ]( w! {& swire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;* X, q+ F  e6 s' a9 I. e  [

$ Q& L( N  _& [( C$ R* }8 z, Nassign#1 nodeA_0  = sclk & ena;" t. v3 E: r: T

( a, @$ \" ^: J; q; d, q, ^) Vassign#1 nodeA_1 = ~ nodeA_0;
6 i/ |+ K2 w1 F6 m2 Aassign#1 nodeA_2 = ~ nodeA_1;+ ]  u- C8 `& [; u" Q
assign#1 nodeA_3 = ~ nodeA_2;
  `$ }" w! w! xassign#1 nodeA_4 = ~ nodeA_3;9 G4 P) l' i  M

. M1 K% U: {6 _0 C" _reg xout;
  k7 t! N7 v2 k* `3 {4 ?( C$ i, `2 `* u  U
always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
' x  @' \8 N6 |* b1 o  casez(set)
) e4 U5 {& \0 H9 m9 M- s/ M    1: xout =#1 nodeA_2;
2 S5 {3 `2 ]7 U) ?  m& ~    2: xout =#1 nodeA_3;
8 H8 b; Q- H5 n& h2 ^0 ]$ d6 g    3: xout =#1 nodeA_4;
0 x! J# h: K9 b4 Y5 _$ A- L    default: xout =#1 nodeA_1;
) h2 F- z4 |! K3 T  endcase3 z* O3 _4 P) Z0 W, g8 c, I0 b
  
( e: }1 N$ S; }# C) X# H& m5 Qassign#1 nodeA = xout;
3 d; G, }1 P( F6 x3 z% V8 C' a7 lassign#1 outp = ena ? nodeA^sclk : 1'bz;- B( u* {6 \) t% J& I, R

+ v1 N) T8 S4 Iendmodule4 e0 X5 A! Q, E) h
! v4 e" ~) q; l" |; @! v6 U

2 D. c$ d& H5 T6 a6 L& e
5 t& H- ]+ g, f' ~: W( Y, G  e: ^`timescale 1 ns / 1 ns" H5 Y0 \- a  p: X) x, {2 U
module xclk_tf();
6 t- z+ C9 S/ A4 N' _
  n6 k0 A4 E- n. G; w// Inputs1 ~) x0 M$ m/ m2 K; n' k
    reg sclk;
% v, @( M* E, v8 P; k    reg ena;
) r6 B4 @$ t' A/ G" B* y# A, B4 O    reg [1:0] set;. R  q; G, r2 c+ U& m' E
8 @) I# J! z; I1 C5 ]

# L  K. Z6 B" y% n# D) p// Outputs# `9 @6 f/ l# w9 g7 ?  C
    wire outp;
# s% m/ {2 H' z' P4 l2 ?+ V& H( y' k" S! z6 Z, Y! X" ]) G* v
2 A+ r( o2 T/ Y# V% W+ n
7 s* o2 x4 ^# G4 f7 i
    xclk UUT (, M! T5 A# ]! B5 m+ g5 v
        .sclk(sclk),
/ B% n. Q5 r. y' r        .ena(ena),
/ `  ?: f2 O' w1 N) W$ y' B+ G3 Y        .set(set), ( q6 w- j6 _4 D( [
        .outp(outp)$ T7 s4 X, |- X" t
        );& ~4 {9 H' S! y% S- T
) _9 t6 P; O* ]+ a$ ^5 u; r: D6 N
2 K$ n" l. a; l1 V6 k5 D0 Z9 {/ M% w8 E

6 g; B9 N& U6 i3 ^% U, Y    initial begin7 |# T! [9 I- z# D
            sclk = 0;
% i% U  n' L5 V$ d) S! u' V) g& E            ena = 0;) C2 ^' L/ S. ~9 D+ n5 A
            set = 0;
- C# b* e9 B/ K/ n: E  X  ^1 z: f+ m    end
+ A+ e0 J+ T9 d
5 w. r' W& L  H* k/ b- N
7 O; C! D: B) ]9 g! Calways# 5 sclk = !sclk;
" Z+ K5 i2 F8 |! }8 T9 f$ \& W0 l- e! F# K+ R' H* x
initial begin9 P) I; ], ^/ T
        #1004 q  r5 s5 d* a/ X7 y
          ena = 1;
( g  y: _7 M9 _7 x. w5 k2 l        #2000
/ K. ]7 c( K& P& L0 r' L          set = 2;
( D! t. g# \/ {2 D1 r$ q        #2000
4 u! K: J: C5 D. h4 I% r          set = 3;% W8 z1 t* A! C4 b& h# ]* z* E: T
  #2000" m/ K0 r! N, W: L" g* P) A
  $finish;) F, C3 r+ Q; ]  n$ Y* O9 M5 ~
end6 z8 s6 I% c" P+ a4 `. A
endmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了& r  _5 V) V0 q, d8 C% t
有simulation的waveform嗎?
$ U( y; M' x0 {* A2 S" N  ]( l示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench0 a; Y& k# q$ Q- S# b" U, F! C
確實可用! 已實驗過,但我不會貼圖。$ l9 E% G* Y4 P) @/ i
只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
4 [9 }' s3 H# y' v; E' Q
$ F/ W  J4 ^# `& h( I可以和你討論幾個問題嗎??
% r) a8 Q7 |( [# t3 G, h0 g( P. s$ @' m- a  U
方便留MSN嗎??
$ ]) v1 I2 A" w! u
" i: k/ N) a9 x3 J3 A- W. L感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...: g+ c- c& ~4 g
是要用在LED Backlight的....
  `, t6 @- U0 R; z8 l7 u$ h其實有問題可以在這個帖子直接討論..0 ]) M. z2 w' g: j
這個沒什麼秘密啦...
  q- D0 \* w6 y& K7 y因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-26 03:45 PM , Processed in 0.109006 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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