Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧
% M) Q! D4 @: z$ Y4 h" @7 h; U; l如果有 PIXEL CLK 就用它除頻
4 W3 X1 }' H2 C9 _9 F如果有 HSYNC 就用它倍個幾次
+ ~1 z: ^9 R0 C7 J0 k3 O' C- M6 H3 h4 c/ A1 E" X. Y" @0 ~
因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係! S/ g$ B$ k) K: j4 N1 ]
. F9 P+ f) k- e2 R+ P) K
   640x480@60Hz => 25.175MHz (39.7ns)* H& w, [" p$ L4 X) @6 d. ^/ F
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us" E. f; b5 `: T
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)
4 [; i6 f( W9 R9 ~, b所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC), T( X* h, F/ Q' D

2 z$ z# @- E: N$ ^# S接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
1 S) M* @# p% q. z2 |7 K- r# ~' Y& A) h# H, `7 c6 H' |
還是我想的清況和你不同呢?
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 : ^; J  |! X# m8 [
這樣子做出來的phase error會很大也, 要先看規格的要求一下下

7 q- q2 S% `: b- H  n$ _/ a
( m8 h2 ?4 [0 g5 e9 m! p# [
' ?& {& v* [5 Z3 ^, C1 N. q
; e9 p1 u& D- d: l( _1 k! O嘿嘿....沒錯..
4 P( I6 ^( ~, M% y所以我現在還是用60hz去產生600hz..
& h$ S/ o) \9 G6 T7 Y# v, n另外一個原因是因為客戶只會給我60hz的訊號啦...
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
3 j- v0 A7 Z" ]: t+ R! J5 ]; t% J3 X//所有註解都要保留
1 U8 c; ]$ _7 y; O2 y
% a, S& _& A5 S: `1 T' O. i`timescale 1 ns / 1 ns
: `3 O/ S/ f- i2 imodule xclk(sclk,ena,set,outp);
6 F6 A4 Q& r, Y' |$ i/ v0 O8 ^3 A% z* D2 f( |9 n

! b* x' {& g4 G( D$ l! G* ]4 E- k6 `7 w
input sclk,ena;
/ D0 F6 Q( |5 ]) U/ W' R0 vinput [1:0]set;
3 |/ _( j5 f: g- V9 foutput outp;
/ F# q" _( }; b0 a
+ A: c. ^" H; P# d3 i* Zwire outp;0 P/ \% l/ U- I4 W+ v8 k, n
2 T0 X* p4 G5 ]- ]

6 }9 R. l- |) h7 T
- |1 y$ [* D+ U4 D8 Z* I0 j/**** Node preservation for nodeA **************/: O( n( p: W4 }! d7 s. y3 j
, h/ M6 T/ v% ]/ Q5 G( o

  ~- T# n# A7 H//exemplar attribute nodeA_5 preserve_signal true
0 t5 ^. W: q+ ]8 k- B' \0 j
/ V; w4 L9 U% ]- Z' z# ]//exemplar attribute nodeA_4 opt keep
% D9 Z6 r8 A+ X# W1 x2 F5 ?3 m8 t, e2 j/ g. g, i0 ]
/**** The following comment form also works ****/( q6 q+ J$ J( ?, U* L  s

% n8 ]5 E! O8 J//exemplar attribute nodeA_3 preserve_signal true& b, W. K/ w- _% M6 K

4 B3 q2 F1 I5 b$ ^" R//exemplar attribute nodeA_3 opt keep+ j$ Y9 m# L0 E7 W1 q2 l
  d4 s  h! J6 {. [
/**** The following comment form also works ****/. k7 V2 L% H, d& c* E

, u+ H7 s: p6 t% R//exemplar attribute nodeA_2 preserve_signal true
4 W( E  X; A& |" o: X9 j
4 M# F$ O% s3 S9 \//exemplar attribute nodeA_2 opt keep
7 @6 U3 X$ d& k( E3 t; F/ {9 u8 x$ P
4 Q5 g! ^7 K: v: v5 _, s/**** The following comment form also works ****/
5 G8 T4 l" O  j% u$ S( b; o- a( l
//exemplar attribute nodeA_1 preserve_signal true6 @- Z; s$ c- C4 B) J5 O' P1 c! S
8 S' Z! M9 ]1 j. q' y4 U! A& j
//exemplar attribute nodeA_1 opt keep
1 k# d7 ?5 R! ]2 n; [6 L
' p2 c7 h8 x. j) B* B
7 Z! a8 Y: f" u, w1 f/**** The following comment form also works ****/! R& Z. A. O( s) T# G" _* P
% z5 \1 F2 D: l: Q' ]4 N
/*exemplar attribute nodeA_0 preserve_signal true. J( v# J" l! a# j
7 B: m' S# J. ?: f3 K
exemplar attribute nodeA_0 opt keep*/
" H1 z. x& }" q6 W! ~' B+ ]: v9 p$ E/ |* O
# E9 C" u4 R% G$ D

7 [9 H5 H! ~$ M; F( {( C2 F* G6 o( R) Q/ u
; A! D# u$ Y- q# R

9 U; ]' V$ @4 x7 X+ ?) M5 ]
. J  i+ y* e0 R+ q- o8 W: B6 Q2 @! b7 g/ k# O

' `6 V( F6 }0 K6 P8 H3 t5 M% O, c! n: Y# d" S
wire nodeA/* synthesis syn_keep=1 opt="keep"*/;$ g, X7 x9 ]1 N1 M
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
" ~9 L2 x2 B7 K7 X1 W/ vwire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;- }3 \% v  M6 P2 b! Z% }" U
wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;7 U, F& ^7 e; y% C% H" l
wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;' m  k1 F5 d' ?$ T  n* |2 O
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;. [6 s6 t; O+ u

% m% Q" _4 ^0 eassign#1 nodeA_0  = sclk & ena;. U0 }- V7 r+ K1 ?* L, H! c

0 S( {# _3 C/ R- B% E  K0 @( Zassign#1 nodeA_1 = ~ nodeA_0;8 f1 P& g( L* g+ i+ F0 t7 Y
assign#1 nodeA_2 = ~ nodeA_1;
! h3 _' N; m+ D% o+ {assign#1 nodeA_3 = ~ nodeA_2;
' J+ y) ?6 j$ E0 \7 F, M* U$ uassign#1 nodeA_4 = ~ nodeA_3;
/ _% P3 B" x8 t4 z- Z. K' R+ o( v0 v$ N( [
reg xout;
8 h9 G& u9 D& Z; S& m" @; X$ L8 t( V! E0 p; B% K
always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
: }, Q. ?6 [( h  casez(set)
* c* P4 a8 o' w" y4 E/ _    1: xout =#1 nodeA_2;
9 q- _- w+ D5 Y6 J* u; Q7 T6 ~    2: xout =#1 nodeA_3;1 D& X$ `2 r% I% [5 r
    3: xout =#1 nodeA_4;2 e" a# B! ~( j8 h; d9 t' H' d5 i
    default: xout =#1 nodeA_1;2 M" f6 O5 K# F5 s* e& X7 l
  endcase; e6 r9 l7 R- o, `
  
! L- A' \/ p3 Bassign#1 nodeA = xout;6 ?6 k8 @) `& s
assign#1 outp = ena ? nodeA^sclk : 1'bz;# ~# B9 P- ]" I$ W  \1 H/ P

4 c6 A3 U2 W. h( y4 [1 Xendmodule
' t, b, z0 H9 ~1 ?, T% ]/ n: h3 C

- X8 d, J6 Z( |. I& g4 @) }* J- E) _- r, Y
`timescale 1 ns / 1 ns8 {  k9 @2 m6 d+ B
module xclk_tf();
, a$ F6 N$ L2 `3 V7 C. A, Z( R1 h( [7 {, |. k$ r& a+ ?
// Inputs
$ }9 ~* f  G: I    reg sclk;# P+ e: d' ?) @. ?3 Q; H& s2 ?- ]& f
    reg ena;6 e, O; }% W5 m
    reg [1:0] set;& a  E! w1 g  e4 K

. U; N$ p5 {* Q
' F# g, r9 }5 `3 R& Q7 x// Outputs
$ v$ T1 O- \4 Z    wire outp;( t# y; r" S" \/ z0 i) X

' c6 E# e3 V$ ]: m9 q) n3 s3 k" Z( i1 K( T. g

. d0 z7 g, n* {* X% y" c4 a# I    xclk UUT (
9 f7 N5 K0 Q" t2 h. x1 x" Q( c7 J0 ?        .sclk(sclk), ' z) h6 }+ f- W- t6 u. `
        .ena(ena), 8 c2 E& n" A6 Z- B1 I8 g. o3 V
        .set(set),
" Z2 G9 D* }6 H& a# S8 B" w3 j; Y- H- K        .outp(outp)# K& H3 Y  J: k' O5 a' a6 e
        );$ {# a  w$ X" k; f9 Q' m! I& [

3 n( B. \; Q  ]* I# z( {+ O: M( g! I- m! i' [7 i! [  K

/ I$ o( b. {2 N* s: k" U1 Y    initial begin, @9 q5 B. ]# b
            sclk = 0;, {' e) h1 \/ V$ X& j
            ena = 0;
% V/ f: q% B! j. X9 c0 T            set = 0;) I1 ]# p( p: R
    end2 g2 P+ c4 o) @7 ]# ~$ i9 _# X* x
- v( \: _  W6 _5 W7 a
% y; P  P2 j9 D
always# 5 sclk = !sclk;* `% a2 Y! }$ z* P: R* r; z" w0 w

( I9 d2 e* \2 P% I' _0 pinitial begin
% ?. g. ^, h: t        #100
4 |9 @1 [* H0 [7 S          ena = 1;
- V$ l8 j' Z& o        #2000
+ s" n0 q+ u6 t  A& m; O/ |          set = 2;+ ]  I9 {+ S6 l- f
        #2000
  L4 _3 T1 I9 w) e) T+ l% ]/ z          set = 3;5 c2 \# B+ x6 I; H2 ~! w
  #2000
! y( a% ~! m6 R- R+ q% f1 y0 r, Y  $finish;
* W4 a' Q- b- Q$ x0 rend
* z7 V3 m# X; W& F( D) D* n: N7 l: r/ Yendmodule // xclk_tf
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了/ [4 R2 d$ x# _$ m5 M
有simulation的waveform嗎?
3 s' I# V0 x( I4 p) r示波器量的更好~~~^^"
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench7 q# k1 b7 B# k- E, z5 ^% F
確實可用! 已實驗過,但我不會貼圖。
; p- b4 h. U: N, H只要略加修改即可實現。
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
. {8 ^5 \/ j" W1 ~* ^" o1 T7 M0 x* ?' V# m; B& x
可以和你討論幾個問題嗎??, l2 t! l$ b7 V! W/ ^% w

  K6 C# y! N, B& g; E方便留MSN嗎??) W+ E" Y& W2 R2 W5 ]6 Q5 i

: v  {$ Y* g0 F感謝
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...' @& |  }. J1 F; O9 c
是要用在LED Backlight的....
. D' A( r- ]# F2 m1 `7 j# C% X其實有問題可以在這個帖子直接討論..
4 W. C3 d3 H% T這個沒什麼秘密啦..., H7 h: m/ r( a7 n0 G  t8 T3 O
因為我已經申請專利了.....
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-12-21 10:54 AM , Processed in 0.170000 second(s), 15 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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