ZHCAFG0 June 2025 DAC81408 , DAC81416 , TPS2661
| 主要输入参数 | 主要输出信号 | 建议的器件 |
|---|---|---|
SPI 或 I2C 通信 来控制 DAC 电压输出 | ±10V 输出 DAC 信号 具有过压保护功能 | DAC81408、OPA206、TPS26611 TVS3301(可选) |
目标:保护 ±10V 信号免受持续 ±32V 连接的影响,适用于不具有正检测引脚的数模转换器 (DAC)。
该电路设计描述了用于精密 DAC 输出的过压保护电路。该电路可保护 DAC 输出免受高于最大电源电压和低于最小电源电压的持续过压的影响。在没有正 SENSE 引脚的器件中,DAC 输出缓冲器包含在器件内,无法对输出缓冲器的正 SENSE 反馈引脚进行引脚访问。过压保护电路包含一个采用单位增益设置的运算放大器,一个用于保护输出的电子保险丝以及一个可选的瞬变电压抑制 (TVS) 二极管。当 DAC 工作电压 ±15V 时,输出受到 ±32V 或更高保护,而不会损坏 DAC 和保护电路。这种类型的保护电路缓冲器可用于许多工业工厂自动化和控制应用。如果输出端在可编程逻辑控制器 (PLC) 等输出端子上遇到因接线错误而导致的过压事件,该电路特别实用。

过压保护缓冲器通过 PSpice® 进行仿真。首先、使用脉冲电压源作为 DAC 来模拟缓冲器的传递函数。缓冲器的输入从 –10V 斜升至 +10V,显示了 DAC 的整个输出范围。缓冲器原理图是为了进行仿真而构建的。

从缓冲器输入到输出的传递函数源自瞬态仿真。
第二个瞬态仿真显示了过压事件期间的电流。

输入被设定为 0V,而一个电压电源被放置在缓冲器的输出上。电源斜坡模拟从 –32V 到 +32V 的转换。
仿真从 –32V 的输出开始,TPS26611 电子保险丝处于开路状态,从而防止从 OPA206 的输出中获取任何电流。剩余电流来自具有集成输入保护的 OPA206 的输入,该输入可将电流限制为约 5mA。随着电压降低,缓冲器输出端的电流保持为 5mA。
当电压增加到接近 -15V 的较低电源电压时,TPS26611 开始从 OPA206 输出端传导电流。由斜坡电压驱动的 OPA206 会立即达到 30mA 的器件电流限制。此电流限制低于 TPS26611 的 32mA 电流保护水平,并且允许传导电流。OPA206 持续电流限制没有破坏性。
斜升电压上升并超过 0V,OPA206 的输出从拉电流变为灌电流。OPA206 在相反方向上被强制进入 30mA 电流限制状态。
最后,斜升的电压上升到高于 +15V 的正电源。TPS26611 电子保险丝再次打开,OPA206 输出停止灌入电流。在这里,唯一的输出电流来自 OPA206 输入保护。
未对 TVS3301 进行仿真。但是,发送的输出未超过保护阈值 33V,即会开启 TVS 导通。在 32V 的仿真电平下,TVS3301 不会影响保护缓冲器和 DAC 输出的运行。
过压保护缓冲器为测试而构建,并连接到 DAC81416-08EVM 的输出端。首先,DAC 的输出从 –10V 斜升至 10V,以驱动缓冲器输入。从缓冲器中测得的偏移在整个范围内小于 10µV。
然后,输出会连接到可变电源。当驱动输出时,会记录输出端的电流。测量开始时,电源电压为 –32V,可变电源电压升至 +32V。然后,输出从 +32V 改回 –32V。此设置与前面所述仿真中的原理图类似。
在测试中,OPA206 短路电流和输入保护电流略低于仿真值。TPS26611 电子保险丝的关闭和打开存在迟滞。在 TPS26611 电子保险丝关闭并且在正常运行情况下传导电流的情况下启动时,电子保险丝会在输出上升时打开,并被驱动到超过任一电源的大约 2.5V。在这里,当输出被强制升至高于 17.2V 或低于 –17.5V 时,TPS26611 会关闭。这在仿真中可以看到一部分,在仿真中以从低电压到高电压的单次斜升运行。
下表显示了此包含 DAC81408 的应用的示例寄存器映射。此处给出的值适用于在设计说明部分作出的设计选择。
| 寄存器地址 | 寄存器名称 | 设置 | 说明 |
|---|---|---|---|
| 0x03 | SPICONFIG | 0x0A84 | [15:12] 0b0000:保留 |
| [11] 0b1:热警报会触发 ALMOUT 引脚 | |||
| [10] 0b0:在 DAC 更新之间不设置 ALMOUT | |||
| [9] 0b1:CRC 错误会触发 ALMOUT 引脚 | |||
| [8:7] 0b01:保留 | |||
| [6] 0b0:已禁用软切换操作 | |||
| [5] 0b0:器件处于 ACTIVE 模式 | |||
| [4] 0b0:已禁用 CRC | |||
| [3] 0b0:已禁用流模式 | |||
| [2] 0b1:SDO 引脚正常工作 | |||
| [1] 0b0:在 SCLK 上升沿进行 SDO 更新 | |||
| [0] 0b0:保留 | |||
| 0x04 | GENCONFIG | 0x3F00 | [15] 0b0:保留 |
| [14] 0b0:启用内部基准 | |||
| [13:6] 0b11111100:保留 | |||
| [5:2] 0b0000:已禁用所有通道的差分模式 | |||
| [1:0] 0b00:保留 | |||
| 0x09 | DACPWDWN | 0xF00F | [15:12] 0b1111:保留 |
| [11:4] 0b00000000:已启用所有通道,不处于断电模式 | |||
| [3:0] 0b1111:保留 | |||
|
0x0B、0x0C |
DACRANGE0 (通道 7:4) DACRANGE1 (通道 3:0) |
0xAAAA | [15:12] 0b1010:将 DAC 输出范围设置为 ±10V |
| [11:8] 0b1010:将 DAC 输出范围设置为 ±10V | |||
| [7:4] 0b1010:将 DAC 输出范围设置为 ±10V | |||
| [3:0] 0b1010:将 DAC 输出范围设置为 ±10V | |||
|
0x14-0x1B |
DAC0–DAC7 (通道 0:7) |
0x8000 |
[15:0] 为输出电压 0V 设置 DAC 数据代码 |
下面所示为将初始寄存器值设置到 DAC81408 的伪代码序列。以下伪代码将器件设置为一个通道以实现 ±10V 输出。此处给出的值适用于在设计说明部分作出的设计选择。
DAC81408 伪代码示例
1: //SYNTAX: WRITE <REGISTER NAME (Hex code)>, <MSB DATA>, <LSB DATA>
2: //Set the device in active mode
3: WRITE SPICONFIG(0x3), 0x0A, 0x84
4: //Enable the internal reference
5: WRITE GENCONFIG(0x04),0x3F, 0x00
6: //Enable all DAC channels, not in power-down mode
7: WRITE DACPWDWN(0x09), 0xF0, 0x0F
8: //Set Channels 7 to 4 to ±10V output range
9: WRITE DACRANGE0(0x0B), 0xAA, 0xAA
10: //Set Channels 3 to 0 to ±10V output range
11: WRITE DACRANGE1(0x0C), 0xAA, 0xAA
12: //Set DAC0 to output 0V
13: //Data is configured in straight binary, not two's complement notation
14: WRITE DAC0(0x14), 0x80, 0x00
15: //Channels 1 through 7 configured through registers 0x15 - 0x1B
使用参数搜索工具查找其他可能的器件。
有关 TI 综合电路库的信息,请参阅模拟工程师电路说明书。
其他资源
如需 TI 工程师的直接支持,请使用 E2E 社区: