Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧
" A% X4 D6 N* o8 v& m0 |( m* ]如果有 PIXEL CLK 就用它除頻
4 P  b! y2 ?, s! v2 z) c& X如果有 HSYNC 就用它倍個幾次4 k  Z: u) V' X
9 `  r1 V( M! B3 B5 Z
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係( t' h; ~1 C% C5 c0 |/ G( T

* W0 b, z! X) Q2 p# W1 ?   640x480@60Hz => 25.175MHz (39.7ns)" M" [0 W6 I" H9 K7 r! B; p$ s' G- S
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
& v+ T- D; x1 j% S# a/ ^! R" S  N   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)
" H* W( l6 w! r/ o6 |* B" `+ O6 l所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)0 s4 ]( i7 N- I- {+ J2 L2 i& |
) V/ c7 z. o2 p1 F
接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)* k$ A. F/ k' r6 t6 s* _6 I

* `2 X. O+ x4 R2 Q3 F還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 ) ]+ I' A7 v! s8 ~
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
+ }! K! W; K6 {1 l7 s5 r

( O4 h9 C+ s( a5 V3 i( x4 F5 H* V& y/ N+ C- h) W* C
' |5 Y7 K+ E' P7 y& l/ l
嘿嘿....沒錯..: A. H3 B! m  t  w
所以我現在還是用60hz去產生600hz..  B( I& ^3 P. w$ I# U8 N
另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。% A' u# W! _; o
//所有註解都要保留$ q- e- h- J! ~7 @" j1 R* m

8 Q3 k& h" j7 \5 k6 Y+ ~`timescale 1 ns / 1 ns
# T( N/ S! w8 `# }1 A+ t; _% D* {module xclk(sclk,ena,set,outp);
9 p5 @+ q' t8 \! ]' j
  o# l! t/ O$ D" `* l* g
8 `/ ?( E1 e# ]5 F
) d! p  N4 h6 oinput sclk,ena;0 X) X0 f2 D, C5 ^8 o, Y% f
input [1:0]set;
6 Y- ?& T8 q2 @+ Moutput outp;
' L) L3 @! C& P& @, j3 i' m
$ b2 l5 T3 w/ z$ }& X- ~wire outp;
8 C3 I  S' @/ x/ _% @; V5 C! K2 a* V9 [3 q6 i% S) W6 i

" m; N7 O0 P$ c2 i
) J% Y4 q9 A* e1 j3 r% w) X2 H/**** Node preservation for nodeA **************/0 Y  U9 x; \9 F7 M

1 N* G8 \7 g' L( @' M5 u* P. T( M
//exemplar attribute nodeA_5 preserve_signal true2 A0 A- C! u( V- f: t7 v8 J" A

5 k3 A: g" J+ g/ s7 l5 ~//exemplar attribute nodeA_4 opt keep1 m$ Z7 ^. h9 j+ k3 _
+ h' j- {  q- P
/**** The following comment form also works ****/) I( F+ A) o( S3 W- F

$ J  }7 }# n' ?6 m* [//exemplar attribute nodeA_3 preserve_signal true: N* i, h/ o% G6 L  V$ n9 ^

9 x& D& D- m6 `8 e+ [//exemplar attribute nodeA_3 opt keep
2 D: q$ ?( `4 c8 L( w& j
) ^4 m7 W4 i8 q" F( A% E/**** The following comment form also works ****/
0 \* o: i" v8 C6 P0 W
- e8 ^" N& i+ q3 u, i//exemplar attribute nodeA_2 preserve_signal true
: W" y$ A6 I9 S8 a
1 k8 Y! @1 ?1 e& `$ k. X6 M//exemplar attribute nodeA_2 opt keep
3 S, Q: a3 [& F* d4 i2 ]( }& Y7 O9 P+ H( T; i' g! A
/**** The following comment form also works ****/
8 D9 e+ P2 A8 H$ M# w& r* n. `0 s$ _" a& K- d
//exemplar attribute nodeA_1 preserve_signal true
$ S( \/ g, r! j! B
  x/ @* [" x) }, _//exemplar attribute nodeA_1 opt keep
  D4 v2 }6 A9 A& v3 {) x( [ , U$ Z. R# R6 p: d; t) B7 w9 ]

  x! Y1 w8 P) }/ S2 N+ K/**** The following comment form also works ****/
4 e% I  ~& B8 b# O1 ~9 S  P7 d' }& Q. n8 T
/*exemplar attribute nodeA_0 preserve_signal true
  k) M7 S) r2 \- T$ T7 A8 ^3 N+ a
: N# f: _% }4 a# v9 n2 yexemplar attribute nodeA_0 opt keep*/
; f4 R9 }# |; a" c- S. n
" F4 N/ g9 f! C2 u: u$ z) V5 i& T0 w2 U7 P

! ?0 g2 z7 g) |" }+ b# o; m; {8 F0 n( z; _/ o. j0 \) c8 l
$ t+ F9 s9 J! @" y8 a
( W, f/ i0 o1 J( }, W$ ?. F
( [& X5 V! `0 W; z
& S  B& D- |3 O' m5 i

$ w0 {$ l$ h, K5 a# w, u1 z4 b7 [7 Y
6 g. t6 j# i/ E% M4 V. owire nodeA/* synthesis syn_keep=1 opt="keep"*/;
6 P( o2 k- C" M" Y8 g5 ?  y5 {wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;  p, V2 B3 |& o5 X. P
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;
4 d: v- T! _1 @0 X. R9 rwire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;
4 ?! q$ o8 e3 s% Q$ Qwire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;- D6 a# Q1 \# z+ U8 ?7 q3 y: W
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;# ^# E8 x8 F9 [  x) k. h* O; P

; L# t! j) X! H1 D9 eassign#1 nodeA_0  = sclk & ena;
" O8 M) Y, a, K0 L0 `( w
- h* K& [7 ~' ]+ f$ s% e4 D2 Iassign#1 nodeA_1 = ~ nodeA_0;
4 A3 E6 |* H* b& ]/ d: dassign#1 nodeA_2 = ~ nodeA_1;
, s9 O; I, q7 f8 Lassign#1 nodeA_3 = ~ nodeA_2;
6 ]' J0 M  B- }6 eassign#1 nodeA_4 = ~ nodeA_3;. c/ d, u0 U" k8 O  a$ X9 n$ Q
0 k9 o: {+ l! _
reg xout;( U* [: W7 ~+ L' ~/ g9 G& E

4 d) h1 o+ \7 T- T3 Ualways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
$ g: s/ ?2 l5 M  casez(set)4 @# F, k  ^1 s  @4 _- D: G* o
    1: xout =#1 nodeA_2;& G) n" }$ }3 I8 [
    2: xout =#1 nodeA_3;9 n3 c  a% Z& [) B, e4 ?
    3: xout =#1 nodeA_4;
1 U3 c' E# J  t# ~    default: xout =#1 nodeA_1;$ u" }* ~) [" P* M$ I
  endcase
% \5 D* l: k2 p1 d5 O  
# A/ \+ p0 K$ Hassign#1 nodeA = xout;
9 o# N1 _2 u  ^; Aassign#1 outp = ena ? nodeA^sclk : 1'bz;. A7 i5 V3 b. l  b/ z; V3 s9 ~1 V

" E2 F. q1 ~7 pendmodule. h. U* U- D+ D7 @

) o+ B% H7 D* J9 S) ?5 P  K1 N5 C( `! _5 G/ T# _0 z4 r  Q# N

! H) x+ `; o+ w  f8 i3 r`timescale 1 ns / 1 ns
; ?! F0 N+ I4 R  Dmodule xclk_tf();, [+ Z; Y2 @& \: \0 t8 A
+ u" a5 o. X" G) [
// Inputs2 X, C2 e& ]7 \
    reg sclk;
( h- u3 J+ I7 k* s    reg ena;
( ]2 S# v5 a  Q% Y$ d    reg [1:0] set;0 f- G* I3 c& p  S' N
  H! S( g: q( W8 W

& v: H0 b$ }0 A  q; O, P// Outputs
, Q' M& M' _- ^' ~. z    wire outp;
% x. x% r7 Q  ~$ T
5 R4 g- G3 p" T( w
' O8 v+ k& B( ?2 }) b7 D& ~( E, P. \
    xclk UUT (
+ B- L) y- z' V* E        .sclk(sclk), - L2 }8 l& v$ ^) m0 L2 u
        .ena(ena),
! E: f3 y7 p! D( N8 L, p1 _        .set(set), ' \( a6 u: v9 t; U5 F; x' l) q. M
        .outp(outp)
) j) V% K7 N3 s        );7 T( j& o1 G9 g, g2 F

. u- a& l4 i* `2 k9 j! I& t5 l) l2 g, l: i

1 d  _9 r$ l1 o+ g    initial begin
8 Y+ ?+ K& I( h" V. r# d, `            sclk = 0;# G1 p1 B, w8 Z8 \
            ena = 0;; ]& `) E4 ?0 r: R( p* r
            set = 0;
7 U0 g8 i( ?! q. d" }$ H, H    end: E3 W" J/ g' X8 c) E, ^" H
* b$ s6 C# b7 T" K% v* y0 f( p

: {2 f" d  j3 \  `7 T& A0 A, W) salways# 5 sclk = !sclk;
3 C1 T& u, R+ ?# e+ I$ ?; m  g4 E, C9 f4 \" B
initial begin6 G0 `0 Q* @" I3 Y) t+ g  p' W
        #1005 l3 f: g# I4 x' f( Z  y( P" o7 n* {' \
          ena = 1;
; N. n# o9 T9 B# d" p5 V: F% i" u        #2000 0 J. W) w% ^5 Q9 ~+ R
          set = 2;
& ~  a5 v8 m, R* }, H" {        #2000 3 u" R* V4 N* c: R3 n& @
          set = 3;. H' b& d$ e* @0 E2 O" X5 f* G
  #2000( x" j# N2 k+ B3 I3 R$ [
  $finish;
# _. q0 l7 C2 |4 Z! Hend+ n2 C& m% c$ c7 C
endmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了1 M. n, j* F% Y  A1 Y) t
有simulation的waveform嗎?- ~) r: J. o4 i# M# G, Q
示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
7 q: L" o" H1 {& W; D  i8 [確實可用! 已實驗過,但我不會貼圖。
; j/ C! p* l: t. b+ V1 s只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
# H& V+ f: q  ?5 e" P& ^+ d8 ~( E8 g5 A9 o' N5 s. y5 w' o9 ^
可以和你討論幾個問題嗎??7 q# p/ P! d0 h

( p1 M# F& l! y5 X3 Y+ s方便留MSN嗎??/ f" A# `; B2 F) ?$ w6 y7 u% C

  H1 D# s  }1 y' v感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...1 p  z4 C# B# `
是要用在LED Backlight的....
4 _& u' {) a! A; |其實有問題可以在這個帖子直接討論..
# L7 F4 Z' {% {* g+ i9 c; k這個沒什麼秘密啦...
$ Y7 C9 `# A. |; s因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-21 02:22 PM , Processed in 0.173010 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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