Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-3-17 11:29:24 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
請問cpld可否能把一個input的frequency倍頻....
2 z+ G- d0 I$ m倍頻是否只能用PLL的方法?
/ P2 ?4 [! ?3 p+ o7 Q最近遇到這個問題...想看看各位的看法..
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
30#
發表於 2008-10-4 00:04:50 | 只看該作者
嗯~~大大解答蠻詳細低~~~多謝喔~~~小第在研究看看~~~~~~~��
29#
 樓主| 發表於 2007-12-24 16:35:41 | 只看該作者
沒錯...
# z( |, {* K7 U! S* U' e& K6 a是要用在LED Backlight的....1 V' F* b. A$ ^; o" t" p, k
其實有問題可以在這個帖子直接討論..
& g5 A; ~- c' z% l. X! b這個沒什麼秘密啦...3 a; H/ k3 U+ L' z
因為我已經申請專利了.....
28#
發表於 2007-12-24 14:50:48 | 只看該作者
請問一下你是要控制LED在顯示方面的應用嗎??
3 c8 @2 I1 R1 a8 B) g$ V& \# f& E# S" C" @+ _/ e( t
可以和你討論幾個問題嗎??
# R) h2 O8 ?% m( J3 L) n) m) ~' a9 K8 S* i1 u! d1 g- D
方便留MSN嗎??
  o  r; ?. i# Z: I+ T# m( D6 i( A% F- N
感謝
27#
發表於 2007-9-10 17:20:59 | 只看該作者
有附 test bench
0 l- p  c! J5 h確實可用! 已實驗過,但我不會貼圖。
& L. k6 N; _& r% r只要略加修改即可實現。
26#
發表於 2007-9-10 14:49:50 | 只看該作者
這個有趣了( A. v! [; K/ e- Z3 V3 e$ M) y
有simulation的waveform嗎?9 J) t' I6 ^2 t5 l5 F0 r
示波器量的更好~~~^^"
25#
發表於 2007-9-10 06:26:03 | 只看該作者
//可直接透過synthesis  tool用於PLD,FPGA不可 LUT delay則要採其他方式。4 B# M& ?$ Q8 ^; J( c2 [
//所有註解都要保留* r" f/ L, d* T' B. o7 H3 I* Z
- t0 R  g3 G% x; X5 }. G
`timescale 1 ns / 1 ns
' {* g: v! k2 ~: x# H; Gmodule xclk(sclk,ena,set,outp);0 f2 T+ d+ z1 A( I: D) Y- l
$ n; ]. t' \. ^+ `

! }7 J9 ^1 q" c" r7 P' }; l( H
4 o. R8 ^7 P+ s1 a/ f% Q* ]input sclk,ena;
7 i$ @% C# z7 M6 o2 Uinput [1:0]set;
/ u/ C& L( w+ L4 m1 K6 t& U1 Woutput outp; : r" ^7 S: L, ~5 A, p, \

9 K9 F3 e% v& y. P- {9 I9 Swire outp;
% N$ H- y1 g. n6 ]+ w6 X. E/ r5 n6 K6 o& E+ F$ u* q0 N% d

- r- S! N8 n% U8 J0 L6 ?% a8 w' {9 R# J, F% H# J; N! c
/**** Node preservation for nodeA **************/( ^8 a' i& |3 [+ r2 Z, R' C
7 Y6 y' T/ W" `
3 g$ g& S4 r' a4 j) s, s" B" Y
//exemplar attribute nodeA_5 preserve_signal true' Y1 J( L" E/ D/ j  x  [) R) i

8 l" F! h4 w$ A5 M4 L* Z- z//exemplar attribute nodeA_4 opt keep
0 o! F  r$ _5 g7 y
2 m) F$ a# v  H" }/**** The following comment form also works ****/; ^) Q6 T" n+ f1 H9 B% [
' A6 J& G* M0 s  \6 Z$ o
//exemplar attribute nodeA_3 preserve_signal true
6 Z- k' ]2 ~, b! s5 ~5 J8 W: {* H, x. v$ D/ m; o/ c
//exemplar attribute nodeA_3 opt keep  {7 ^. }4 U: k$ O9 n
! ?! S3 p8 M; c& ^$ l
/**** The following comment form also works ****/! |( Q% \# ]( V  }/ @5 U
: |  v, i+ G7 o2 _* f) M) R) P% t
//exemplar attribute nodeA_2 preserve_signal true
; ]" e2 v3 B1 _0 V# j8 K$ q$ l
3 ?% G" `9 i, {: }" J. F( t/ N# I( f//exemplar attribute nodeA_2 opt keep  r2 D6 O" N( T$ X/ X3 E

; Y6 m. W$ E+ O3 b4 m# l/**** The following comment form also works ****/* h8 j# f, Y/ v, F) \

& }" S* @. B+ v: }# }! K5 W//exemplar attribute nodeA_1 preserve_signal true2 D9 a: U4 p; l# y
3 s# k  f9 {/ I! ^- M7 n
//exemplar attribute nodeA_1 opt keep
7 i% p1 P" Q! j; j+ w ; Z% `/ N) m, H% y6 N4 j
4 {# J# o4 K. c8 ]* o- p: T
/**** The following comment form also works ****/
9 s* V/ i: p! ^1 O
$ M# g6 e' X3 D: G+ M% H/*exemplar attribute nodeA_0 preserve_signal true
  t$ H0 k% Q, w9 i6 |9 S6 y- O. i6 n4 [3 _
exemplar attribute nodeA_0 opt keep*/
1 @+ X+ p" F8 m. v9 E
& j0 k, `* H7 U( Z3 p( m1 m6 t. N& B) b
7 s, F& ]9 K) A

/ A7 A  G6 A8 m2 x  l  B( ~3 r9 w  M' G
7 ^0 o7 ~; u; |

0 A0 J' t# i9 Y5 e. }8 T/ _4 Q! R2 M4 W) X' P. w
5 @5 `! A, d; J& Q0 X. [8 ]+ \3 L

) ~# L5 _% p2 A7 K  B" }$ E! swire nodeA/* synthesis syn_keep=1 opt="keep"*/;; A8 f1 L/ N4 d1 J& ~
wire nodeA_0/* synthesis syn_keep=1 opt="keep"*/;
. `( R+ A, ^$ r& \wire nodeA_1/* synthesis syn_keep=1 opt="keep"*/;7 d; k& z5 d" n; N
wire nodeA_2/* synthesis syn_keep=1 opt="keep"*/;
( o6 ?0 z8 t. n( Qwire nodeA_3/* synthesis syn_keep=1 opt="keep"*/;. V- F4 u4 B5 `9 ?
wire nodeA_4/* synthesis syn_keep=1 opt="keep"*/;% h- q( N# A3 o, I+ L$ l
! z1 L0 o5 J" c' R9 j
assign#1 nodeA_0  = sclk & ena;
9 s: T& O- v1 P9 j" `& O/ a3 y1 T* L2 s. {0 q9 B$ W
assign#1 nodeA_1 = ~ nodeA_0;' u9 n! D8 K1 S  g
assign#1 nodeA_2 = ~ nodeA_1;9 ^& p+ O$ G( F7 Q
assign#1 nodeA_3 = ~ nodeA_2;- Y, H# e" \2 K, N2 V& }" S0 u
assign#1 nodeA_4 = ~ nodeA_3;9 ]" R% S7 a* A! ]
  v! {, g6 t( x  R3 X. v
reg xout;
" @( [3 L) R: X" {4 B* g
" @( l  j7 J! [: i8 T* ]4 Jalways@(nodeA_1,nodeA_2,nodeA_3,nodeA_4,set)% k+ b) W2 E  N" {! J& R
  casez(set)) I0 @; g/ O2 A( b( a1 g; l
    1: xout =#1 nodeA_2;
3 x6 T/ c7 w9 D! Y& b    2: xout =#1 nodeA_3;
* C* u3 |: _0 p2 ?0 L    3: xout =#1 nodeA_4;/ _0 q8 X# H( H. X
    default: xout =#1 nodeA_1;% b# ?* M4 p7 C! \7 D
  endcase, g  Y& R5 Y5 ?- `
  
$ x- H+ Q5 I- oassign#1 nodeA = xout;* V% H& K/ I! J0 l7 d6 v& K+ D
assign#1 outp = ena ? nodeA^sclk : 1'bz;7 h) o! c3 x3 G" }: \, C
& Y$ q: M! B1 p' U- [! ?
endmodule
4 u% N$ Z! x7 N4 E4 @( C# {" e! {* |# @" \) S
, V3 Y& i. g# ]8 j! L

7 n* g4 K' F, E: G7 m`timescale 1 ns / 1 ns) W# f8 H  z& j0 k8 k% w
module xclk_tf();
4 y$ ^! s, K  z3 ^; ^2 g% w- h, V0 H4 P9 k
// Inputs2 _8 G3 h1 C( i" Y8 I  m+ K
    reg sclk;
. v% u' O8 q6 g) h2 J    reg ena;
; y( @  k$ {; [$ C    reg [1:0] set;4 W7 a! V# C7 c* x
: g" X8 t/ A& l/ l5 f! \

" o1 s0 C0 k4 [0 {( h// Outputs$ l$ F$ w8 n9 E
    wire outp;
! F5 G! a& h( b; U% M, Z+ {
# @- Q9 R% {' p* x% p& v
# x6 y% S. H9 W0 m2 d) [; t, v: C8 {; C
    xclk UUT () n$ h5 r' X1 J2 y& |
        .sclk(sclk), 5 _, u: {9 e' _% J
        .ena(ena),
- p" c3 i+ B5 z0 p, O        .set(set), 2 C: Q) h$ H. F6 r2 d- }
        .outp(outp)
4 J# s$ n1 t; \5 ]6 D( Y* l5 o        );
6 [& J, }: F* m  l1 Y+ o0 l& Z' {% |1 U- R* p+ Y
! F4 S6 g# P/ W# s! q
7 S( J) F0 y4 R7 W% F
    initial begin
4 R. f4 m6 g1 N3 K3 M5 h8 R4 F7 {            sclk = 0;
7 I/ L/ s" J( T; _            ena = 0;' p* V4 Q- R, c
            set = 0;, U& h, k; I. A& r9 b
    end
" j0 ^! Q& U& f$ A% V6 g, t: M( w: E% @% E! l2 X  n
1 W# l3 }1 I7 m! Q5 |- f# M
always# 5 sclk = !sclk;3 ]: [6 O4 O  x. f0 |% D/ s0 P
- d; u+ o# \9 ^* Y
initial begin
! t. Y+ D: y( \! `8 V        #100) g0 I" P  O' x$ }
          ena = 1;
) f* F, i7 k3 I        #2000   n* a/ H- Z6 o- I" A
          set = 2;9 E+ m# d  N- W$ Q' @, M/ ]
        #2000
. r' c3 c- z  C. n3 k- t          set = 3;
" j' ^( [5 V+ I! @! ~  #2000
6 B0 H$ E' G/ A$ a0 r  $finish;
. v7 o+ W1 ]3 x# c$ w2 G2 M, [4 Kend
9 p2 N' e  }: H- mendmodule // xclk_tf
24#
發表於 2007-6-20 13:39:55 | 只看該作者
不過我還是覺得也許會有更好的方法來設計這個東東的, 所以才會說介紹個人給之類的...哈
23#
 樓主| 發表於 2007-6-17 11:12:57 | 只看該作者
原帖由 tommywgt 於 2007-6-11 03:02 PM 發表
  u4 j9 D) L. a* A5 n這樣子做出來的phase error會很大也, 要先看規格的要求一下下
" s- g2 v" E! I- K- o: j! A
7 a/ i) R- G6 H4 {' M3 R
  J3 u1 ]" U/ f- R! J# A2 {

+ ^4 E* Y$ q6 f: b. G% Y) C. A嘿嘿....沒錯..
5 c( E* c. m1 r/ ?! j, a所以我現在還是用60hz去產生600hz..- f, k! D8 t, E  u8 c: @
另外一個原因是因為客戶只會給我60hz的訊號啦...
22#
發表於 2007-6-11 15:02:01 | 只看該作者
這樣子做出來的phase error會很大也, 要先看規格的要求一下下
21#
發表於 2007-6-10 21:50:08 | 只看該作者
... 這樣說吧
! v5 C% F. e4 `如果有 PIXEL CLK 就用它除頻
% ?1 B+ _2 h3 @# I& u如果有 HSYNC 就用它倍個幾次
8 b8 g. y% A. @2 x/ O8 E$ N
; U4 _) M) L$ z8 b8 ?9 \' }  M因為 PIXEL(DOT), HSYNC, VSYNC 之間有一定的倍數關係
  U4 `6 z( ^3 T; a& B5 @
9 s* S7 _9 @8 Z% \   640x480@60Hz => 25.175MHz (39.7ns)+ V$ \0 ^* v% q+ c3 X" B! v
   DOTx800=HSYNC, 39.7ns x 800 = 31.469us
* ^5 J( R$ A! k# A   HSYNCx525=VSYNC, 31.469us x 525 = 16.52ms (60Hz)$ h- y. q2 J# F" x
所以這樣的CLK一定會和VSYNC同步 (詳見VESA Monitor Timing SPEC); O# j7 u6 r- s9 N7 K

2 K/ g& L: ~9 E# h/ U接下來如果要VSYNC時不出CLK.. 那就用個AND閘吧 (看你用哪個MODE, SYNC有High或Low)2 {" s/ l6 h: p% N  v' t- f  V

3 ~# \; a: L" h還是我想的清況和你不同呢?
20#
 樓主| 發表於 2007-6-10 18:39:08 | 只看該作者
原帖由 eject 於 2007-6-8 07:19 PM 發表
4 @0 ?5 ]6 ~+ A* M問一下下...
" F2 G  C: f* b
3 V; k5 ~# o, Q你有HSYNC可用嗎? MODE 有固定嗎 ?
* K; @! C8 @/ s* c: s' t4 A; M有的話至少已經上 KHz
1 }) m3 p3 d* }* [% I4 m* z而且就倍數來說一定也會跟VSYNC同步吧

, F+ j( T* `3 }) j1 y2 }5 K7 p5 o
9 A& q: S. \2 G; n% o9 E, A2 ?
9 E! _# G% M9 Z0 s2 r2 S: J是有H-sync啦...
: A2 I, x* Z3 m! J. m  M( i不過不能用h-sync來做...  B3 \  H8 ]- h* i8 e" v
因為用h-sync來當triger所造出來的訊號不一定會跟v-sync同步.
19#
發表於 2007-6-8 19:19:44 | 只看該作者
問一下下...# n& H' `* ]; x6 t% L/ Q

. U' W6 ~% a2 Q3 U$ X) X你有HSYNC可用嗎? MODE 有固定嗎 ?
  w& D/ n; |( N8 k& F5 `有的話至少已經上 KHz
1 x6 B; k4 `  o而且就倍數來說一定也會跟VSYNC同步吧
18#
 樓主| 發表於 2007-5-9 21:02:13 | 只看該作者
RGB三組pwm要用到12bitx3. b" |9 M& F, J5 C. l! c+ ]
output也要三組RGB 12bitx3
4 H+ W1 I; d# X' z) |3 |2 f8 s 同步需要一組12bit counter
9 o6 L( c9 d; i1 |0 J  |
# O: D! E8 z  ]" ^7 b其實我用到的reg..大概就要180個了  j8 x1 x$ Z1 d
所以64 microcell是不太可能啦...
17#
發表於 2007-4-24 10:25:35 | 只看該作者
願意把所有的規格列出嗎?0 I; x+ L; v0 q  I1 p1 B: V
也許可以放到64 micro cell也說不定...
16#
 樓主| 發表於 2007-4-23 19:49:01 | 只看該作者
原帖由 tommywgt 於 2007-4-23 04:30 PM 發表
" V  e9 d/ u" }, M' W也...回到你回的問題...
+ v$ f% ~: `+ I3 G/ Z' F要做phase shift可不用改到duty cycle啊...
6 u4 Y, t+ O" J" M, k) x

  B6 P/ `) Q6 O/ I* n+ ?8 b) N5 V" j  V
其實我shift要做....duty 也要改..
1 N+ m/ U! h! f( k9 u' }' ^所以才需要那麼多的counter...
15#
發表於 2007-4-23 16:30:00 | 只看該作者
也...回到你回的問題...% h4 K: h% ~0 V& u) c3 Q5 w
要做phase shift可不用改到duty cycle啊...
14#
發表於 2007-4-23 16:18:35 | 只看該作者
128microcell在一般的應用可以放一大堆東東也...
( z5 E) Y$ f' M: _# Q. ]你的design很大嗎?
13#
 樓主| 發表於 2007-4-18 20:13:09 | 只看該作者
原帖由 tommywgt 於 2007-4-16 02:14 PM 發表   ?8 k- q+ f" ?% d+ ^- c1 v
如果倍頻是成功的, 那phase shift就只是調整cycle中的1->0, 0->1的時間, 不是嗎?
( }# E; q* D: m% `  b$ d
# j1 s! C  @% F8 \" X2 ]; I4 b
4 X4 w; J+ D1 r* E1 V, p, h4 e
想法是這樣沒錯啦..0 q# U7 a2 b; L3 M, x
以2.457MHz的clock來說...
5 Y& h* C' g! l/ `  \你會需要12bit的counter來數high是多少跟low是多少..(因為pwm的duty是會變的)9 F# C' b8 t" h5 w3 e  A3 k
shift-->one counter
9 E- E* g6 Z' o# t' D; zmemory high-->one counter5 _8 J3 t9 d  z6 Y1 K
memory low-->one counter
9 p, r2 d) R! t1 Y* N2 W9 n我目前是要用到四個counter...
3 |( a8 g1 _, t1 B8 B$ I, z- M不過這樣做起來感覺很不好...' }: M1 ~, E" F& }. V+ `
( z. k% L9 {  Y2 e; T
而R G B各要一組shift../ |  J8 z+ F8 R
128microcell已經被我寫爆了...唉.... ' J  e! i* X9 S$ o2 q' ~8 k5 V

" X; t" p$ _6 N( G# {0 {: n其實光是寫同步的的code...128microcell就已經被我寫爆了呀
( h* D! Y# o% z(目前是用lattice的 iM4A5 128/64)8 `1 W3 P4 }/ O- u7 J6 q
! y7 u& h) G* K( u% D6 G9 U( [
所以才會問各位先進是否有其他的想法.....
12#
發表於 2007-4-17 13:09:06 | 只看該作者
如果 jitter 要求不是很嚴格的話,0 i# t+ t- k$ @. S) m5 |  n$ @
利用 74297 的電路來參考 60Hz 或許可以;
) D4 l/ X/ d+ |# B. `: D# G2 kDCO (ID counter) 跑在 2.457M * 32 對 CPLD 應該是很容易作到...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 01:30 AM , Processed in 0.153519 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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