找回密码
 注册
关于网站域名变更的通知
查看: 305|回复: 2
打印 上一主题 下一主题

基于FPGA的DAC0832电路的驱动代码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-16 07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于FPGA的DAC0832电路的驱动代码
3 x7 j& u; q# b- k
' S, b' r; ~. X4 h4 a2 _原理图
# ^* H3 @; ^: x3 h# x" @) `
6 |. K2 z$ o0 H! D; \! E( Q3 {时序:8 K! r* l+ D& H0 H" H) q
) C" [6 S" A& y
这里的时序我分为 CS 拉低,WR拉低和赋值。WR拉高,CS拉高  4个阶段,
- S- v; N' e+ T( H9 B' G代码:
3 d9 T/ d. _9 _' r4 n7 O0 {+ d1 k9 |module dac( G2 `# v- X/ `* [! u& _
(
+ V4 e  v/ P! x  sys_clk,reset_b,
$ k- b5 o* q) q) m  wr,cs,data
, `% y  G2 @) R );  h3 I% W; q& t, O+ v, u
input sys_clk,reset_b;  |" c" w( X* _6 y( w
output [7:0] data;
8 T. [0 ~2 p: T. `- U; I; Q& h output wr,cs;2 `4 {: L  z" t$ z0 m' Y! G

7 E3 n8 E0 B. l2 F* H- \4 ^7 x reg wr,cs;
2 Z5 e5 ^( \1 s: v reg adc_clk;1 A6 G, a7 v& {! U. C, Z
reg [7:0] data,data_buf;/ ~6 g; U5 w+ [& ^/ U  |
reg [2:0] next;
/ d! o; }0 g0 ? . ^! D  t$ q% H9 ~! `5 G
parameter  state1 =3'd0;& T6 a0 M, y+ R9 ^0 p. z
parameter  state2 =3'd1;. R- i9 ?5 V) M* M
parameter  state3 =3'd2;; o& S! L/ y. N" w- E; v+ r
parameter  state4 =3'd3;( d3 |$ o9 {8 u' K& G" `
reg[15:0] count;
% D) c- U( W4 [+ G always @ (posedge sys_clk)
6 A- d- n7 i6 E. `( K begin
" C+ H6 T+ d) L! ^' Y  if(!reset_b)
/ E. U8 T" S' ~7 ?: F  begin
1 _* l2 R& w: n   count<=16'd0;
5 {* Z7 U4 u- o! Z+ U6 \  c) k   adc_clk<=1'b1;) c: B8 z9 R; y2 q& B
  end
  U8 L$ Q7 o, }# C# ~7 ~  else
0 P0 _, D  j" Q6 Z+ i. d  if(count==16'd100)* Q8 x1 I5 ^2 V, q: P4 C( X* m
  begin) z! K, N* A# f: u! r& ]
   count<=16'd0;
& O* b/ y& ]' S$ V   adc_clk<=~adc_clk;' }! [, d/ |- |. F& k: v
  end
4 @6 }6 q! R4 v; V; g0 b' z2 Y' i  else count<=count+1'b1;3 J4 r2 F& @* {) l
end
% p+ @& }% }0 x/ ?( R3 \8 O//=========data buf add=================: x0 `* Y: ^# g, W
reg[20:0] count_adc;' F4 R9 P, {4 N4 o  i( b
always @ (posedge sys_clk)# {: J3 g+ \/ ^0 N1 c
begin
$ Y; c3 I0 |. s; j6 p. [! H; q  if(!reset_b)
, `' W$ w' H, v! n1 Y. |. b8 m/ _  begin4 W( [7 _; p0 D2 }( G7 J
   count_adc<=21'd0;
) {" B* d: e6 j& C& L1 b3 s7 Q   data_buf<=8'b0;
; r7 a7 N0 \2 a# n# f  end
8 ~4 D' s1 d& a) O( _# u+ Q  else' Y4 `: C5 U  t+ o* M
  if(count_adc==21'd50000000)
3 p! q. r4 L; N6 H  begin
2 d, ~( {' b! e0 @* @2 Z   count_adc<=21'd0;
% h4 E) R/ l7 w, q- t7 g8 z   data_buf<=data_buf+1'b1;5 [1 u! L/ Q& ]8 \
  end
6 D& u5 b7 G' f% g  else count_adc<=count_adc+1'b1;
* t; {4 Q0 Y% f# V end
6 C6 m- a9 f3 Q& a/ z  U7 w! L
/ ?8 t& C" Q5 |* v- A6 g
! z& F  {- B  U* c, ]% b) A6 d always @ (posedge adc_clk)
, I, N1 v, r( x7 \, d/ | begin, R! J7 N7 x3 N1 P: {  t
  if(!reset_b)
  ]% p7 ^! l/ F; O  begin! L. q. N: |1 i8 g
   next<=state1;+ n/ Z( h4 m0 R3 R
   cs<=1'b1;
; s; O* E+ v6 G1 H7 Z& l   wr<=1'b1;4 ^. Z/ g; B$ D4 q( y; ^) j& s6 t
  end
) Y: ?: E5 F  c6 y  else: d3 l" e% u3 _+ v( b  X1 c- q0 P2 @
  case (next)& x- d$ `: o! f! P- P
  state1 :
/ h1 m9 [  o& @2 v! n: ]3 V   begin& B4 c* M* W4 Y( H/ s, M4 {" z
    cs<=1'b0;
# x0 }! o7 \) a6 R7 r5 }    next<=state2;. S) C1 v# |1 e
   end6 c  c% W! e: p8 H6 D2 O7 {
  state2 :' K, m- M% S3 z
   begin
( Y1 u& i# l7 x0 e$ N6 ~6 U" V    wr<=1'b0;5 U! `( M. A  d+ t- K# [6 Y& @
    data<=data_buf;) ]9 m( `4 k. b3 U0 f1 J  t3 a/ S
    next<=state3;* ~, A  \8 T* _
   end+ K' V* U" x9 T  i
  state3 :
# Y; D/ M1 E. ~8 A   begin
7 \  t4 q: n) R6 M    wr<=1'b1;
( v. B6 e" ^" ]  D5 t. E  |; {    next<=state4;, S; D( R2 R; W' {0 j# _' c- y% A* y
   end
* W! v  \( O" H, [- G. [/ U0 [. v  state4 :5 |! A9 f+ x# V* \6 c
   begin! H' I9 @$ ^" f- ^  A+ W  O
    cs<=1'b1;3 B2 E" F" |8 C/ L6 @! V) _; k5 w
    next<=state1;( w. O6 S" p3 Y- B! S
   end5 L1 e  e: [% z6 ?9 w0 X
  endcase
% Z! q2 A5 d- X: l  
; K& r& [/ Y- R end6 e; E9 L3 `# X+ N- M: a, i2 D

* e9 x; _0 F' a! N. H 6 M4 I* N% |+ T4 e, x
endmodule
# {3 m4 t! Q2 q, l4 w+ |/ E" y0 O1 D

该用户从未签到

2#
发表于 2019-5-16 17:50 | 只看该作者
很棒的资料 谢谢

该用户从未签到

3#
发表于 2022-8-18 16:01 | 只看该作者
基于FPGA的DAC0832电路的驱动代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-23 11:49 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表