当前位置: 首页 > article >正文

FPGA模块——DA转换模块(AD9708类)

FPGA模块——DA转换模块(AD9708类)

  • AD9708/3PD9708
  • 代码

AD9708/3PD9708

在这里插入图片描述

由于电路接了反相器,所以对应就不一样了。

在这里插入图片描述

电路图:
在这里插入图片描述

代码

在ROM中存入要输出的波形数据:
用软件生成各个对应的点。
在这里插入图片描述

给DA转换器一个时钟,这个时钟是对clk时序时钟的取反。由于DA也是上升沿锁存数据,这样就保证DA模块读到的数据都是稳定了的数据。这样只是为了保证系统的稳定。
在这里插入图片描述

module da_wave_send(
    input                 clk    ,  //时钟
    input                 rst_n  ,  //复位信号,低电平有效
    
    input        [7:0]    rd_data,  //ROM读出的数据
    output  reg  [7:0]    rd_addr,  //读ROM地址
    //DA芯片接口
    output                da_clk ,  //DA(AD9708)驱动时钟,最大支持125Mhz时钟
    output       [7:0]    da_data   //输出给DA的数据  
    );

//parameter
//频率调节控制
parameter  FREQ_ADJ = 8'd5;  //频率调节,FREQ_ADJ的越大,最终输出的频率越低,范围0~255

//reg define
reg    [7:0]    freq_cnt  ;  //频率调节计数器



//数据rd_data是在clk的上升沿更新的,所以DA芯片在clk的下降沿锁存数据是稳定的时刻
//而DA实际上在da_clk的上升沿锁存数据,所以时钟取反,这样clk的下降沿相当于da_clk的上升沿
assign  da_clk = ~clk;       
assign  da_data = rd_data;   //将读到的ROM数据赋值给DA数据端口

//频率调节计数器
always @(posedge clk or negedge rst_n) begin
    if(rst_n == 1'b0)
        freq_cnt <= 8'd0;
    else if(freq_cnt == FREQ_ADJ)    
        freq_cnt <= 8'd0;
    else         
        freq_cnt <= freq_cnt + 8'd1;
end

//读ROM地址
always @(posedge clk or negedge rst_n) begin
    if(rst_n == 1'b0)
        rd_addr <= 8'd0;
    else begin
        if(freq_cnt == FREQ_ADJ) begin
            rd_addr <= rd_addr + 8'd1;
        end    
    end            
end

endmodule

http://www.kler.cn/a/147030.html

相关文章:

  • HTTP 入门:认识网络通信基础
  • 【黑灰产】假钱包推广套路
  • DIO算法
  • 递归实现冒泡排序.
  • L4级智能驾驶公交量产方案
  • 详解—C++三大特性——多态
  • Gin框架如何使用并搭建一个后台管理系统(五)
  • python opencv 演示示例
  • Go语言的学习笔记3——Go语言项目布局
  • maven中scope和optional区别
  • hadoop源码解读
  • opencv-利用DeepLabV3+模型进行图像分割去除输入图像的背景
  • Redis之C语言底层数据结构笔记
  • UE5富文本框学习(用途:A(名字)用刀(图片)击杀B(名字))
  • Nginx的location块相关知识积累(包括常用的正则匹配表达式的介绍)
  • PLC ST语言经典电路之 一键启停 和 时钟脉冲
  • cadence virtuoso simulation文件夹删除
  • 文件元数据批量修改:mp3音频和mp4视频的元数据如何批量修改
  • ARM异常模型
  • 基于51单片机的超声波测距系统【程序+proteus仿真+参考论文+原理图+PCB等16个文件夹资料】
  • Flutter 开发入门文章汇总
  • HNU 练习八 结构体编程题2. 招聘