名称:数模转换AD5545芯片驱动程序设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:数模转换AD5545芯片驱动程序
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
部分代码展示:
`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 2019/10/10 22:06:23 // Design Name: // Module Name: AD5545_drive // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// //数据速率为1M,AB分别0.5M module AD5545_drive( input clk_200M, input [15:0] data_A, input [15:0] data_B, output reg DA_SDI, output reg DA_CLK, output reg DA_CS_n, output reg DA_LDAC_n ); reg flag_AB=0; reg [1:0] A1A0=2'd0;//01--A;10--B reg [15:0] data_DA=16'd0;//DA数据 reg [7:0] count=8'd0;//计数器 always@(posedge clk_200M) if(count==8'd199) flag_AB<=~flag_AB;//flag_AB==0时输出A数据,=1时输出B数据 always@(posedge clk_200M) if(flag_AB==0)begin//flag_AB==0时输出A数据,=1时输出B数据 A1A0<=2'b01;//01--A;10--B data_DA<=data_A; end else begin A1A0<=2'b10;//01--A;10--B data_DA=8'd199) count<=8'd0; else count<=count+8'd1; //count=0~5---cs=1 ldac=1; //count=6~150---cs=0 ldac=1; //count=160~200---cs=1 ldac=0; //控制DA_CS_n always@(posedge clk_200M) if(count<8'd6) DA_CS_n8'd159) DA_CS_n<=1; else DA_CS_n<=0; //控制DA_LDAC_n always@(posedge clk_200M) if(count8'd170) DA_LDAC_n<=0; else DA_LDAC_n<=1; //控制DA_CLK always@(posedge clk_200M) case(count) 8'd10:DA_CLK<=1;//第1个时钟 8'd14:DA_CLK<=0; 8'd18:DA_CLK<=1;//第2个时钟 8'd22:DA_CLK<=0; 8'd26:DA_CLK<=1;//第3个时钟 8'd30:DA_CLK<=0; 8'd34:DA_CLK<=1;//第4个时钟 8'd38:DA_CLK<=0; 8'd42:DA_CLK<=1;//第5个时钟 8'd46:DA_CLK<=0; 8'd50:DA_CLK<=1;//第6个时钟 8'd54:DA_CLK<=0; 8'd58:DA_CLK<=1;//第7个时钟 8'd62:DA_CLK<=0; 8'd66:DA_CLK<=1;//第8个时钟 8'd70:DA_CLK<=0; 8'd74:DA_CLK<=1;//第9个时钟 8'd78:DA_CLK<=0; 8'd82:DA_CLK<=1;//第10个时钟 8'd86:DA_CLK<=0; 8'd90:DA_CLK<=1;//第11个时钟 8'd94:DA_CLK<=0; 8'd98:DA_CLK<=1;//第12个时钟 8'd102:DA_CLK<=0; 8'd106:DA_CLK<=1;//第13个时钟 8'd110:DA_CLK<=0; 8'd114:DA_CLK<=1;//第14个时钟 8'd118:DA_CLK<=0; 8'd122:DA_CLK<=1;//第15个时钟 8'd126:DA_CLK<=0; 8'd130:DA_CLK<=1;//第16个时钟 8'd134:DA_CLK<=0; 8'd138:DA_CLK<=1;//第17个时钟 8'd142:DA_CLK<=0; 8'd146:DA_CLK<=1;//第18个时钟 8'd150:DA_CLK<=0;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1368
阅读全文
383