关于dac1220的模块使用

关于dac1220的模块使用

模块简介

  • 供电电压 5V
  • 最大输出10V
  • 频率范围 \(f_{max}\)是500hz(16位理论可以达到)
    notice:这个频率实在不算高,我硬件软件都移植好了结果发现频率不能满足需求,也算是吃一堑了
    综合来看,单片机确实还是用DDS更好一点,虽然少了很多便捷性,但是需求满足的很好

寄存器

我们要使用这个模块要写两个寄存器

  • CMR寄存器用来配置模块的模式
  • DIV寄存器用来控制输出的电压值
    在kangwei的历程了每次只写一个字节,对这些寄存器写数据来使用模块,这是一种最傻瓜式的操作方式,不需要考虑每次操作几个字节。

spi通信

命令由一个字节组成,每一位有固定的含义,具体见数据手册
image
命令告诉芯片我们要对哪个地址做什么样的操作
接下来跟着发送对应的长度的数据
eg:先发送0x04代表我们要写用两个字节来写CMR寄存器,再发送0x0005代表写入寄存器的数据

波形频率控制思路

因为在移植过程中发现DAC1220频率不符合要求,所以这部分代码中并没有实现,我仅仅提供一下思路
打开定时器,定时器触发中断修改DIV的波形的值,一个周期内根据样点个数设置中断触发频率,实现频率可控

代码,数据手册一并附上

https://github.com/loong2525/HAL_Peripheral/tree/main/信号类/DAC1220

posted @ 2026-04-25 21:10  loong2525  阅读(40)  评论(0)    收藏  举报