ADuC824:MicroConverter®,双通道16-/24位ADC,带嵌入式闪光单片机
发布日期:2025-07-04
特征
●高分辨率Sigma-Delta ADC
◇两个独立的ADC(16位和24位分辨率)
◇可编程增益前端
◇24位无缺失代码,主ADC
◇13位p-p分辨率@20 Hz,20 mV范围
◇18位p-p分辨率@20 Hz,2.56 V范围
●记忆力
◇8KB片上闪存/EE程序存储器
◇640字节片上闪存/EE数据存储器
◇Flash/EE,100年保留,100千次循环耐久性
◇256字节片上数据RAM
●基于8051的内核
◇8051兼容指令集(最大12.58 MHz)
◇32 kHz外部晶体,片上可编程PLL
◇三个16位定时器/计数器
◇26条可编程输入/输出线
◇11个中断源,两个优先级
●权力
◇适用于3 V和5 V操作
◇正常:3 mA@3 V(核心CLK=1.5 MHz)
◇断电:20 A(32 kHz晶体运行)
●片上外设
◇片上温度传感器
◇12位电压输出DAC
◇双励磁电流源
◇参考检测电路
◇时间间隔计数器(TIC)
◇UART串行输入/输出
◇I2C®兼容和SPI®串行I/O
◇看门狗定时器(WDT)、电源监控器(PSM)
应用
●智能传感器(IEEE1451.2-兼容)
●磅秤
●便携式仪表
●压力传感器
●4-20mA变送器
一般说明
ADuC824是一个完整的智能传感器前端,在单个芯片上集成了两个高分辨率sigma-delta ADC、一个8位MCU和程序/数据Flash/EE存储器。这种低功率设备直接从传感器接收低电平信号。
两个独立的ADC(主ADC和辅助ADC)包括温度传感器和PGA(允许直接测量低电平信号)。带片上数字滤波的ADC用于测量宽动态范围、低频信号,如称重、应变计、压力传感器或温度测量应用中的信号。ADC输出数据速率是可编程的,ADC输出分辨率将随着编程的增益和输出速率而变化。
该器件由一个32 kHz的晶体和一个片上PLL运行,产生12.58 MHz的高频时钟。该时钟依次通过可编程时钟分频器路由,MCU核心时钟工作频率由此产生。微控制器核心是8052,因此与8051指令集兼容。微控制器核心机器周期由所选核心工作频率的12个核心时钟周期组成。芯片上提供8K字节的非易失性Flash/EE程序存储器。片上还集成了640字节的非易失性Flash/EE数据存储器和256字节的RAM。
ADuC824还集成了额外的模拟功能,包括12位DAC、电流源、电源监测器和带隙基准。片上数字外设包括看门狗定时器、时间间隔计数器、三个定时器/计数器和三个串行I/O端口(SPI、UART和I2C兼容)。
功能框图
片上工厂固件支持在线串行下载和调试模式(通过UART),以及通过EA引脚的单引脚仿真模式。ADuC824的功能框图如上图所示。
该部件由单个3 V或5 V电源供电。当使用3 V电源工作时,该部件的功耗低于10 mW。ADuC824封装在52引脚MQFP封装中。
存储器结构
与所有8051兼容设备一样,ADuC824具有用于程序和数据存储器的单独地址空间,如图2和图3所示。
如果用户在EA引脚拉低时通电或重置设备,则该部件将从外部程序空间执行代码,否则该部件默认从其内部8K字节Flash/EE程序存储器执行代码。当设备在电路中时,可以通过UART串行端口下载此内部代码空间。
图2:程序内存映射
数据存储器地址空间由内部和外部存储器空间组成。内部存储空间被划分为四个物理上独立且不同的块,即128字节的RAM、128字节的上部RAM、128个字节的特殊功能寄存器(SFR)区域和640字节的Flash/EData存储器。虽然RAM的上128字节和SFR区域共享相同的地址位置,但它们是通过不同的地址模式访问的。
数据存储器的下部128字节可以通过直接或间接寻址访问,RAM的上部128字节可以直接寻址访问,SFR区域可以通过直接寻址访问。
此外,如图2所示,用户可以使用额外的640字节的Flash/EE数据存储器,并且可以通过映射到特殊功能寄存器(SFR)区域的一组控制寄存器间接访问。稍后将详细讨论对Flash/EE数据存储器的访问,作为本数据表中Flash/EE存储器部分的一部分。
外部数据存储区可以扩展到16MB。这是对标准8051兼容内核上可用的64KB外部数据存储空间的增强。ADuC824硬件设计考虑因素部分更详细地讨论了外部数据存储器。
图3:数据存储映射
内部数据存储器的低128字节映射如图4所示。最低的32个字节被分为四组,每组八个寄存器,地址为R0到R7。接下来的16个字节(128位),位于寄存器组上方的位置20 Hex到2 FHex,在位地址00H到7FH处形成一个可直接寻址的位位置块。堆栈可以位于内部存储器地址空间中的任何位置,堆栈深度可以扩展到256字节。
图4:内部数据存储器的128字节以下
重置将堆栈指针初始化到位置07 Hex,并将其递增一次,从位置08 Hex开始,该位置也是寄存器组1的第一个寄存器(R0)。因此,如果要使用多个寄存器组,则应将堆栈指针初始化到RAM中不用于数据存储的区域。
SFR空间被映射到内部数据存储器空间的上128个字节,并且仅通过直接寻址进行访问。它在CPU和所有片上外设之间提供了一个接口。
主ADC电路和辅助ADC电路概述
ADuC824集成了两个独立的sigma-delta ADC(主和辅助),具有片上数字滤波功能,用于测量宽动态范围、低频信号,如称重、应变计、压力传感器或温度测量应用中的信号。
主ADC
该ADC旨在转换主传感器输入。输入是缓冲的,可以编程为从±20 mV到±2.56 V的8个输入范围之一,由三个差分输入通道选项AIN1/2、AIN3/4或AIN3/2之一驱动。输入通道内部有缓冲,允许该部件处理模拟输入上的显著源阻抗,如果需要,可以在模拟输入上放置R/C滤波(用于噪声抑制或RFI降低)。片上烧坏电流也可以打开。在尝试进行测量之前,这些电流可用于检查所选通道上的传感器是否仍在运行。
ADC采用sigma-delta转换技术来实现高达24位的无缺失码性能。∑-Δ调制器将采样的输入信号转换为数字脉冲串,其占空比包含数字信息。然后,采用Sinc3可编程低通滤波器对调制器输出数据流进行抽取,以在5.35 Hz(186.77 ms)至105.03 Hz(9.52 ms)的可编程输出速率下给出有效的数据转换结果。还采用斩波方案来最小化ADC偏移误差。
辅助ADC
辅助ADC用于转换补充输入,如冷端二极管或热敏电阻的输入。该ADC没有缓冲,具有0V至2.5V的固定输入范围(假设外部2.5V参考)。单端输入可以由AIN3、AIN4或AIN5引脚驱动,也可以直接由片上温度传感器电压驱动。
模拟输入通道
主ADC有四个相关的模拟输入引脚(标记为AIN1至AIN4),可以配置为两个完全不同的输入通道。表V中详述的ADC0CON SFR中的信道选择位允许三种差分配对选择组合以及一个额外的短路输入选项(AIN2-AIN2)。
辅助ADC有三个外部输入引脚(标记为AIN3至AIN5)以及与内部片上温度传感器的内部连接。辅助ADC的所有输入都是单端输入,参考零件上的AGND。前面表VI中详细介绍的ADC1CON SFR中的信道选择位允许选择四个输入之一。
对于主ADC,两个输入多路复用器将所选输入通道切换到芯片缓冲放大器,对于辅助ADC,直接切换到∑-Δ调制器输入。当模拟输入通道切换时,必须经过部件的调试时间,ADC才能提供新的有效字。
主要和辅助ADC输入
主ADC多路复用器的输出馈入缓冲放大器的高阻抗输入级。因此,主要的ADC输入可以处理显著的源阻抗,并针对直接连接到应变计或电阻温度检测器(RTD)等外部电阻式传感器进行了定制。
然而,辅助ADC没有缓冲,导致辅助ADC上的模拟输入电流较高。应当注意,这种无缓冲输入路径为驱动源提供了动态负载。因此,输入引脚上的电阻器/电容器组合可能会导致直流增益误差,具体取决于驱动ADC输入的源的输出阻抗。
模拟输入范围
主ADC上的绝对输入电压范围限制在AGND+100 mV至AVDD–100 mV之间。在设置共模电压和输入电压范围时必须小心,以免超过这些限制,否则线性性能会下降。
辅助ADC的绝对输入电压范围限制在AGND–30 mV至AVDD+30 mV之间。略微负的绝对输入压力限制确实允许使用单端辅助ADC前端监测小信号双极信号。
可编程增益放大器
主ADC上缓冲器的输出被施加到片上可编程增益放大器(PGA)的输入端。PGA可以通过八个不同的单极输入范围和双极范围进行编程。PGA增益范围通过ADC0CON SFR中的范围位进行编程。在ADC0CON SFR中设置外部参考选择位和外部2.5 V参考的情况下,单极范围为0 mV至20 mV、0 mV至40 mV、0毫伏至80 mV、0 mV至160 mV、0 mV至320 mV、0 mW至640 mV、0 V至1.28 V和0至2.56 V,而双极范围为±20 mV、±40 mV、±80 mV、±160 mV、±320 mV、±640 mV、±1.28 V以及±2.56 V。这些是应出现在片上PGA输入端的标称范围。ADC范围匹配规范在所有范围内均为2µV(典型值),这意味着校准只需要在一个增益范围内进行,当PGA增益范围改变时不必重复。
下图5显示了跨范围的典型匹配。在这里,主ADC配置为双极模式,具有外部2.5 V参考电压,而其输入端仅大于19 mV。ADC以5.35Hz的更新率连续转换DC输入电压,即SF=FFhex。总共收集了800个转换结果。前100个结果是在主ADC在±20 mV范围内运行时收集的。然后将ADC范围切换到±40 mV,并收集100多个转换结果,以此类推,直到最后一组100个样本被收集,ADC配置在±2.56 V范围内。从图20可以看出,样本的变化意味着每个范围,即范围匹配,约为2µV。
辅助ADC不包含PGA,并配置为0到VREF的固定单输入范围。
图5:主ADC范围匹配
双极/单极输入
ADuC824上的模拟输入可以接受单极或双极输入电压范围。双极输入范围并不意味着该部件可以处理系统AGND的负电压。
主ADC上AIN(+)输入端的单极和双极信号参考相应AIN(-)输入端上的电压。例如,如果AIN(–)为2.5 V,主ADC配置为0 mV至20 mV的模拟输入范围,则AIN(+)输入上的输入电压范围为2.5 V至2.52 V。
如前所述,辅助ADC输入是相对于系统AGND的单端输入。在这种情况下,辅助ADC上的双极性信号在违反该ADC的电压输入限制之前,相对于AGND只能跨越30 mV的负值。
通过分别编程ADC0CON和ADC1CON SFR中的主单极启用位和辅助单极启用位来选择双极或单极选项。这将对相关ADC进行编程,以实现单极或双极操作。单极或双极操作前的编程不会改变任何输入信号调节;它只是更改数据输出编码和传递函数上发生校准的点。当ADC配置为单极操作时,输出编码为自然(直接)二进制,差分输入电压为零,导致代码为000。 . .000,一个中等规模的电压,导致代码为100。 . .000,满标度输入电压导致代码111。 . . 111.当ADC配置为双极操作时,编码是偏移二进制的,带有负满标度电压,导致代码为000。 . .000,零差分电压导致代码为100。 . .000,正满标度电压导致代码111 . . . 111。
燃尽电流
ADuC824上的主ADC包含两个100 nA的恒流发生器,一个从AVDD向AIN(+)提供电流,另一个从AIN(-)向AGND提供电流。电流被切换到所选的模拟输入对。根据ICON SFR中的烧坏电流启用(BO)位,两个电流都是开启或关闭的(见表VIII)。在尝试对该通道进行测量之前,这些电流可用于验证外部传感器是否仍在运行。一旦烧坏电流接通,它们将流入外部传感器电路,可以测量模拟输入通道上的输入电压。如果测得的电压为满标度,则表明传感器已断路。如果测量的电压为0V,则表明传感器短路。对于正常操作,通过向ICON SFR中的BO位写入0来关闭这些烧坏电流。电流源在正常的绝对输入电压范围规格内工作。
励磁电流
ADuC824还包含两个相同的200µA恒流源。从AVDD到引脚#3(IEXC1)或引脚#4(IEXC2)的源电流。这些电流源通过表VIII所示的ICON SFR中的位进行控制。它们可以配置为单独向两个引脚或两个电流的组合提供200µA的电流,即向所选引脚中的任何一个提供400µA。这些电流源可用于激励外部电阻桥或RTD传感器。
参考输入
ADuC824的参考输入REFIN(+)和REFIN(-)提供差分参考输入功能。这些差分输入的共模范围为AGND至AVDD。指定操作的标称参考电压VREF(REFIN(+)–REFIN(–))为2.5 V,主参考启用位和辅助参考启用位分别设置在ADC0CON和/或ADC1CON SFR中。
当XREF0或XREF1位为“0”时,该部件也具有功能(尽管没有指定性能),这启用了片上内部带隙基准。在此模式下,ADC将看到1.25 V的内部参考电压,因此将所有输入范围减半。由于使用内部参考电压,峰间分辨率将明显下降。因此,为了获得最佳性能,强烈建议使用外部参考进行操作。
在模拟输入上传感器的激励(电压或电流)也驱动零件的参考电压的应用中,由于应用是比率测量的,激励源中低频噪声的影响将被消除。如果ADuC824不用于比率测量应用,则应使用低噪声参考。ADuC824的推荐参考电压源包括AD780、REF43和REF192。
还应注意,参考输入提供高阻抗的动态负载。由于每个参考输入的输入阻抗是动态的,因此这些输入上的电阻器/电容器组合可能会导致直流增益误差,具体取决于驱动参考输入的源的输出阻抗。参考电压源,如上面推荐的那些(例如AD780),通常具有低输出阻抗,因此建议在REFIN(+)输入端使用去耦电容器。如图53所示,推导外部电阻器上的参考输入电压意味着参考输入端会看到明显的外部源阻抗。在这种类型的电路配置中,不建议在REFIN(+)和REFIN(–)引脚上进行外部去耦。
参考检测
ADuC824包括片上电路,用于检测零件是否有可用的转换或校准参考。如果外部REFIN(+)和REFIN(–)引脚之间的电压低于0.3 V,或者REFIN(-)输入开路,ADuC824会检测到它不再有有效的参考。在这种情况下,ADCSTAT SFR的NOXREF位设置为1。如果ADuC824正在执行正常转换,并且NOXREFbit变为活动状态,则转换结果将恢复为全1。因此,在执行转换时,没有必要连续监测NOXREF位的状态。仅当从ADC DataRegister读取的转换结果均为1时,才需要验证其状态。
如果ADuC824正在执行偏移或增益校准,并且NOXREF位变为活动状态,则禁止更新相应的校准寄存器,以避免向这些寄存器加载不正确的系数,并设置ADCSTAT SFR中的适当ERR0或ERR1位。如果用户担心每次执行校准时都无法验证有效参考是否到位,则应在校准周期结束时检查ERR0或ERR1位的状态。
积分三角调变器
∑-ΔADC通常由两个主要模块组成,即模拟调制器和数字滤波器。在ADuC824ADC的情况下,模拟调制器由差分放大器、积分器块、比较器和反馈DAC组成,如图6所示。
图6:Sigma-Delta调制器简化框图
在操作中,模拟信号样本与反馈DAC的输出一起被馈送到差分放大器。这两个信号之间的差值被积分并馈送到比较器。比较器的输出为反馈DAC提供输入,因此系统起到负反馈回路的作用,试图最小化差分信号。表示模拟输入电压的数字数据包含在比较器输出端出现的脉冲串的占空比中。该占空比数据可以使用连续数字滤波器级恢复为数据字。调制器环路的采样频率比输入信号的带宽高很多倍。调制器中的积分器对量化噪声(由模数转换产生)进行整形,使噪声被推向调制器频率的一半。
数字滤波器
∑-Δ调制器的输出直接馈入数字滤波器。然后,数字滤波器将响应频带限制在明显低于调制频率一半的频率。通过这种方式,比较器的1位输出被转换为ADuC824 ADC的带限低噪声输出。
ADuC824滤波器是一个低通Sinc3或(sinx/x)3滤波器,其主要功能是去除调制器中引入的量化噪声。
图7显示了ADC通道在默认SF字为69 dec或45 hex时的频率响应,产生的平均输出更新率略低于20 Hz。
应该注意的是,这种频率响应允许高于ADC奈奎斯特频率的频率分量通过ADC,在某些情况下没有明显的衰减。因此,这些分量可能会在采样过程后混叠并出现在频带中。
还应注意的是,电源相关频率分量(即50 Hz和60 Hz)的抑制在50 Hz时为>65 dB,在60 Hz时为>100 dB。这证实了20Hz更新率下50 Hz/60 Hz正常模式抑制(NMR)的数据表规格。
图7:滤波器响应,SF=69 dec
然而,滤波器的响应将随着SF字的变化而变化,如图8所示,当SF=255 dec时,在50 Hz时显示>90 dB NMR,在60 Hz时显示>70 dB NMR。
图8:滤波器响应,SF=255 dec
图9和10显示了SF字全范围内50 Hz和60 Hz的NMR,即SF=13 dec到SF=255 dec。
图9:50 Hz正常模式抑制与SF
图10:60 Hz正常模式抑制与SF
ADC斩波
ADuC824上的两个ADC都采用斩波方案,因此ADC的可重复性会反转其输入。因此,Sinc3滤波器的抽取数字输出字包含正偏移和负偏移项。
因此,每个ADC中都包含一个最终的求和级,以便将滤波器的每个输出字与之前的滤波器输出求和并求平均,从而产生一个新的有效输出结果,写入ADC数据SFR。这样,虽然ADC吞吐量或更新率如前所述,如表VII所示,但通过ADC的完整稳定时间(或到第一个转换结果的时间)实际上将由2×tADC给出。
ADuC824 ADC中包含的斩波方案产生了出色的直流偏移和偏移漂移规格,在漂移、噪声抑制和最佳EMI抑制是重要因素的应用中非常有益。
校准
ADuC824提供了四种校准模式,可以通过表四中详述的ADCMODE SFR中的模式位进行编程。事实上,每个ADuC824都已经过工厂校准。主ADC和辅助ADC的偏移和增益校准系数存储在芯片上制造特定的Flash/EE存储器位置。通电时,这些出厂校准系数会自动下载到ADuC824 SFR空间中的校准寄存器中。每个ADC(主和辅助)都有专用的校准SFR,这些已在前面的ADC SFR通用描述中进行了描述。但是,如果启动了四个校准选项中的任何一个,并且ADC在ADCMODE中启用了ADC启用位,则ADC校准SFR中的出厂校准值将被覆盖。
尽管下面描述了内部偏移校准模式,但应该认识到两个ADC都是斩波的。这种斩波方案固有地最小化了偏移,意味着永远不需要进行内部偏移校准。此外,由于工厂5 V/25°C增益校准系数在通电时会自动出现,因此只有当零件在3 V或与25°C明显不同的温度下运行时,才需要进行内部满标度校准。
ADuC824提供“内部”或“系统”校准设施。为了在所选ADC上进行完全校准,校准逻辑必须记录两种不同输入条件下的调制器输出。这些是零刻度和满刻度点。这些点是通过在校准期间对提供给调制器输入端的不同输入电压进行转换而得出的。零刻度校准转换的结果存储在相应ADC的偏移校准寄存器中。“满标度”校准转换的结果存储在相应ADC的增益校准寄存器中。通过这些读数,校准逻辑可以计算转换器输入到输出传递函数的偏移和增益斜率。
在“内部”零刻度或满标度校准期间,相应的“零”输入和满标度输入会自动连接到设备内部的ADC输入引脚。然而,“系统”校准要求在启动校准模式之前,将系统零刻度和系统满标度电压施加到外部ADC引脚。通过这种方式,外部ADC误差被考虑在内,并作为系统校准的结果被最小化。还应注意的是,为了优化校准精度,所有ADuC824 ADC校准都是以最慢的更新速率自动进行的。
在ADuC824内部,系数在用于缩放数字滤波器中的单词之前进行了归一化。在乘以增益系数之前,从结果中减去偏移校准系数。所有ADuC824 ADC规格仅在感兴趣的工作点(电源电压/温度)进行零刻度和满刻度校准后适用。
从操作的角度来看,校准应该像另一个ADC转换一样对待。在进行满标度校准之前,应始终进行零标度校准(如果需要)。系统软件应监测ADCSTAT SFR中的相关ADC RDY0/1位,以通过轮询序列或中断驱动例程确定校准结束。