ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AD5689R双通道16位精密DAC:架构解析、SPI配置与噪声抑制实战

AD5689R双通道16位精密DAC:架构解析、SPI配置与噪声抑制实战

1. 从一颗丝印模糊的芯片说起:AD5689R 到底是个什么定位的器件

第一次拿到 AD5689RBCPZ-RL7 这颗料,是在一个四通道数据采集板的改版项目里。当时板子上需要两路独立的模拟电压输出,用来给两片可编程增益放大器提供基准偏置,要求分辨率不低于 14 位、输出纹波小、长期漂移低,而且通道之间不能互相干扰。选型的时候翻了一圈,最后锁定了这颗双通道 16 位 nanoDAC。说实话,光看型号后缀那一长串字母数字,很多人第一反应是"这什么鬼",但拆开看就清楚了:AD5689R 是基础型号,BCPZ 是封装代码,RL7 是编带包装规格。真正核心的信息就藏在"双通道、16 位、nanoDAC、精密电压输出"这几个词里。

先把定位说清楚。AD5689R 属于精密电压输出型 DAC,不是那种高速波形发生器用的电流舵 DAC,也不是音频领域那种追求动态指标的 Σ-Δ 架构。它的设计目标很明确:在工业级温度范围内,提供稳定、可重复、低噪声的直流电压输出。16 位分辨率意味着在 2.5V 满量程下,1 LSB 大约是 38 微伏;如果满量程设到 5V,1 LSB 就是 76 微伏左右。这个精度水平放在精密仪器、自动化测试设备、医疗前端调理电路里,是完全够用的。

那"nanoDAC"这个叫法是怎么来的?这是厂商给这一类小封装、低功耗、高集成度 DAC 产品线起的系列名。nano 指的是封装尺寸和功耗级别,不是分辨率。AD5689R 的封装是 LFCSP,本体大概 3mm × 3mm,引脚间距很密,手工焊接有一定难度,但换来的是极小的占板面积。对于通道密度要求高的板卡来说,这个取舍是值得的。

还有一个容易被忽略的点:AD5689R 内部集成了基准电压源。型号里那个"R"就是 Reference 的意思。这意味着你不需要在外面再挂一颗精密基准芯片,省了 BOM 成本,也省了布局空间。内部基准的初始精度和温漂指标虽然比不上顶级的独立基准,但对于大多数闭环控制系统来说已经绰绰有余。如果你对基准要求特别苛刻,也可以关掉内部基准,从 REF 引脚灌入外部基准,灵活性是有的。

我之所以花这么多篇幅先讲定位,是因为选型阶段最容易犯的错误就是"只看分辨率不看架构"。16 位听起来很唬人,但如果架构选错了,比如拿一颗高速 DAC 去做精密直流偏置,噪声和漂移会让你怀疑人生。AD5689R 的价值不在于参数表上某个单项指标有多炸裂,而在于它在精度、功耗、尺寸、集成度之间找到了一个很实用的平衡点。

2. 拆开看内部:16 位精密 DAC 的架构选择与性能边界

2.1 电阻串架构为什么适合精密直流输出

AD5689R 用的是电阻串(String DAC)架构,不是 R-2R 梯形网络,也不是电流舵加 I-V 转换。电阻串的原理很直观:一长串等值电阻串联在基准电压和地之间,每个节点引出一个开关,开关阵列根据输入码值选通对应的节点,输出电压就是那个节点的分压。这种架构最大的好处是单调性天然有保证。因为电阻串的分压节点是物理上按顺序排列的,码值增加时,选通的节点只会往高电位方向移动,输出不会出现"码值变大、电压反而变小"的非单调现象。

对于闭环控制系统来说,单调性是比绝对精度更重要的指标。你想想,如果 DAC 输出在某个码值附近出现非单调,控制系统在那一小段区间里就会失去方向感,轻则振荡,重则失控。R-2R 架构虽然理论上也能做到单调,但对电阻匹配精度的要求极高,工艺偏差稍微大一点就可能出问题。电阻串架构在这方面有天然优势,代价是面积大、功耗相对高,但在 AD5689R 这个级别的小封装里,厂商通过工艺优化把面积压下来了。

当然,电阻串架构也有它的局限。首先是建立时间。因为输出端要驱动内部开关的寄生电容和外部负载,建立到 16 位精度需要一定时间。AD5689R 的建立时间在数据手册里标的是微秒级,具体数值取决于负载条件。这个速度对于直流偏置、慢速闭环控制来说完全够用,但你要是想拿它做波形合成,那就力不从心了。其次是毛刺能量。码值切换时,开关动作会注入少量电荷,在输出端形成短时尖峰。电阻串架构的毛刺通常比 R-2R 小,但也不是零,后面我会讲怎么在 PCB 上抑制。

2.2 内部基准的温漂与初始精度怎么算

前面提到 AD5689R 内部集成了基准,这里展开说一下它的实际表现。内部基准的输出电压典型值是 2.5V,初始精度在数据手册里一般标 ±0.1% 到 ±0.2% 之间,温漂典型值在 2 ppm/°C 到 5 ppm/°C 这个量级。这些数字看着不大,但放到 16 位系统里要算一笔账。

假设温漂是 3 ppm/°C,工作温度范围是 -40°C 到 +85°C,温差 125°C,那么基准电压的最大漂移就是 3 × 125 = 375 ppm,也就是 0.0375%。在 2.5V 满量程下,这相当于 0.94 mV 的漂移。而 16 位 DAC 的 1 LSB 是 38 微伏,也就是说温漂带来的误差相当于大约 24 个 LSB。这个数字说明什么?说明如果你不做温度补偿,内部基准的温漂会直接吃掉好几位的有效精度。

那怎么办?两个思路。第一,如果系统对绝对精度要求不高,只要求通道间一致性和短期稳定性,那内部基准完全够用,因为温漂是缓慢变化的,闭环控制可以跟踪掉。第二,如果要求绝对精度,那就关掉内部基准,从外部灌一颗低漂移基准,比如 1 ppm/°C 级别的。外部基准的代价是额外 BOM 成本和布局空间,但换来的是实打实的精度提升。

还有一个细节:内部基准的输出引脚通常需要挂一个去耦电容,容值一般在 0.1 μF 到 1 μF 之间,具体看数据手册推荐。这个电容不是随便选的,它影响基准的噪声和瞬态响应。我一般会并一颗 0.1 μF 的陶瓷电容和一颗 1 μF 的陶瓷电容,小容值管高频,大容值管低频,布局时尽量靠近引脚。

2.3 双通道之间的串扰与隔离设计

双通道 DAC 有一个绕不开的问题:通道间串扰。AD5689R 的两个通道共享同一个基准和同一套电源轨,当一个通道的码值发生大幅跳变时,电源电流的波动会通过共享阻抗耦合到另一个通道,造成输出扰动。数据手册里通常会标一个串扰指标,单位是 nV·s 或者 dB,但实际表现跟 PCB 布局关系极大。

我在实测中观察到,如果两个通道的更新是同时触发的,串扰会小一些,因为电源电流的变化是同步的,共享阻抗上的压降变化相对一致。但如果两个通道交替更新,尤其是一个大跳变跟着一个小信号通道,串扰就会比较明显。解决办法有几个:一是在电源引脚旁边放足够大的去耦电容,给瞬态电流提供本地回路;二是两个通道的输出走线尽量远离,不要平行走长距离;三是如果系统允许,把两个通道的更新错开,避免同时跳变。

另外,AD5689R 支持独立的通道更新控制,你可以通过寄存器配置让某个通道在收到数据后立即更新,或者等待 LDAC 信号统一更新。这个灵活性在需要同步输出的场景里很有用,比如两路信号需要保持严格的相位关系时,就可以用 LDAC 同步触发。

3. 把芯片焊上板子:外围电路设计与布局的实战要点

3.1 电源去耦不是随便放两颗电容就完事

精密 DAC 的电源去耦,很多人觉得放两颗 0.1 μF 电容就交差了,实际上远不止这么简单。AD5689R 的电源引脚有模拟电源和数字电源之分,虽然它们内部可能是同一套供电,但外部去耦要分开处理。模拟电源引脚旁边要放低 ESR 的陶瓷电容,容值根据数据手册推荐,通常是 0.1 μF 加 1 μF 的组合。数字电源引脚同样需要去耦,但可以稍微宽松一点。

关键在于回路面积。去耦电容的接地端要就近打到地平面,过孔要短而粗,不要走长线绕到远处的地。我见过一些板子,电容放得离引脚不远,但接地过孔打了三四个,每个都细细的,结果高频去耦效果大打折扣。正确的做法是每个电容配一个独立的接地过孔,过孔直径尽量大,或者用两个过孔并联。

还有一个容易忽略的点:电源轨的排序。如果系统里有多个电源域,上电顺序不当可能导致 DAC 内部 ESD 保护二极管导通,产生闩锁风险。AD5689R 的数据手册里一般会给出推荐的电源排序,通常是先上模拟电源再上数字电源,或者两者同时上。如果做不到,至少要在电源轨之间加肖特基二极管做钳位。

3.2 输出缓冲与负载匹配:什么时候需要加运放

AD5689R 的输出是电压输出型,内部已经有输出缓冲放大器,可以直接驱动一定范围的负载。但"一定范围"是有条件的。数据手册里会标一个输出驱动能力,比如能驱动 2 kΩ 负载到某个精度,或者能驱动多大容性负载。如果你的负载阻抗低于这个值,或者负载电容超过推荐范围,就需要外加缓冲。

什么时候需要加运放?我总结了几条经验。第一,负载阻抗低于 2 kΩ 时,建议加缓冲,否则输出精度会下降,甚至出现非线性。第二,负载是容性且容值超过 100 pF 时,内部缓冲可能振荡,需要加隔离电阻或者外部缓冲。第三,如果输出要走长线到远处的负载,线缆的寄生电容和电感会影响稳定性,加一颗单位增益稳定的运放做缓冲是最稳妥的。

加缓冲运放时,选型要注意几点:输入偏置电流要小,否则会在 DAC 输出阻抗上产生额外误差;失调电压要低,不然会直接叠加到输出上;带宽不用太高,但压摆率要够,避免大跳变时产生压摆限制。我一般会选精密低失调的运放,比如 Vos 在几十微伏级别的,这样对 16 位精度的影响可以忽略。

3.3 基准引脚的布局禁忌与实测对比

基准引脚是精密 DAC 最敏感的地方之一。如果你用内部基准,REF 引脚上挂的去耦电容要尽量靠近引脚,走线要短而粗,不要跟数字信号线平行。如果你用外部基准,基准芯片要放在 DAC 附近,基准输出到 REF 引脚的走线要远离任何开关信号。

我做过一个对比实验:同一块板子上,一组 REF 走线短且远离数字区域,另一组 REF 走线绕了一段且靠近 SPI 时钟线。结果第二组的输出噪声明显更大,在示波器上能看到跟 SPI 时钟同步的尖峰。后来把走线改短、加了一颗 0.1 μF 电容就近去耦,噪声就降下来了。这个实验说明,基准引脚的布局不是玄学,是实打实的电磁兼容问题。

另外,如果你用外部基准,基准芯片的使能引脚和 DAC 的使能引脚要协调好。有些基准芯片上电后需要一段时间才能稳定,如果 DAC 在基准还没稳的时候就输出,会有一段时间的输出错误。稳妥的做法是在基准稳定后再释放 DAC 的复位,或者软件上延时一段时间再开始写数据。

4. 跟芯片对话:SPI 时序、寄存器配置与常见通信故障

4.1 SPI 模式选择与时钟极性的坑

AD5689R 通过 SPI 接口跟主控通信,支持标准 SPI 模式。数据手册里会明确写清楚它支持哪种时钟极性(CPOL)和时钟相位(CPHA)组合。我遇到过好几次通信失败,最后查出来都是 CPOL/CPHA 设错了。SPI 的四种模式里,模式 0 和模式 3 最常见,但具体用哪个要看从机的要求。

AD5689R 通常在时钟上升沿采样数据,所以 CPOL=0、CPHA=0 或者 CPOL=1、CPHA=1 都有可能,具体看手册。我的建议是先用示波器或者逻辑分析仪抓一下波形,确认数据在哪个边沿稳定,然后对应设置主控的 SPI 模式。不要凭经验猜,不同厂商的 DAC 在这点上不统一。

还有一个坑是片选信号的时序。AD5689R 的片选(SYNC 或 CS)拉低后,需要等待一段时间才能开始送时钟,这个时间叫 CS 建立时间。如果主控的 SPI 外设没有自动插入这个延时,就需要在软件里手动加。我见过一些主控的 SPI 外设片选是自动控制的,但建立时间不够,导致第一个时钟沿到来时从机还没准备好,数据就错了。

4.2 写入寄存器序列:从复位到输出的完整流程

AD5689R 的寄存器操作有一套固定的流程,不是随便写个数据就能输出的。典型的上电初始化流程是这样的:

  1. 软件复位:发送复位命令,把内部寄存器恢复到默认状态。这一步不是必须的,但建议做,确保上电后状态确定。
  2. 配置基准:选择内部基准还是外部基准,设置基准的使能状态。
  3. 配置输出范围:AD5689R 支持多种输出范围,比如 0 到 VREF、0 到 2×VREF 等。这个配置决定了输出放大器的增益。
  4. 配置通道更新模式:选择立即更新还是等待 LDAC 触发。
  5. 写入 DAC 数据寄存器:把 16 位码值写入对应通道的寄存器。
  6. 触发更新:如果是等待 LDAC 模式,拉低 LDAC 引脚触发输出更新。

每一步都有对应的命令字节和寄存器地址,具体格式要看数据手册的寄存器映射表。我建议在代码里把这些命令封装成函数,不要每次手写裸命令,容易出错。

还有一个细节:写入顺序。有些配置寄存器需要在写数据之前设置好,比如输出范围。如果你先写了数据再改范围,输出会先跳到错误的值再跳到正确的值,中间有个毛刺。正确的做法是先配置好所有参数,最后再写数据并触发更新。

4.3 读回验证:怎么确认数据真的写进去了

AD5689R 支持读回功能,可以读出内部寄存器的内容。这个功能在调试时非常有用。如果你怀疑数据没写进去,或者写错了地址,读回一下就能确认。读回操作通常需要先发送读命令,然后在下一个 SPI 周期读取数据。

我一般会在初始化完成后做一次读回验证:把配置寄存器和数据寄存器都读一遍,跟写入的值对比。如果一致,说明通信链路没问题;如果不一致,就要查时序、片选、时钟极性这些。这个步骤花不了多少时间,但能省掉后面很多调试的麻烦。

还有一个技巧:如果读回的数据全是 0 或者全是 1,通常是 MISO 线没接好或者从机没响应。如果读回的数据跟写入的差一位或者几位,可能是时钟沿的问题,数据在错误的边沿被采样了。这些现象对应的排查方向不同,有经验之后一眼就能看出来。

5. 精度验证与噪声抑制:从数据手册到实测的差距

5.1 用万用表还是示波器?测量工具的选择逻辑

验证 DAC 输出精度时,测量工具的选择很关键。万用表适合测直流精度,比如失调、增益误差、线性度,但它的采样率低,看不到噪声和毛刺。示波器适合看噪声、毛刺、建立时间,但它的直流精度通常不如六位半万用表。

我的做法是分两步:先用六位半万用表测直流特性,把输出码值从 0 扫到满量程,记录每个码值对应的电压,然后算 INL 和 DNL。这一步能发现单调性问题和大的线性误差。然后用示波器看交流特性,把码值在中点和满量程之间来回跳变,观察毛刺能量和建立时间。示波器要用交流耦合,带宽限制打开,避免高频噪声干扰观察。

还有一个工具是频谱分析仪或者动态信号分析仪,用来测输出噪声的频谱密度。这个对精密应用很重要,因为有些噪声在时域上看不出来,但在频域上很明显。不过这个设备比较贵,不是所有实验室都有。如果没有,可以用示波器的 FFT 功能凑合看,但动态范围有限。

5.2 INL 和 DNL 实测:哪些码值最容易出问题

INL(积分非线性)和 DNL(微分非线性)是衡量 DAC 精度的核心指标。DNL 是相邻码值之间实际步进与理想步进的偏差,INL 是整个传输函数与理想直线的最大偏差。对于电阻串架构的 DAC,DNL 通常在大部分码值上很好,但在主进位跳变点附近可能变差。

什么是主进位跳变点?比如从 0x7FFF 到 0x8000,或者从 0x3FFF 到 0x4000,这些点是二进制码的高位翻转点。在电阻串架构里,这些点对应的是开关阵列的大规模切换,寄生参数的不匹配会导致步进偏差。我在实测中确实观察到,某些主进位点附近的 DNL 会比平均值大一些,但一般不会超过 1 LSB,否则就可能导致非单调。

INL 的问题通常出现在传输函数的两端,靠近零点和满量程的地方。这是因为输出放大器的失调和增益误差在两端影响最大。如果 INL 超标,首先要检查基准电压是否准确,然后检查输出放大器的配置是否正确。有时候 INL 不好不是 DAC 本身的问题,而是外围电路的问题。

5.3 降低输出噪声的五个实操手段

输出噪声是精密 DAC 应用中最头疼的问题之一。噪声来源很多:基准噪声、电源噪声、数字耦合、热噪声、开关毛刺。我总结了几条实操中有效的降噪手段:

第一,基准去耦要到位。前面讲过,REF 引脚旁边放 0.1 μF 加 1 μF 的组合,布局要短。如果基准噪声还是大,可以考虑在基准输出和 REF 引脚之间加一个 RC 低通,截止频率根据需要的建立时间来定。

第二,电源要干净。模拟电源最好用 LDO 单独供电,不要跟数字电源共用。如果共用,至少要在电源入口加磁珠或者电感做隔离。LDO 的选型要注意噪声指标,有些 LDO 的噪声比开关电源还大。

第三,数字信号要远离模拟区域。SPI 时钟线、数据线、片选线都要远离 REF 引脚和输出走线。如果板子空间紧张,至少要在数字线和模拟线之间加地线隔离。

第四,输出端加 RC 滤波。在 DAC 输出和负载之间加一个简单的 RC 低通,截止频率根据信号带宽来定。电阻选低温度系数的,电容选低泄漏的。这个滤波对高频噪声很有效,但会牺牲一些建立时间。

第五,降低更新速率。如果系统不需要高速更新,尽量降低 DAC 的更新频率。每次更新都会注入电荷,更新越频繁,噪声越大。在满足控制带宽的前提下,更新率越低越好。

6. 它适合干什么,不适合干什么:应用场景与选型边界

6.1 闭环控制里的偏置与校准:最典型的用法

AD5689R 最典型的应用场景是闭环控制系统里的偏置和校准。比如在一个传感器信号调理电路里,传感器输出有失调,需要用 DAC 产生一个反向的偏置电压来抵消。这个偏置电压不需要快速变化,但需要稳定、可重复、分辨率高。AD5689R 的 16 位分辨率和低漂移特性正好满足这个需求。

另一个场景是系统自校准。很多精密仪器在出厂前或者定期需要校准,校准的过程就是调整某个偏置或者增益,让输出达到标准值。DAC 在这里扮演的是"可编程基准"的角色,主控通过算法计算出需要的码值,写入 DAC,然后测量输出,反复迭代直到满足精度。AD5689R 的单调性保证了迭代过程会收敛,不会因为非单调而振荡。

还有一个用法是多通道偏置网络。比如一个系统里有多个放大器,每个都需要独立的偏置,用多颗 AD5689R 或者一颗多通道 DAC 就能搞定。双通道的 AD5689R 在通道密度和成本之间是个不错的折中。

6.2 波形生成与动态输出的能力边界

AD5689R 能不能做波形生成?答案是:能,但有限。它的建立时间是微秒级,意味着输出更新率最高也就几百 kHz。对于低频波形,比如几 Hz 到几十 Hz 的正弦波、三角波,它是可以胜任的。但如果你想做音频或者更高频率的波形,它就不行了。

即使做低频波形,也要注意几个问题。第一,更新率要均匀。如果更新间隔不均匀,输出波形会有抖动。最好用硬件定时器触发更新,不要用软件循环。第二,码值序列要预先算好。不要在中断里做浮点运算,那样会引入不确定性。第三,输出滤波要跟上。DAC 输出的是阶梯波,需要低通滤波平滑成连续波形。滤波器的截止频率要跟波形频率匹配,太高了平滑不够,太低了幅度衰减。

我试过用 AD5689R 产生 10 Hz 的正弦波,更新率设到 10 kHz,每个周期 1000 个点,输出经过一个二阶低通滤波,效果还不错。但频率再高就吃力了,主要是建立时间和更新率的限制。

6.3 跟同类器件对比:什么情况下该选别的方案

AD5689R 不是万能的,有些场景下选别的方案更合适。如果你需要多通道,比如 8 通道或者 16 通道,那选多通道 DAC 或者 DAC 阵列更划算,AD5689R 的双通道就不够用了。如果你需要高速更新,比如几百 kHz 以上的波形生成,那要选建立时间更短的 DAC,通常是电流舵架构加外部 I-V 转换。如果你需要超高精度,比如 20 位以上,那要选专门的精密 DAC,AD5689R 的 16 位就不够了。

还有一个维度是接口。AD5689R 是 SPI 接口,如果你主控的 SPI 资源紧张,或者需要 I2C 接口,那就要选 I2C 版本的 DAC。SPI 的速度比 I2C 快,但占用的引脚多。在引脚资源紧张的应用里,I2C 可能更合适。

选型的时候不要只看分辨率,要把精度、速度、通道数、接口、功耗、封装、成本这几个维度放在一起权衡。AD5689R 的定位是"精密、低速、双通道、小封装",在这个定位里它很有竞争力,但出了这个范围就要考虑别的方案了。

7. 调试实录:三个真实故障的排查链路

7.1 输出始终为零:从片选信号开始查

有一次调试,DAC 上电后输出始终是零,SPI 写数据也没反应。排查从片选信号开始。用示波器看片选引脚,发现它一直是高电平,从来没有被拉低过。这说明主控的 SPI 外设没有正确控制片选,或者片选引脚配置错了。

查代码发现,片选引脚被配置成了普通 GPIO,但 SPI 外设的自动片选功能也开着,两者冲突了。主控的 SPI 外设在发送数据时会自动拉低片选,但 GPIO 又被配置成了输出高,结果片选一直被 GPIO 拉高,SPI 外设的控制无效。把 GPIO 配置改成复用功能,让 SPI 外设接管片选,问题就解决了。

这个故障的教训是:片选引脚的控制权要明确。要么用 SPI 外设自动控制,要么用 GPIO 手动控制,不要两者都开。如果用手动控制,要注意在发送数据前拉低,发送完后拉高,中间不要被其他中断打断。

7.2 输出有规律跳变:电源纹波串进来的典型表现

另一个故障是输出有规律地跳变,频率跟开关电源的开关频率一致。用示波器看电源轨,发现纹波很大,峰峰值有几十毫伏。这个纹波通过 DAC 的电源抑制比耦合到输出,造成了跳变。

解决办法是给模拟电源加一级 LDO,把开关纹波滤掉。LDO 的电源抑制比在开关频率处通常有 40 dB 到 60 dB,能把几十毫伏的纹波压到几百微伏以下。如果 LDO 还不够,可以在 LDO 输出再加一级 RC 或者 LC 滤波。但要注意,LC 滤波可能引起振荡,要加阻尼。

这个故障说明,精密 DAC 的电源不能将就。如果系统里只有开关电源,那至少要给模拟部分加 LDO。如果 LDO 也省了,那就要接受输出噪声大的现实。

7.3 通信偶发失败:时钟沿与建立时间的博弈

第三个故障是 SPI 通信偶发失败,不是每次都失败,大概几十次里有一次。这种偶发故障最难查,因为示波器抓不到。后来用逻辑分析仪长时间抓包,终于抓到一个失败的时刻。看波形发现,失败的那次时钟频率稍微高了一点,数据在时钟沿附近还在变化,导致从机采样到了错误的值。

查主控的 SPI 配置,发现时钟频率设得比较接近从机的最大额定值。从机数据手册里标的最大时钟频率是在特定条件下的,实际使用中如果走线长、负载大,最大频率要降额。把时钟频率降了一半,故障就不再出现了。

这个故障的教训是:SPI 时钟频率要留余量。不要贴着从机的最大额定值用,至少留 20% 到 30% 的余量。如果走线长或者有干扰,余量还要更大。另外,数据建立时间和保持时间也要检查,确保在时钟沿附近数据是稳定的。

8. 从这颗芯片延伸出去:精密 DAC 选型与设计的通用心法

8.1 先定架构再定型号,不要反过来

选精密 DAC 的时候,很多人习惯先翻型号表,看哪个分辨率高、哪个便宜,然后对比参数。这个顺序是错的。正确的顺序是先定架构,再定型号。架构决定了器件的根本能力边界,型号只是在架构内的具体实现。

比如你需要精密直流输出,那就先确定用电压输出型 DAC,排除电流舵架构。然后确定分辨率,16 位够不够,不够就上 18 位或者 20 位。然后确定通道数,单通道还是多通道。然后确定接口,SPI 还是 I2C。最后才是在满足这些条件的型号里比价格、比封装、比供货。

如果反过来,先看型号再看架构,很容易被某个型号的某个亮眼参数吸引,买回来才发现架构不匹配。比如看到一颗 20 位 DAC 很便宜,买回来发现是电流输出型,还要外加 I-V 转换,整体成本和复杂度反而更高。

8.2 数据手册里最该细读的三张表

数据手册很厚,但有三张表是最该细读的。第一张是电气特性表,里面列了所有关键参数的典型值和最大值,包括 INL、DNL、失调、增益误差、温漂、噪声。这张表要逐行看,不要只看标题。第二张是时序表,里面列了 SPI 的建立时间、保持时间、时钟频率上限。这张表决定了你能不能跟主控正常通信。第三张是引脚功能表,里面列了每个引脚的功能和推荐连接方式。这张表决定了你的原理图怎么画。

很多人看数据手册只看第一页的简介和最后的应用电路,中间的表格跳过。这是不对的。简介只是告诉你这颗芯片能干什么,表格才告诉你它干得怎么样、怎么干。我一般会把这三张表打印出来,用荧光笔标出关键行,设计的时候随时对照。

8.3 从样机到量产:精度一致性怎么保证

样机阶段精度达标不难,难的是量产时每台都达标。精密 DAC 的精度一致性受很多因素影响:器件本身的批次差异、PCB 的工艺偏差、焊接质量、电源质量、温度环境。要保证量产一致性,需要在设计阶段就考虑这些因素。

第一,选型时留余量。如果系统要求 16 位精度,不要选刚好 16 位的 DAC,选 18 位的,用 16 位。这样器件本身的误差只占系统误差预算的一小部分,批次差异影响就小了。第二,关键参数要筛选。如果某个参数特别关键,比如失调,可以在产线上做筛选,把超差的挑出来。第三,校准要自动化。每台设备出厂前做一次自动校准,把失调和增益误差测出来,写入 EEPROM,运行时补偿掉。第四,温度补偿要考虑。如果工作温度范围宽,温漂不能忽略,要么选低漂移器件,要么做温度补偿。

这些手段会增加成本,但精密应用本来就不是拼价格的领域。如果客户对精度有要求,这些投入是值得的。如果客户只关心价格,那选 AD5689R 这种精密器件本身就是浪费,不如选便宜的 12 位 DAC。

9. 写在最后:一些零散但实用的经验

关于 AD5689R 这颗芯片,还有一些零散的经验值得分享。比如焊接温度,LFCSP 封装对回流焊温度曲线比较敏感,峰值温度不要超过数据手册推荐值,否则可能损伤内部结构。手工焊接的话,用热风枪要控制好风量和温度,不要对着芯片吹太久。

再比如存储条件,精密 DAC 对湿度敏感,拆封后如果不用要及时烘烤。烘烤温度和时间按数据手册的推荐来,不要随便设。如果芯片受潮了直接回流焊,内部可能产生裂纹,精度就废了。

还有静电防护,AD5689R 的 ESD 等级虽然不低,但精密器件的输入级通常比较脆弱。拿芯片的时候要戴防静电手环,工作台要接地,包装要用防静电袋。这些老生常谈的东西,真出事的时候就知道重要了。

最后说一个调试技巧:如果怀疑 DAC 有问题,先别急着换芯片,先用一个简单的测试程序验证通信。把输出设到满量程的一半,用万用表测输出电压,看是不是接近 VREF/2。如果是,说明通信和基本功能正常,问题可能在配置或者外围电路。如果不是,再查通信。这个简单的测试能快速定位问题范围,省掉很多盲目排查的时间。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进