ZHCSNQ9 September   2023 DAC43901-Q1 , DAC43902-Q1

PRODUCTION DATA  

  1.   1
  2. 特性
  3. 应用
  4. 说明
  5. 修订历史记录
  6. 引脚配置和功能
  7. 规格
    1. 6.1  绝对最大额定值
    2. 6.2  ESD 等级
    3. 6.3  建议运行条件
    4. 6.4  热性能信息
    5. 6.5  电气特性:比较器模式
    6. 6.6  电气特性:通用
    7. 6.7  时序要求:I2C 标准模式
    8. 6.8  时序要求:I2C 快速模式
    9. 6.9  时序要求:I2C 超快速模式
    10. 6.10 时序要求:SPI 写入操作
    11. 6.11 时序要求:SPI 读取和菊花链操作 (FSDO = 0)
    12. 6.12 时序要求:SPI 读取和菊花链操作 (FSDO = 1)
    13. 6.13 时序要求:PWM 输出
    14. 6.14 时序图
    15. 6.15 典型特性
  8. 详细说明
    1. 7.1 概述
    2. 7.2 功能方框图
    3. 7.3 特性说明
      1. 7.3.1 智能数模转换器 (DAC) 架构
      2. 7.3.2 阈值 DAC
        1. 7.3.2.1 电压基准和 DAC 传递函数
        2. 7.3.2.2 电源作为基准
        3. 7.3.2.3 内部基准
        4. 7.3.2.4 外部基准
      3. 7.3.3 编程接口
      4. 7.3.4 非易失性存储器 (NVM)
        1. 7.3.4.1 NVM 循环冗余校验 (CRC)
          1. 7.3.4.1.1 NVM-CRC-FAIL-USER 位
          2. 7.3.4.1.2 NVM-CRC-FAIL-INT 位
      5. 7.3.5 上电复位 (POR)
      6. 7.3.6 外部复位
      7. 7.3.7 寄存器映射锁定
    4. 7.4 器件功能模式
      1. 7.4.1 比较器模式
      2. 7.4.2 PWM 淡入淡出模式
      3. 7.4.3 顺序转向指示灯动画模式
    5. 7.5 编程
      1. 7.5.1 SPI 编程模式
      2. 7.5.2 I2C 编程模式
        1. 7.5.2.1 F/S 模式协议
        2. 7.5.2.2 I2C 更新序列
          1. 7.5.2.2.1 地址字节
          2. 7.5.2.2.2 命令字节
        3. 7.5.2.3 I2C 读取序列
    6. 7.6 寄存器映射
      1. 7.6.1  NOP 寄存器(地址 = 00h)[复位 = 0000h]
      2. 7.6.2  DAC-x-VOUT-CMP-CONFIG 寄存器(地址 = 15h、03h)
      3. 7.6.3  COMMON-CONFIG 寄存器(地址 = 1Fh)
      4. 7.6.4  COMMON-TRIGGER 寄存器(地址 = 20h)[复位 = 0000h]
      5. 7.6.5  COMMON-PWM-TRIG 寄存器(地址 = 21h)[复位 = 0000h]
      6. 7.6.6  GENERAL-STATUS 寄存器(地址 = 22h)[复位 = 00h、DEVICE-ID、VERSION-ID]
      7. 7.6.7  INTERFACE-CONFIG 寄存器(地址 = 26h)[复位 = 0000h]
      8. 7.6.8  STATE-MACHINE-CONFIG0 寄存器(地址 = 27h)[复位 = 0003h]
      9. 7.6.9  SRAM-CONFIG 寄存器(地址 = 2Bh)[复位 = 0000h]
      10. 7.6.10 SRAM-DATA 寄存器(地址 = 2Ch)[复位 = 0000h]
  9. 应用和实施
    1. 8.1 应用信息
    2. 8.2 典型应用
      1. 8.2.1 顺序转向指示灯
        1. 8.2.1.1 设计要求
        2. 8.2.1.2 详细设计过程
        3. 8.2.1.3 应用曲线
      2. 8.2.2 对数淡入淡出
        1. 8.2.2.1 设计要求
        2. 8.2.2.2 详细设计过程
    3. 8.3 电源相关建议
    4. 8.4 布局
      1. 8.4.1 布局指南
      2. 8.4.2 布局示例
  10. 器件和文档支持
    1. 9.1 接收文档更新通知
    2. 9.2 支持资源
    3. 9.3 商标
    4. 9.4 静电放电警告
    5. 9.5 术语表
  11. 10机械、封装和可订购信息

封装选项

机械数据 (封装 | 引脚)
散热焊盘机械数据 (封装 | 引脚)
订购信息

详细设计过程

TL431LI-Q1 可调节精密并联稳压器可用于通过 12V 系统电压为 DAC43901-Q1 供电。TL431LI-Q1 具有 2.5V 精密基准。如简化图中所示,这里使用两个 10kΩ 电阻器将输出电压调节至 5V,从而为 DAC43901-Q1 供电。

DAC43901-Q1 中的状态机默认启用;因此,当 VREF/MODE 引脚被拉高时,PWM 输出将与预设参数一起使用。要更改这些默认参数,请将 VREF/MODE 引脚拉至低电平以进入编程模式,并向 STATE-MACHINE-CONFIG0 寄存器的 SM-START 和 SM-EN 位写入 0 以禁用状态机。状态机禁用后,对以下 SRAM 参数和寄存器设置进行编程:

在 TRIG-IN 的上升沿,DAC43901-Q1 PWM 输出淡入至 PWM-MAX 参数中定义的 7 位 PWM 占空比,该参数位于 SRAM 位置 0x21 的位 [6:0]。在 TRIG-IN 的下降边沿上,PWM 输出淡出至 PWM-MIN 参数中定义的 7 位 PWM 占空比,该参数位于 SRAM 位置 0x20 的位 [6:0]。

5 位 PWM 频率在 PWM-FREQ 参数中设置,该参数位于 SRAM 位置 0x22 的位 [11:7]。表 7-7 中介绍了可用的 PWM 频率。示例原理图中使用的 TPS92633-Q1 LED 驱动器建议使用 200Hz PWM 频率和 1% 至 100% 占空比进行亮度控制。在这种情况下,可以在 PWM-FREQ 中将最大频率设置为 31,从而获得 218Hz 的 PWM 输出频率。确保在将参数加载到 SRAM 位置时将此值左移 7 位。

两个 PWM 输出通道使用 FADE-IN SLEW-RATE 和 FADE-OUT SLEW-RATE 参数中定义的相同淡入速率和淡出速率,这两个参数分别位于 SRAM 位置 0x23 和 0x26 的位 [15:0]。总淡入或淡出时间可以使用方程式 4方程式 5 来计算。方程式 4 中使用了 SLEW-RATE 参数来获得 tSLEW_RATE,单位为 ms/step。例如,如果 FADE-IN SLEW-RATE 参数使用值 2366,则得到的 tSLEW-RATE 为 5.68ms/step。

表 7-5 中给出的信息用于计算淡入或淡出转换中的占空比步进总数。如果 PWM-MIN 设置为 0 且 PWM-MAX 设置为 0x7F,则总共需要 176 个步进。使用方程式 5 可计算得出总淡出时间 tFADE 为一秒。

每个通道之间的延迟在 CH0-DELAY 和 DELAY 参数中进行配置,这两个参数分别位于 SRAM 位置 0x24 和 0x25 的位 [15:0]。CH0-DELAY 表示触发信号上升沿和通道 0 启动之间的延迟。COM-DELAY 表示通道 0 启动和通道 1 启动之间的延迟。延迟时间可以使用方程式 7 来计算。如果在 COM-DELAY 参数中将延迟值设置为 88,则通道 0 启动和通道 1 启动之间的延迟为 500ms。

配置所有寄存器设置和 SRAM 参数后,通过向 STATE-MACHINE-CONFIG0 寄存器的 SM-START 和 SM-EN 位写入 1 来重新启动状态机。通过将 1 写入 COMMON-TRIGGER 寄存器的 NVM-PROG 位,将这些设置保存到 NVM 中。将 VREF/MODE 引脚拉高,以将 DAC43901-Q1 置于独立模式并启用数字接口引脚上的 PWM 输出。

下面给出了开始使用对数淡入淡出应用所需的伪代码:

//SYNTAX: WRITE <REGISTER NAME (REGISTER ADDRESS)>, <MSB DATA>, <LSB DATA>
//Pull VREF/MODE pin low to enter programming mode
//Disable the state machine
WRITE STATE-MACHINE-CONFIG0(0x27), 0x00, 0x00
//Power-up DAC channel 0, disable the internal reference
WRITE COMMON-CONFIG(0x1F), 0x03, 0xFF
//Enable comparator settings for channel 0, and set reference to VDD
WRITE DAC-0-VOUT-CMP-CONFIG(0x15), 0x04, 0x07
//Set the comparator threshold to mid-scale
WRITE SRAM-ADDR(0x2B), 0x00, 0x27
WRITE SRAM-DATA(0x2C), 0x80, 0x00
//Set max PWM duty cycle to 100%
WRITE SRAM-ADDR(0x2B), 0x00, 0x21
WRITE SRAM-DATA(0x2C), 0x00, 0x7F
//Set min PWM duty cycle to 0%
WRITE SRAM-ADDR(0x2B), 0x00, 0x20
WRITE SRAM-DATA(0x2C), 0x00, 0x00
//Set PWM frequency to 218Hz
WRITE SRAM-ADDR(0x2B), 0x00, 0x22
WRITE SRAM-DATA(0x2C), 0x0F, 0x80
//Set fade-in time to 1 s
WRITE SRAM-ADDR(0x2B), 0x00, 0x23
WRITE SRAM-DATA(0x2C), 0x09, 0x39
//Set fade-out time to 1 s
WRITE SRAM-ADDR(0x2B), 0x00, 0x26
WRITE SRAM-DATA(0x2C), 0x09, 0x3E
//Set the CH0 delay to 0
WRITE SRAM-ADDR(0x2B), 0x00, 0x24
WRITE SRAM-DATA(0x2C), 0x00, 0x00
//Set the COM delay to 500 ms
WRITE SRAM-ADDR(0x2B), 0x00, 0x25
WRITE SRAM-DATA(0x2C), 0x00, 0x58
//Enable and start the state machine
WRITE STATE-MACHINE-CONFIG0(0x27), 0x00, 0x03
//Save all settings in NVM
WRITE COMMON-TRIGGER(0x20) 0x00, 0x02
//Pull the VREF/MODE pin high to enter standalone mode