ZHCSSG9 june   2023 DAC539E4W

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  电气特性:阈值 DAC
    6. 6.6  电气特性:比较器
    7. 6.7  电气特性:通用
    8. 6.8  时序要求:I2C 标准模式
    9. 6.9  时序要求:I2C 快速模式
    10. 6.10 时序要求:I2C 超快速模式
    11. 6.11 时序要求:SPI 写入操作
    12. 6.12 时序要求:SPI 读取和菊花链操作 (FSDO = 0)
    13. 6.13 时序要求:SPI 读取和菊花链操作 (FSDO = 1)
    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 传递函数
          1. 7.3.2.1.1 电源作为基准
          2. 7.3.2.1.2 内部基准
          3. 7.3.2.1.3 外部基准
      3. 7.3.3 查询表 (LUT)
      4. 7.3.4 编程接口
      5. 7.3.5 非易失性存储器 (NVM)
        1. 7.3.5.1 NVM 循环冗余校验 (CRC)
          1. 7.3.5.1.1 NVM-CRC-FAIL-USER 位
          2. 7.3.5.1.2 NVM-CRC-FAIL-INT 位
      6. 7.3.6 上电复位 (POR)
      7. 7.3.7 外部复位
      8. 7.3.8 寄存器映射锁定
    4. 7.4 器件功能模式
      1. 7.4.1 比较器模式
        1. 7.4.1.1 可编程迟滞比较器
      2. 7.4.2 断电模式
    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-MARGIN-HIGH 寄存器(地址 = 01h、07h、0Dh、13h)[复位 = 0000h]
      3. 7.6.3  DAC-x-MARGIN-LOW 寄存器(地址 = 02h、08h、0Eh、14h)[复位 = 0000h]
      4. 7.6.4  DAC-x-VOUT-CMP-CONFIG 寄存器(地址 = 03h、09h、0Fh、15h)[复位 = 0401h]
      5. 7.6.5  DAC-x-CMP-MODE-CONFIG 寄存器(地址 = 05h、0Bh、11h、17h)[复位 = 0000h]
      6. 7.6.6  COMMON-CONFIG 寄存器(地址 = 1Fh)[复位 = 1249h]
      7. 7.6.7  COMMON-TRIGGER 寄存器(地址 = 20h)[复位 = 0000h]
      8. 7.6.8  COMMON-DAC-TRIG 寄存器(地址 = 21h)[复位 = 0000h]
      9. 7.6.9  GENERAL-STATUS 寄存器(地址 = 22h)[复位 = 00h、DEVICE-ID、VERSION-ID]
      10. 7.6.10 CMP-STATUS 寄存器(地址 = 23h)[复位 = 0000h]
      11. 7.6.11 DEVICE-MODE-CONFIG 寄存器(地址 = 25h)[复位 = 8040h]
      12. 7.6.12 INTERFACE-CONFIG 寄存器(地址 = 26h)[复位 = 0000h]
      13. 7.6.13 STATE-MACHINE-CONFIG0 寄存器(地址 = 27h)[复位 = 0003h]
      14. 7.6.14 SRAM-CONFIG 寄存器(地址 = 2Bh)[复位 = 0000h]
      15. 7.6.15 SRAM-DATA 寄存器(地址 = 2Ch)[复位 = 0000h]
      16. 7.6.16 DAC-x-DATA 寄存器(SRAM 地址 = 21h、22h、23h、24h)[复位 = 8000h]
      17. 7.6.17 LUT-x-DATA 寄存器(SRAM 地址 = 25h 至 34h)[复位 =(请参阅寄存器说明)]
      18. 7.6.18 LOOP-WAIT 寄存器(SRAM 地址 = 35h)[复位 = 0000h]
  9. 应用和实施
    1. 8.1 应用信息
    2. 8.2 典型应用
      1. 8.2.1 设计要求
      2. 8.2.2 详细设计过程
      3. 8.2.3 应用曲线
    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机械、封装和可订购信息

封装选项

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

详细设计过程

GPO 引脚为开漏输出。必须使用外部电阻器将这些引脚上拉至所需的 IO 电压。

此示例连接了 AINx 和 OUTx 引脚以简化布线。必须禁用 OUTx 引脚作为比较器输出,方法是将 DAC-x-VOUT-CMP-CONFIG 寄存器中的 CMP-x-OUT-EN 位设置为 0(这是默认设置)。

可以使用方程式 5 来计算 DAC-x-DATA 中存储的阈值代码。

方程式 5. THRESHOLD=VTHLD×2NVREF×GAIN

DAC539E4W 是一个 10 位器件,这意味着最大 DAC 代码为 1023d。对于 1V VTHLD,DAC-0-DATA 通过方程式 6 计算得出。

方程式 6. T H R E S H O L D = 1   V × 2 10 5   V = 204.8 d  

该结果四舍五入为 205d (0x0CD)。表 8-2 列出了其余阈值的代码。

表 8-2 阈值代码
阈值电压DAC-x-DATA[9:0]
1V0x0CD
2V0x19A
3V0x266
4V0x333

AINx 输入连接到输出缓冲器的反相输入,阈值电压连接到非反相输入。默认情况下,当 AINx 上的电压低于阈值电压时,比较器输出为高电平。此示例通过将 DAC-x-VOUT-CMP-CONFIG 寄存器中的 CMP-x-INV-EN 位设置为 1 来反转比较器输出。

默认情况下,AINx 输入为高阻抗,并且输入电压范围受到限制。此示例将 DAC-x-VOUT-CMP-CONFIG 寄存器中的 CMP-x-HIZ-IN-DIS 位设置为 1,以将 AINx 输入连接到有限阻抗。输入电压范围为 0 至 VREF × 增益。

表 8-36 展示了此示例中使用的 LUT 配置。此示例应用使用四个不同的错误代码,其中 0b0000 表示没有错误。当 CMP0 和 CMP1 输出为高电平时,GPO 输出 0b0011。当 CMP2 为高电平时,GPO 输出 0b0100。当所有比较器输出均为高电平时,GPO 输出 0b1111。所有其他情况下输出 0b0000。表 8-36 展示了此示例的 LUT 设置。

表 8-3 GPO LUT 的比较器输入
比较器输出状态
CMP3、CMP2、CMP1、CMP0
输出
GPO3、GPO2、GPO1、GPO0
0b0000 LUT-0-DATA:0b0000
0b0001 LUT-1-DATA:0b0000
0b0010 LUT-2-DATA:0b0000
0b0011 LUT-3-DATA:0b0011
0b0100 LUT-4-DATA:0b0100
0b0101 LUT-5-DATA:0b0100
0b0110 LUT-6-DATA:0b0100
0b0111 LUT-7-DATA:0b0100
0b1000 LUT-8-DATA:0b0000
0b1001 LUT-9-DATA:0b0000
0b1010 LUT-10-DATA:0b0000
0b1011 LUT-11-DATA:0b0000
0b1100 LUT-12-DATA:0b0100
0b1101 LUT-13-DATA:0b0100
0b1110 LUT-14-DATA:0b0100
0b1111 LUT-15-DATA:0b1111

在连续循环中读取 CMPx 输出并更新 GPO。循环刷新延迟可用于降低循环频率,以避免 AINx 引脚上的电压稳定时输出上出现任何开关噪声。计时器为 5 位,存储在 LOOP-WAIT SRAM 寄存器中。根据方程式 4 来计算延迟。将 LOOP-REFRESH 代码设置为 19d 可得到 41ms 延迟。

设置 DAC539E4W 上的寄存器时,应遵循以下指导原则:

  • 通过向 STATE-MACHINE-CONFIG0 寄存器写入 0,可在更新应用参数之前停止状态机。
  • 设置表 8-4 中所示的所有应用参数。必须使用这些位置在 NVM 中保存设置。
  • LUT 位置 LUT-0-DATA、LUT-1-DATA 和 LUT-15-DATA 分别对应 CMP3、CMP2、CMP1 和 CMP0(等于 0b0000、0b0001 和 0b1111)。
  • 在 DAC-x-VOUT-CMP-CONFIG 寄存器中配置所有通道的基准。通过将同一寄存器中的 CMP-x-EN 位设置为 1,可将每个通道配置为在比较器模式下运行。
  • 使用 COMMON-CONFIG 寄存器为比较器输出上电。
  • 将 DEVICE-MODE-CONFIG 寄存器设置为 0x8040。
  • 通过将 0003h 写入 STATE-MACHINE-CONFIG0 来启动状态机。
  • 通过将 COMMON-TRIGGER 寄存器 (0x20) 中的 NVM-PROG 位设置为 1 来触发 NVM 写操作。

表 8-4 应用参数
寄存器名称地址 [位]地址位置
DAC-0-DATA0x21[15:6]SRAM
DAC-1-DATA0x22[15:6]SRAM
DAC-2-DATA0x23[15:0]SRAM
DAC-3-DATA0x24[15:6]SRAM
LUT-0-DATA0x25[3:0]SRAM
LUT-1-DATA0x26[3:0]SRAM
LUT-2-DATA0x27[3:0]SRAM
LUT-3-DATA0x28[3:0]SRAM
LUT-4-DATA0x29[3:0]SRAM
LUT-5-DATA0x2A[3:0]SRAM
LUT-6-DATA0x2B[3:0]SRAM
LUT-7-DATA0x2C[3:0]SRAM
LUT-8-DATA0x2D[3:0]SRAM
LUT-9-DATA0x2E[3:0]SRAM
LUT-10-DATA0x2F[3:0]SRAM
LUT-11-DATA0x30[3:0]SRAM
LUT-12-DATA0x31[3:0]SRAM
LUT-13-DATA0x32[3:0]SRAM
LUT-14-DATA0x33[3:0]SRAM
LUT-15-DATA0x34[3:0]SRAM
LOOP-WAIT0x35[3:0]SRAM
DAC-0-VOUT-CMP-CONFIG0x03[12:10][4:0]寄存器
DAC-1-VOUT-CMP-CONFIG0x09[12:10][4:0]寄存器
DAC-2-VOUT-CMP-CONFIG0x0F[12:10][4:0]寄存器
DAC-3-VOUT-CMP-CONFIG0x15[12:10][4:0]寄存器
COMMON-CONFIG0x1F[15:0]寄存器
DEVICE-MODE-CONFIG0x25[15:0]寄存器
STATE-MACHINE-CONFIG00x27[2:0]寄存器

只有表 8-4 的地址列中列出的位才会保存在 NVM 中,并在状态机中使用。例如,对于 DAC-X-VOUT-CMP-CONFIG 寄存器,只有位 12 至位 10 和位 4 至位 0 会保存在 NVM 中。

以下是该应用示例的伪代码:

//SYNTAX: WRITE <REGISTER NAME (REGISTER ADDRESS)>, <MSB DATA>, <LSB DATA>
//Pull MODE pin low to enter programming mode//SYNTAX: WRITE <REGISTER NAME(Hex Code)>, <MSB DATA>, <LSB DATA>
//Stop the state machine
WRITE STATE-MACHINE-CONFIG(0x27), 0x00, 0x03
//Set the comparator thresholds
WRITE DAC-0-DATA(SRAM 0x21), 0x33, 0x40
WRITE DAC-1-DATA(SRAM 0x22), 0x66, 0x80
WRITE DAC-2-DATA(SRAM 0x23), 0x99, 0x80
WRITE DAC-3-DATA(SRAM 0x24), 0xCC, 0xC0
//Set the LUT values
WRITE LUT-0-DATA(SRAM 0x25), 0x00, 0x00
WRITE LUT-1-DATA(SRAM 0x26), 0x00, 0x00
WRITE LUT-2-DATA(SRAM 0x27), 0x00, 0x00
WRITE LUT-3-DATA(SRAM 0x28), 0x00, 0x03
WRITE LUT-4-DATA(SRAM 0x29), 0x00, 0x04
WRITE LUT-5-DATA(SRAM 0x2A), 0x00, 0x04
WRITE LUT-6-DATA(SRAM 0x2B), 0x00, 0x04
WRITE LUT-7-DATA(SRAM 0x2C), 0x00, 0x04
WRITE LUT-8-DATA(SRAM 0x2D), 0x00, 0x00
WRITE LUT-9-DATA(SRAM 0x2E), 0x00, 0x00
WRITE LUT-10-DATA(SRAM 0x2F), 0x00, 0x00
WRITE LUT-11-DATA(SRAM 0x30), 0x00, 0x03
WRITE LUT-12-DATA(SRAM 0x31), 0x00, 0x04
WRITE LUT-13-DATA(SRAM 0x32), 0x00, 0x04
WRITE LUT-14-DATA(SRAM 0x33), 0x00, 0x04
WRITE LUT-15-DATA(SRAM 0x34), 0x00, 0x0F
//Set the loop refresh setting for 41 ms
WRITE LOOP-WAIT(SRAM 0x35), 0x00, 0x13
//Set the channel 0 reference to VDD and enable comparator mode
WRITE DAC-0-VOUT-CMP-CONFIG(0x03), 0x04, 0x07
//Set channel 1 reference to VDD and enable comparator mode
WRITE DAC-1-VOUT-CMP-CONFIG(0x09), 0x04, 0x07
//Set channel 2 reference to VDD and enable comparator mode
WRITE DAC-2-VOUT-CMP-CONFIG(0x0F), 0x04, 0x07
//Set channel 3 reference to VDD and enable comparator mode
WRITE DAC-3-VOUT-CMP-CONFIG(0x15), 0x04, 0x07
//Power on the DAC channels
WRITE COMMON-CONFIG(0x1F), 0x02, 0x49
//Set the device mode (this is the device default)
WRITE DEVICE-MODE-CONFIG(0x25), 0x80, 0x40
//Start the state machine
WRITE STATE-MACHINE-CONFIG0(0x27), 0x00, 0x03
//Save settings to NVM
WRITE COMMON-TRIGGER(0x20), 0x00, 0x02
//Pull the MODE pin high to enter standalone mode