eric2013 发表于 2014-2-12 20:53:35

【安富莱】DAC8501 16位DAC模块 双路输出 SPI接口 供电3.3-5.0V

产品名称:DAC8501 16位DAC模块
型号:DAC8501E

产品规格:
供电电压 : 2.7 - 5.5V【3.3V供电时,输出电压也可以到5V】
通道数: 2路(通过2片DAC8501E实现)
输出电压范围 : 0 - 5V    【零位 < 0.020V, 满位 > 4.970V】
分辨率: 16位
功耗 :小于10mA MCU接口 :高速 SPI (30M) 支持 3.3V和5V单片机
DAC输出模拟带宽:350KHz
DAC输出响应: 10uS 到 0.003% FSR

产品特点:
1、输出和供电电压无关;模块内带升压电路和5V基准。
2、自适应单片机的电平(2.7 - 5V 均可以)
3、输出电压轨到轨,最高电压可以到 4.970V 以上。

DAC8501E芯片数据手册下载地址:http://www.ti.com.cn/product/cn/dac8501?247SEM
淘宝购买的地址:点击进入




编程非常简单,SPI是单向的,只需要: CSMOSISCK 三根IO
C函数如下,请客户自己移植到不同的单片机系统。


/*
*********************************************************************************************************
*   函 数 名: DAC8501_SendData
*   功能说明: 向SPI总线发送24个bit数据。
*   形    参: _ch, 通道,
*            _data : 数据
*   返 回 值: 无
*********************************************************************************************************
*/
void DAC8501_SendData(uint8_t _ch, uint16_t _dac)
{
    uint8_t i;
    uint32_t data;

    /*
      DAC8501.pdf page 12 有24bit定义

      DB24:18 = xxxxx 保留
      DB17: PD1
      DB16: PD0

      DB15:016位数据

      其中 PD1 PD0 决定4种工作模式
            0   0---> 正常工作模式
            0   1---> 输出接1K欧到GND
            1   0---> 输出100K欧到GND
            1   1---> 输出高阻
    */

    data = _dac;/* PD1 PD0 = 00 正常模式 */

    if (_ch == 0)
    {
      CS1_0();
    }
    else
    {
      CS2_0();
    }

    /* DAC8501 SCLK时钟高达30M,因此可以不延迟 */
    for(i = 0; i < 24; i++)
    {
      if (data & 0x800000)
      {
            MOSI_1();
      }
      else
      {
            MOSI_0();
      }
      SCLK_1();
      data <<= 1;
      SCLK_0();
    }
   
    if (_ch == 0)
    {
      CS1_1();
    }
    else
    {
      CS2_1();
    }
}

missfox 发表于 2014-2-13 10:41:28

不错,顶一下

fourier 发表于 2017-4-4 19:13:41

启源丶 发表于 2023-1-12 20:35:28

大佬,我想请教一下,DAC我用SPI的例程运行,正弦波不是从原点开始输出的,波形有办法从原点开始输出吗?我尝试过输出前重启TIM6,但是效果并不理想

eric2013 发表于 2023-1-13 14:42:30

启源丶 发表于 2023-1-12 20:35
大佬,我想请教一下,DAC我用SPI的例程运行,正弦波不是从原点开始输出的,波形有办法从原点开始输出吗?我 ...

从原点输出怎么理解,空闲的时候输出个电平值?
页: [1]
查看完整版本: 【安富莱】DAC8501 16位DAC模块 双路输出 SPI接口 供电3.3-5.0V