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

FPGA控制DAC0832 

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
FPGA控制DAC0832
4 R& F. w* @: e5 ?! r4 W! \
; O6 `  c+ l2 N( c4 N
DAC0832是常用的8位DA转换芯片,建立时间为1us,用verilog硬件描述语言控制如下:
0 L' v, M) {( k//name : ADC_0832
% {, Q% p6 g5 V//author : qin wei he;) f. ]; A, u- U" H; t2 ]$ M
//date :2011.04.30;# G0 R# U4 Q9 ~
//function:( B! r/ M* L; [
" Y$ v3 S+ W: Y9 @
module DAC_0832(6 W4 x3 j0 P5 c! V) t  w
    input clk,      //外部时钟输入50M
2 T  `& z6 a" y( ]8 ]9 X. b    input reset,  //复位6 a% Q6 E' d* H7 b& L9 r
    input[7:0]data_in, //8位数据输入
8 V6 {+ K& u7 Z; q: L; l    input EN, //使能,只保持一个时钟周期  d( m" t4 N; J# Y' K# R
    output reg CS,//DA0832片选信号
$ _4 o5 t* {% S% e7 O( O- m    output reg WR, //读入信号
0 L& U! w6 S: F3 s9 Y: A- r    output reg[7:0] data);//8位数据输出
; K, q3 l! Y4 w/ t- R) _( r; Z6 L* q' `- X
reg[7:0]data_in_reg;
* g  a5 `2 }& `6 U3 xalways @(posedge clk or negedge reset)//判断使能信号,锁存输入数据) Q, g7 t! u' N6 [, D& u5 ~
if( ! reset ) data_in_reg<=0;
; x( Z! n  H( K1 t# V/ | else if(EN) data_in_reg <= data_in_reg;+ k6 ?* `1 M6 M5 I9 ^2 f$ V$ p
else data_in_reg <= data_in_reg;
9 \3 ^$ m4 @% C8 D 3 G% M$ g0 V* D! t" X5 k2 T' h
reg[2:0]cnt1;% H& L. l+ \3 P% y3 W9 ?6 y
always @(posedge clk or negedge reset)////100NS计数+ Y  e  v) E; D5 D" v* K+ d
if( ! reset ) cnt1 <= 3'b0;+ |& Q: G/ o1 F& B- l1 K8 E" A
else begin- X' G* y; J6 _
   if(cnt1 == 3'd5) cnt1 <= 0;
4 W7 \# c- b7 R   else cnt1 <= cnt1+ 1'b1;
+ t. E9 g# W. x6 r4 Y  end
0 ?; @: W( g" R' X' Dreg[3:0]cnt2;
/ S6 K, i+ x$ k7 s" ealways @(posedge clk or negedge reset)2 u* L. M( K  W" p) C6 R
if( ! reset ) cnt2 <= 4'b0;
/ E* ?$ L$ z0 k% Q' x3 N else begin9 o% N" p+ v4 @" W- }- {
   if(cnt2== 4'd11) cnt2 <= 3'b0;
( j) B1 k$ ~8 V; Y( M   else if(cnt1 == 3'd5) cnt2 <= cnt2 + 1'b1;* i' f/ i/ w% J. z& I) d
   else cnt2 <= cnt2;; \% }5 H7 R. H2 n# N
  end0 i" j! U* \6 R, I
always @(posedge clk or negedge reset)* ?! v; _' P/ Q2 H, F0 d
if( ! reset ) begin& N/ C7 k8 S0 L9 R% \# `. Z7 B
  CS<=1'b1;, r% s; x0 ?1 S3 T- @
  WR <=1'b1;
* _+ [3 C3 f  ]& ?1 _/ m' L  data<=8'b0;
7 C$ [: P- Y% n- y( z% _ end  L6 }5 o! S/ |' X; q9 b3 r

" Y% J  R/ r6 n/ X1 x$ R else begin
7 g' @, b, t- o  case ( cnt2 )
- |5 Z, X3 K% x. w8 C  1,2,3,4,5,6,7,8, : begin CS <= 1'b0;end
+ G8 D6 [+ ?& O$ `$ w/ P" I( W  default : CS <= 1'b1;
) `$ `' D5 @5 z- o# X8 f) y  endcase
9 s! B, V) p8 a3 M  6 j9 D: Q9 G) H3 B! h. W0 |5 z$ H
  case (cnt2)
, J" D, ]) }+ K& g3 j  2,3,4,5,6,7 : begin WR <= 1'b0;end
8 W. p" c+ Z0 x; Y  default : WR <= 1'b1;; y: `8 y- |3 \
  endcase
2 W/ F7 P, W3 g9 i1 i  % ?2 w1 B# l" V$ y
  case (cnt2)
, }9 l8 c" W% o1 o  1 : data <= data_in_reg;
2 W: e! a! s, J: T  default : ;5 P$ K0 {  a5 b$ e
  endcase8 M8 r( b7 ?( z( Q1 F
end
% M: ~% {. t/ r4 b2 ^8 V" ?endmodule
' R" h, R% B& i5 m8 w3 {7 d9 x4 f% \  t  t' _9 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-2 20:14 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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