Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 31559|回復: 29
打印 上一主題 下一主題

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....: v! @  L( y5 v8 u2 y& C! l
倍頻是否只能用PLL的方法?
3 y; _' \! J6 V9 [0 c, V+ C+ l最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...- k0 g/ Q) p) r0 r
是要用在LED Backlight的....& {! ~- L' @" o0 n( b' F; b
其實有問題可以在這個帖子直接討論..
; Q) |! ~; S0 b, n這個沒什麼秘密啦...
! b; ^7 W' y) ?6 {因為我已經申請專利了.....
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
0 i' ^" \7 j, P% U$ o& P6 e! b+ O6 o4 k# K0 b1 ~1 G
可以和你討論幾個問題嗎??0 X/ w) z4 V, s6 n$ A9 B; \- H& {
7 H6 b9 C; f3 p6 H  ^$ V
方便留MSN嗎??9 j7 d; j$ E# m" L* m9 y4 g) D
4 b5 S6 w% D4 q( x* t/ s
感謝
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
- W4 R, i: D6 E/ w6 Q$ i# i確實可用! 已實驗過,但我不會貼圖。* T8 z+ M) g  v, w' r" e
只要略加修改即可實現。
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了5 @% D/ h3 |. T. q7 [
有simulation的waveform嗎?
  P" O# H) O; q% j示波器量的更好~~~^^"
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。
1 x7 o( g1 e0 H//所有註解都要保留* H# n1 ^+ ?/ ?% `5 L
' A& D, L# f9 Q7 x- G
`timescale 1 ns / 1 ns
; r7 g2 a3 L) P% ~module xclk(sclk,ena,set,outp);
' A3 N8 F& @  x4 P* G- {7 o' O3 `3 e6 _4 c& E# ^

0 I$ B7 J6 T" Y4 T3 ?* y
$ r+ W9 l& |0 x3 ^" ^! u  ~$ dinput sclk,ena;8 }$ H7 {( y5 s7 i8 ]/ ~$ ^7 ~
input [1:0]set;
3 o0 c, y* L" E+ \output outp; 5 B5 ~# S5 J/ \

0 F5 P& f) U  E5 b5 ?, g" }" Q( c+ jwire outp;
' k& f8 I, u) d( e1 _* I( h+ Z5 R+ u* z: E( N
' g! o, I9 o; ]; T! y1 I" \
+ ^; y$ _* B6 k8 u6 s
/**** Node preservation for nodeA **************/) Q! F! ^- }  w" V- R
# [4 m( u' X% _' ?4 B5 }

( h5 u9 }  M, H//exemplar attribute nodeA_5 preserve_signal true; \9 Q4 K" C' M" a8 E
0 z( T) B# M4 ?. \! i
//exemplar attribute nodeA_4 opt keep' `! L. q/ _9 G  F2 W

* q) r/ O. K) l& ~$ r6 i' |* V/**** The following comment form also works ****/6 i! @. I4 C0 c- e4 j+ a
9 B% C0 G- F; @9 @6 b$ ?0 D$ _
//exemplar attribute nodeA_3 preserve_signal true
0 p7 v2 A  E0 {3 j" b5 D' F  o! {  c0 V) i" k9 I$ v# q' V. ?
//exemplar attribute nodeA_3 opt keep, Y, }- D9 O# g, v6 r
. v' i) S( `( `5 a% q8 |
/**** The following comment form also works ****/
; m' X& Q% u$ {2 j; `1 p4 a# j1 i7 j) J
//exemplar attribute nodeA_2 preserve_signal true
9 s% u+ |9 ?) @- J6 G+ [0 d2 i5 k% Z/ P$ J, z* y
//exemplar attribute nodeA_2 opt keep0 H6 I! }$ K# P( h* R3 d7 F

; A! H9 l: J& @& `. [8 J+ W& E/**** The following comment form also works ****/: s5 R" v7 r0 A# U- I7 G' y

' X, _9 X  F) {5 ]//exemplar attribute nodeA_1 preserve_signal true& L0 \" K3 g) ^/ i' r

# f' f9 `( F2 t4 y- |: D/ G) ^//exemplar attribute nodeA_1 opt keep
) {1 A7 B2 X+ h- _
  H6 {" y/ J" t1 `+ K4 z
1 l2 L0 p5 }3 K. s/**** The following comment form also works ****/
; l! n  \* M+ x9 y+ y8 d3 X. E8 S; Q3 ]0 r+ `1 F
/*exemplar attribute nodeA_0 preserve_signal true& D4 Q# m( S9 J& M: _6 M# E; R

8 W0 D) I2 u% e8 K* G) S& o, qexemplar attribute nodeA_0 opt keep*/ 7 L  n" p2 e: h7 m
7 E- o$ G9 ~" T5 X6 l
7 t3 G  I. ]2 M) V7 Z: O2 l0 W' {/ U

6 J2 L6 _; n. K6 o: _
9 x* H, i- K& p! P9 l# @& `: H; y; w

; ^2 C; m' Y5 ^( p& i: J* o, Y. `, U" z0 ~1 f0 T2 ]
, l0 K) H  M( y; i9 r- C
8 G* |5 Q0 n) f

6 ~! X+ R! d( P, Q! ]wire nodeA/* synthesis syn_keep=1 opt="keep"*/;1 E4 a; _; b; B
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;- t( Y- l% H# H
wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;# z+ y8 G- I# o! r" ^4 R% X
wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;
1 S& ]/ X7 F9 [wire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;
; P& L9 }+ \  Jwire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;
* |' D* X# |  r3 G2 J6 |' ?( A9 c( i
assign#1 nodeA_0  = sclk & ena;8 g+ V- M/ }# y3 J! s; @

1 z9 ]. `+ C: I# cassign#1 nodeA_1 = ~ nodeA_0;
: |. Y3 Y2 v# b: J. I5 Jassign#1 nodeA_2 = ~ nodeA_1;
3 v5 R' @# Y4 A% \% v& ?* a/ z" uassign#1 nodeA_3 = ~ nodeA_2;
: B- s$ w( A" h+ _assign#1 nodeA_4 = ~ nodeA_3;" n2 I% g' c! ]9 @/ {/ }
: F% ~. T. S: ^8 J$ w- r7 e
reg xout;
" {  L  s8 w' ^$ E3 u5 d8 e- l  o0 G5 Z  n# A% t0 i
always@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)
3 V- l6 F! T1 B) g, U1 N  casez(set)
& Y3 h, ?5 L$ S5 y    1: xout =#1 nodeA_2;
+ i. U+ N) p1 }    2: xout =#1 nodeA_3;
5 }6 V! `  M% _, z2 l! a# t    3: xout =#1 nodeA_4;
* Y8 |0 n) P# ^    default: xout =#1 nodeA_1;) ]1 P, z9 e0 Z4 E. g) x
  endcase9 }1 p  r. o/ ]4 C% C: W- L" l8 Z" E
  
9 p9 O1 D$ n0 ]  h$ Fassign#1 nodeA = xout;5 F& Z+ \6 w/ W; X" y) ?, E
assign#1 outp = ena ? nodeA^sclk : 1'bz;
" B: `  ?  d. L
) O2 \2 U5 T, s: A  S) fendmodule
" U, L' {3 ?9 u# ^5 {
7 y8 i2 p6 ^) |5 l- T: G* h* z8 l& K, J8 [

! Z8 \; [' k  W`timescale 1 ns / 1 ns
' k8 f9 |/ E$ g3 Xmodule xclk_tf();8 E% Z- I3 O' z1 r4 Q" g
/ n0 O/ t9 n- ~2 D
// Inputs
9 |* U, K+ b% Z; l" f7 M  d3 g    reg sclk;
( V3 Z4 [4 m( M, \4 h* V0 I! @    reg ena;
! X- C# d, {4 ^9 Z    reg [1:0] set;3 y* ?& L. J: I* i, j0 S
1 h7 i! C) \1 J" N" c1 _

/ }, r9 f. W8 f& h! W/ E// Outputs
# j! R0 g$ U) }3 e. k' B    wire outp;# H/ ^" z0 j& Q; C

" D, P1 q- K9 E1 ?) g, K
; l8 u, {3 f" u* R3 E  a1 w3 p* q) {, n4 H) Z' k& _
    xclk UUT (; a+ e4 E- U4 ^" t, V: C7 N/ E1 Z
        .sclk(sclk),
' k8 y( O, D. ]2 p3 y# V0 q        .ena(ena),
, @3 `9 U/ \6 K8 \: Y        .set(set), 8 k! W9 q1 B, I3 O6 C* \  f1 b
        .outp(outp)
( t5 G: z0 e- |) y2 [        );
# w: i* ~8 m& a& c; U$ q& j8 {
& |. _8 `+ y6 K1 o& H: a# d6 [
9 v6 ]6 U- T9 G, ^9 G) s9 D
7 ?1 @, p! v  }7 D6 Q1 |0 s- c% W" ?3 H    initial begin: i# U0 m0 ~% ]" I5 G# G5 s
            sclk = 0;
2 b! }4 k9 O3 m& I9 z+ M; J% a. \            ena = 0;) K( G5 t: K& l/ S; q; x8 z0 a
            set = 0;# Y- |0 o2 j# M3 Z% d
    end+ W8 M2 i9 }1 R' q3 a
; j! H  u3 d/ S5 j: B; W% w
* V: i( t" v$ l
always# 5 sclk = !sclk;% h( R9 T5 B7 \' A

1 t: u$ G: H* J- O0 V) T) G' Winitial begin
/ G( N2 T% F4 x0 L' E7 u7 `/ x        #1003 i& f4 A6 r* E: w) U7 c
          ena = 1;4 w7 k% g4 }5 P# L, ^
        #2000 ( }, q. a/ k" [) c, V6 X
          set = 2;/ L+ \& S( M6 @" R* W
        #2000
# N. _0 W- k* q: k( X4 x" r, h- @5 q          set = 3;3 M6 v; m5 f3 A- F- @
  #20008 H# F. b' w3 C  o% Y, a! Z0 ]+ K$ p
  $finish;
# I5 t% x) D  L" G4 cend/ L/ h% @! c+ q5 z& `# a4 {
endmodule // xclk_tf
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表 : u* X3 I* i7 W  s
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
" b) v9 |% X+ a- x  W$ k4 y
6 ~+ D" |0 D: Z
$ B# I8 v7 E' Q: a: Z
: W# M+ `# r9 a* P
嘿嘿....沒錯..
' p4 S, |# z) ~+ `所以我現在還是用60hz去產生600hz..
$ `) g5 E( R. `  d& H% N另外一個原因是因為客戶只會給我60hz的訊號啦...
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧; s+ g) j0 Q- L; @5 ?: L; {$ |
如果有 PIXEL CLK 就用它除頻' a1 R8 L* k2 A
如果有 HSYNC 就用它倍個幾次
6 e3 F$ Y# n" A/ l) T/ Y- @
9 [& R8 J* s* B- ^4 ]因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
% p$ H5 K* O% y' ~0 I+ u
; h7 V' m3 ]: h- [   640x480@60Hz => 25.175MHz (39.7ns)# S1 R# O; t% q7 W4 O; F1 i9 |
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us4 @' c6 s2 w% }
   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)1 v: v2 y6 W8 e5 \$ R, ]
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC)" _/ @+ @3 f4 T4 i5 B

" K7 T# a# }  {3 H3 E接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)
7 M- |1 f' h/ ?* ]7 [/ U9 ^! b+ x
8 J5 }6 O/ ?5 ~6 N  [. c' G還是我想的清況和你不同呢?
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表 ) @5 `6 X0 T' d# p
問一下下...
8 g9 d: G9 R3 `1 l0 x( G6 n% ~+ D
4 ]  }( l1 ^3 Q0 I5 t' c7 I你有HSYNC可用嗎? MODE 有固定嗎 ?
/ x8 _$ c( Y! k+ G有的話至少已經上 KHz* [6 A! `+ N6 \- ~, s6 T' N
而且就倍數來說一定也會跟VSYNC同步吧
% i* R! o' F8 ]; q- v

8 x- N; O. s0 V' m2 U) w
4 g/ r6 }! k3 L- s, J/ W. ~是有H-sync啦...
9 f- s  a# I" Q: {" G7 o/ H# e不過不能用h-sync來做...2 N2 ?8 w3 Z, y/ A
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...+ d/ E* ~# i1 O' N

+ O* P4 u% [7 V2 h/ [你有HSYNC可用嗎? MODE 有固定嗎 ?; B2 a' t& r! |' Z
有的話至少已經上 KHz
/ p5 C5 q8 m2 P1 R- F  c6 a而且就倍數來說一定也會跟VSYNC同步吧
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3
0 x0 z# R3 d/ ?output也要三組RGB 12bitx3+ @- F! o0 k, ?; G7 o
同步需要一組12bit counter
# J, x9 l5 C, n3 [( V0 T& I8 j  f+ R9 a; X
其實我用到的reg..大概就要180個了' h' L4 L# P' u% _
所以64 microcell是不太可能啦...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?
3 L' {( Y0 R6 P0 k5 H也許可以放到64 micro cell也說不定...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表 : P  r$ K6 B) U1 D
也...回到你回的問題...8 c- X8 w: t# x0 ], q
要做phase shift可不用改到duty cycle啊...

$ J, V" K' W3 E+ h, m. A4 L" T' l
* l$ X6 V/ u  X6 \! z4 P* \  N& w
其實我shift要做....duty 也要改... {* V* ^3 L$ N0 s6 ^. P
所以才需要那麼多的counter...
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...
( t8 Y* e6 a  W$ Y要做phase shift可不用改到duty cycle啊...
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
; c; V  y- J( L5 T9 ?# T) {6 b( X你的design很大嗎?
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表
$ Y- b7 k/ W0 K$ g# k, z- c如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?

2 P5 z" S, q% b2 F/ m, ?& e
, l  i) J, X! y7 B: w8 u+ P! Z
1 u. M' D# b! A3 t- I- \6 Q. c" d想法是這樣沒錯啦..
* t# G) A/ L( L* O$ f5 Z! h2 a5 e0 B以2.457MHz的clock來說...
5 @; `( v7 W0 w你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)
! ~8 d! V/ L) o# G0 v4 `1 j+ p% O$ nshift-->one counter, B0 ^* w) p: f. i: W/ v
memory high-->one counter
( C: Q! |) y% h3 _+ z0 t% {memory low-->one counter
: t4 S# _  ~: P7 d' e6 n% z我目前是要用到四個counter...! N% X% N# ^: b0 G- y$ S  F
不過這樣做起來感覺很不好..." C7 g; B2 q5 Y7 K. i

1 u4 E/ ^$ a7 K3 H! q! z9 R而R G B各要一組shift..
+ ]( g0 w& G$ f" T: u, T1 Y1 d128microcell已經被我寫爆了...唉....
" d- v% x" F9 @% Z9 K
8 O6 U+ I& A: [4 ^! z其實光是寫同步的的code...128microcell就已經被我寫爆了呀
8 t. D5 p+ u% ^7 n; Y: o(目前是用lattice的 iM4A5 128/64)
- @3 m9 m6 }9 M4 t. q0 r# c4 l( N# K- d
所以才會問各位先進是否有其他的想法.....
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,) Y  W  f* z( z
利用 74297 的電路來參考 60Hz 或許可以;
  G. c2 x4 e& E( f% ?DCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-4 08:38 AM , Processed in 0.124007 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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