一、系统原理利用FPGA芯片,用verilog语言编写逻辑,通过DAC0832LCN进行DA转换,产生递增斜波、递减斜波、三角波、递增阶梯波。
DAC0832LCN数字输入端具有双重缓冲功能,可以双缓冲、单缓冲或直接输入,适用于多个模拟量同时输出的场合。主要特性为:
分辨率:8位
建立时间:1us
功耗:20mW
输入:TTL
DAC0832LCN的结构框图如下所示:
时序如下图所示:
关键步骤:1.使用Xilinx XC2S200型FPGA器件设计实现
2.使用电子EDA实验开发系统的通用IO口,向DAC0832LCN芯片的D0—D7送数据,以产生不同的输出波型。
3.使用Xinlix ISE 6.3软件进行Verilog HDL开发。
源代码1.Verilog源代码,sig_gen.v
module sig_gen(sysclk, rst_n, mode, data, CS, WR);
input sysclk, rst_n;
input wire[1:0] mode;
output wire[7:0] data;
output reg CS, WR;
reg [7:0] counter;
reg addsub;
always @(posedge sysclk or negedge rst_n)
begin
if (!rst_n)
begin
counter = 0;
addsub = 0;
CS = 0;
WR = 0;
end
else
begin
case (mode)
2'b00 : counter = counter + 1; //递增斜波
2'b01 : counter = counter - 1; //递减斜波
2'b10 : // 三角波 |