☰
AC822B规格书解读:24位ADC与160MHz主控的单芯片设计取舍
2026/11/2 7:47:08 网站建设 项目流程

简介:这份杰理AC822B规格书以PDF文档形式呈现,面向音频产品、嵌入式硬件及芯片选型领域的工程师与开发者,帮助读者快速了解AC822B的功能特性、内部框图、引脚定义和电气参数,为原理图设计、外围器件选型与调试排错提供原厂依据。压缩包内共1个PDF文件,大小约1.05MB,版本为1.0、发布日期2023.08.10,目录覆盖特性概述、系统框图、引脚分配与引脚描述、绝对最大额定值、静电放电保护、推荐工作条件、输入输出电气特性、上下拉驱动强度,以及低压差稳压器、电荷泵、音频数模转换器、D类扬声器驱动、功率放大器、运算放大器和12位模数转换器等章节。已有201人学习,适合需要核对电源、音频输出和接口设计参数的硬件工程师作为案头参考,也能帮助初学者建立从芯片架构到外围电路的设计思路。

1. 一颗体重秤芯片,为什么要把160MHz CPU和24位ADC塞进同一块硅片

翻规格书的人大多只做两件事:找引脚表,确认封装对不对;翻电气参数,确认量程够不够。AC822B这份规格书真正反直觉的地方不在任何单条参数,而在组合方式——一颗主打体脂秤、血压计、血氧仪的芯片,一边是18.8位无噪声的24位Sigma-Delta ADC和1~128倍PGIA,另一边是160MHz单核32位CPU、16KB四路组相联icache、USB1.1 OTG和一路Class-D功放。测微小信号的模拟前端最怕数字开关噪声,这颗芯片却把两者放在同一衬底上。它靠什么把噪声隔开、把时钟分干净、在2uA软关机下还保住RTC,比背参数表有意思得多。

2. 电源域与上电时序:VPWR为什么必须早于或同步于HPVDD

2.1 六路电源轨的分工:从VPWR到VLCD

规格书列出的电源引脚不是“一个VDD加一个GND”的简化模型。VPWR是主功率输入,HPVDD单独给Class-D功放的输出级,IOVDD范围2.1V~3.6V供IO,AVDDR范围2.7V~3.4V供模拟,AVDDCP是charge pump升出来的3.4V~3.75V,VLCD再高一档到3.0V~4.4V专门驱动LCD。地也分三组:HPVSS、AVSS、ADVSS。

这种拆分不是设计者闲得慌。IO翻转时的di/dt会在bond wire电感和PCB走线电感上产生地弹,幅度轻松到几十mV;而PGIA要处理的桥式传感器差分信号本身就在mV级,如果模拟前端和GPIO共用一个地回流路径,数字噪声会直接叠在称重信号上,读数就会出现那种“人站着不动、数字自己跳”的玄学现象。把IOVDD和AVDDR分开LDO,等于给模拟域修了一道墙。

VLCD为什么要高于电池电压,是另一个容易被忽略的点。LCD的对比度由COM和SEG之间的压差决定,单节锂电3.0V~4.2V的区间里,低温下液晶响应变慢,需要更高驱动电压才能维持可读性,所以片内用charge pump把AVDDR抬到4.4V。代价是charge pump本身是开关电路,纹波会耦合到VLCD上,Layout时VLCD的储能电容必须靠近引脚。

2.2 上电顺序的物理约束:体二极管与直通路径

规格书里有一句很不起眼但必须照做的话:VPWR和HPVDD可以同时上电,或者VPWR早于HPVDD。反过来,HPVDD先于VPWR上电,是明确不允许的。

原因藏在Class-D的半桥结构里。输出级上管是PMOS,源极接HPVDD,漏极接APAP;下管是NMOS。上管的体二极管阳极在漏极、阴极在源极,也就是说从APAP指向HPVDD。HPVDD先建立、VPWR还没到时,PA的预驱电平移位器处于无供电状态,栅极电位不确定,上下管存在同时导通的窗口,电流从HPVDD直接穿过半桥到地,轻则发热复位,重则烧输出级。同时ESD网络里两个电源域之间往往有钳位二极管,反偏还是正偏取决于哪边先到,不确定的电流路径就是闩锁的温床。

正确的做法是让VPWR先建立或与HPVDD同步,保证预驱逻辑有确定电平,POR释放时PA默认处于关闭态。实际调试时用双通道示波器同时看两路的上电斜率,如果HPVDD的10%~90%上升时间明显早于VPWR,就要在电源树上加延时或改用带使能顺序的PMIC。这是硬件阶段就该解决的事,软件没法补救。

2.3 软关机2uA与5uA:always-on域里留了什么

PMU特性里有两条数字很扎眼:IO唤醒的软关机电流2uA,IO加RTC唤醒5uA。这两个数字之间3uA的差值,恰好对应32.768kHz晶振驱动加分频计数链的功耗。

片内电源域实际分成两类。always-on域保留POR、4级LVD、IO电平变化检测、RTC计数器和少量备份寄存器;switchable域包括CPU、SRAM、大部分LDO和模拟偏置。进入软关机时,软件把switchable域逐个关断,只留always-on。只开IO唤醒时RTC停走,任何映射到唤醒功能的IO出现电平跳变就产生唤醒事件;打开RTC后,晶振常驻,可以定时唤醒做一次测量再睡回去。

为什么不做0.1uA级的深掉电?因为秤类产品的交互是“放上去就要亮”。深掉电意味着重新上电复位、重新从SPI flash加载程序、重新校准,唤醒延迟到几百毫秒,用户体验直接崩。3uA换来的快速唤醒,是这个产品品类的合理取舍。同样的逻辑也解释了为什么支持外设唤醒MCU——UART收到字节、USB插入都能把芯片叫醒,不用CPU周期轮询。

2.4 4级LVD与LPRST:复位不是一根线

4级低压检测不是摆设。SPI flash在2.0V附近做写和擦操作会出错,而且是那种不报错、数据悄悄写坏的黑匣子式错误。LVD的作用是在电压跌到危险区之前产生中断,让软件停止写flash、保存状态。阈值要设在flash最低写电压之上,留够LDO压差和负载瞬态的余量。

LPRST是外部长按复位引脚,1S、2S、4S、16S四档时间可选,高电平或低电平触发也可选,并且这个功能可以映射到任意IO(规格书写的是除PFx,但引脚表里并没有PF组,配置时以实际pinmux寄存器定义为准)。内部实现是一个带迟滞的比较器加计数器:检测到持续电平超过设定时间才触发复位,短按抖动直接被滤掉。

时间可编程的意义在于产品形态差异。耳机仓那种小按键,1S长按就够了;穿戴设备怕误触,可以设到4S甚至16S。可映射到任意IO则是给结构工程师留的自由度——按键位置往往由ID设计定死,PCB只能配合。

3. 24位Sigma-Delta ADC:18.8位无噪声是从500kHz调制器里抽出来的

3.1 PGIA为什么必须放在调制器前面

称重桥式传感器的输出是差分mV级信号,血氧的PD经跨阻放大后同样微弱。如果直接把这点信号送进ADC,后级所有的热噪声、1/f噪声、电源纹波都会按同等比例叠上去,信噪比从一开始就输了。PGIA(可编程增益仪表放大器)放在调制器之前,增益1~128,先把信号抬到接近ADC满量程,后级噪声的相对贡献就被压下去了。这是噪声系数最朴素的道理:第一级增益决定整条链路的噪声底。

输入通道的分配值得细看:外部模拟输入是AIN0、AIN1、AIN4~AIN7,注意AIN2和AIN3是跳号的,不是笔误;内部还有5路——Temp_sensor、AVCM、AVBG、ADVSS、DAC output。PGIA支持单端或差分输入,差分模式下两个输入可以任意组合。增益越高,带宽越窄,这是运放GBW的硬约束,规格书里输出数据率和增益不能同时拉满,选型时要按信号带宽反推可用增益。

软件上配置PGIA和通道的典型写法如下,寄存器名以实际头文件为准:

/* 配置HADC前端:差分输入 AIN0/AIN1,增益64,输出速率约15.6Hz */ HADC_CLK_CON = HADC_CLK_EN | HADC_MOD_CLK_500K; /* 调制器时钟固定500kHz */ HADC_PGA_CON = PGA_GAIN_64 | PGA_DIFF_MODE | PGA_INP_SEL_AIN0 | PGA_INN_SEL_AIN1; /* 差分对选择 */ HADC_CH_CON = HADC_CH_EN | HADC_BUF_EN; /* 使能输入缓冲,降低采样电容反冲 */ HADC_OSR_CON = OSR_32672; /* 500k/32672 ≈ 15.3Hz */ HADC_CTRL |= HADC_START; /* 数据就绪后从HADC_DATA读24位补码,符号扩展后送滤波 */

代码里最关键的一行是OSR的选择。输出速率等于调制时钟除以过采样率,500kHz除以32672约等于15.3Hz,除以65约等于7692Hz,正好落在规格书标称的15.3Hz~7.7kHz区间两端。这不是巧合,而是硬件除法关系的直接体现。

3.2 调制器、OSR与无噪声位的换算关系

Sigma-Delta的核心是噪声整形:调制器把量化噪声推向高频,数字抽取滤波器再把高频噪声滤掉,留在音频或测量带内的噪声就很小。二阶调制器下,OSR每翻一倍,带内噪声大约下降2.5倍,折合1.3~1.5个有效位。从65倍到32672倍,OSR翻了约500倍,换算下来有效位提升接近9位——这就是为什么同一个调制器既能跑7.7kHz的高速档,也能跑15.3Hz的高精度档。

18.8位无噪声位(gain=1时)的含义要拆开看。NFB定义为满量程输入范围除以输出噪声有效值再取以2为底的对数,它比ENOB更严格,因为它统计的是峰峰值口径下的无跳动位数。18.8位意味着噪声有效值大约是满量程的1/2^18.8,也就是约1/46万。对体重秤来说,满量程按150kg算,理论分辨率到亚克级,实际受传感器和机械结构限制,远用不到这个数;但血氧和血压这种小信号场合,余量就是安全垫。

3.3 内部通道与温度传感器:为什么未校准只能测变化

内部5路通道各有用途。AVBG是带隙基准,可以接到ADC输入做自校准,验证增益误差;AVCM是共模电平,用来检查输入共模是否偏移;ADVSS是模拟地,做零输入噪声测试;DAC output可以把音频DAC的输出内部回环进来,验证音频链路;Temp_sensor接的是片上温度传感器。

温度传感器这条规格书写得很坦诚:线性度好,但offset存在片间差异,未校准只能用于检测温度变化,不能直接读绝对温度。原因是双极型晶体管基极-发射极电压的工艺散布,每颗芯片的VBE在室温下可能差几mV,折算成温度就是好几度。要拿到绝对精度,产线必须做单点校准——在已知温度下读一次,把offset存进flash;要求更高就做两点校准,顺便把斜率也修掉。校准思路也可以借用内部AVBG通道做比例法测量,抵消基准漂移。

3.4 与12位SAR ADC的分工:快和准不能兼得

同一颗芯片里还有一套12位逐次逼近ADC,12位模式下转换速率到1MHz,8通道单端输入,前面挂一个增益可配-6/0/6/12dB的差分放大器,差分输入接VSEN0~VSEN3。

这两套ADC不是重复设计。SAR ADC速度快、功耗低,适合系统监控:电池电压、充电器插入检测、VSEN上的电阻桥或热电偶快速采样。Sigma-Delta精度高但速度慢,适合应变桥、光电二极管这类慢变微弱信号。想用SAR做18位,电容阵列匹配精度做不到;想用Sigma-Delta做1MHz输出,调制器时钟和功耗都吃不消。分开做,各干各的活,代价是两套模拟前端占面积、占引脚。

4. 音频链路:单声道DAC与Class-D怎么共用一套时钟树

4.1 Sigma-Delta DAC的四段结构

音频DAC是单声道,支持8kHz到96kHz共11档采样率,输出800mVrms,THD+N做到-75dB。信号链是四段:信号处理引擎、数字插值滤波器、数字Sigma-Delta调制器、模拟重构滤波器。

插值滤波器的作用是把8kHz的输入数据升到高得多的过采样频率,这样调制器的量化噪声被推到远离音频带的位置,模拟重构滤波器只需要一个平缓的滚降就能把带外噪声压掉。如果过采样率不够,重构滤波器就得做得很陡,模拟域实现成本和相位失真都会上去。规格书特别强调“高过采样比保证量化噪声落在音频带外”,说的就是这个机制。

单声道是有意为之。体脂秤、血压计要的是语音提示和报警音,不需要立体声。DAC输出是线路电平,推喇叭必须外接功放——规格书写得很清楚。这也解释了为什么同一颗芯片还要集成Class-D:DAC负责线路输出和内部回环自测,Class-D负责直接驱动扬声器。

4.2 Class-D的三种调制模式与开关频率

APA(Audio Power Amplifier)工作在240MHz或320MHz时钟下,PWM开关频率384kHz~768kHz,支持32kHz、44.1kHz、48kHz采样,有mode1、mode2、mode3三种调制模式。mode1和mode3支持单端或差分输出,mode2只支持差分。

差分输出(BTL)的好处很实际:喇叭两端反相驱动,输出摆幅翻倍,不需要大容量隔直电容,偶次谐波在负载上相互抵消,EMI也更好控。代价是占用两个引脚。单端输出省引脚,但要串隔直电容,低频响应受电容容值限制。模式选择本质上是引脚数、音质、成本三者的权衡。

开关频率和采样率的关系可以直接算:384kHz除以48kHz等于8,768kHz除以48kHz等于16。开关频率越高,输出LC滤波器可以做得越小,但开关损耗和EMI辐射随之上升。这个比值留得越大,调制越接近理想,失真越低。

半桥输出必须插死区时间,防止上下管直通。死区会引入交越失真,开关频率越高,死区占的比例越小,失真越好压。片内MCPWM模块同样带死区控制,说明这套PWM设计思路在芯片内部是复用的。

4.3 APAP/APAN的复用与POP声

APA不使用时,APAP和APAN两个引脚可以当普通GPIO用,这对不用音频的产品是实打实的引脚节省。

POP声是Class-D最常见的翻车点,来源有三个。一是上电顺序:HPVDD先建立、VPWR未到时预驱电平不定,输出可能瞬间拉高;二是时钟未稳定就使能输出级,PWM占空比乱跳;三是软件直接给满占空比,喇叭瞬间大电流。正确的使能序列是先配置采样率和调制模式、等APA时钟锁定、再从零占空比软启动、最后打开输出级。关机反过来,先静音再断输出级。

4.4 音频与测量共存时的时钟规划

片内时钟源有四类:松弛振荡器负责快速起振,PLL产生系统高频,32.768kHz晶振给RTC和低功耗域,外部晶振可选。CPU跑160MHz,APA要240MHz或320MHz,HADC的调制器固定500kHz,USB1.1全速需要48MHz。

这些频率不能随便共用分频链。HADC的500kHz如果从音频时钟分频出来,音频采样率一变,ADC输出速率跟着漂,称重读数就会出现周期性波动。反过来,音频时钟从测量时钟分频,采样率就凑不准44.1kHz这种非整数关系。可行的做法是PLL出多路独立分频,音频和测量各走各的,启动时先让松弛振荡器顶上,PLL锁定后再切换,避免启动瞬间的爆音和ADC错误码。

5. 引脚复用与避坑排查:43个IO、Crossbar和五类翻车

5.1 Crossbar的本质:从固定功能复用到信号级路由

43个GPIO,每个引脚在引脚表里有FUNC1到FUNC5最多五档功能。但真正决定灵活度的是那句“外设通过Crossbar映射到GPIO”:SPI1、SPI2、IIC、UART这些外设的信号可以路由到GPIO,不是绑死在某几个固定引脚上。

固定复用的做法是每个引脚一个多路选择器,档位有限;Crossbar是在外设输出和GPIO输入之间做一个矩阵,任意外设信号可以接到任意支持该方向的引脚。代价是寄存器数量上升,每个GPIO要配输入使能、输出使能、上拉下拉、驱动强度,上电默认态如果是模拟或高阻,忘了初始化就会出现“外设配了但没波形”的问题。

引脚分布上,PA0~PA11带ADC0~ADC11、VSEN0~3、OSC32K和IIC、SPI1/2、UART;PC0~PC15和PD0~PD14主要是LCD的SEG和COM、EMI的8位数据线、MCPWM和Timer的PWM输出。LCD最多6个COM,支持1/2、1/3、1/4占空比,COM0~COM5固定在PC0~PC5,SEG0~SEG26铺在PC4到PD14上,这个布局决定了LCD走线基本没有重排空间。

5.2 LPRST与PFx例外:文档和实现要对寄存器

LPRST可以映射到任意IO,规格书注了一句“除PFx”。但整份引脚表里并没有PF组引脚,这就属于文档和实现之间的缝隙。实际配置时不能照着这句话去猜,要以pinmux寄存器的位定义为准,把候选引脚逐个试。类似的缝隙在跨版本规格书里很常见,血泪经验是:凡是“除XX外”的表述,都要回头在寄存器手册里找到对应的屏蔽位,确认它到底是硬件限制还是文档遗留。

5.3 五条踩坑记录:现象、原因、解决

第一条,24位ADC读数贴满量程或剧烈跳动。现象是秤上没人,读数却在满量程附近来回摆。原因多半是单端输入时PGIA的负端悬空,共模电平漂到允许范围之外,仪表放大器输出饱和。解决办法是把负端接到AVCM,或者干脆改用差分输入,同时用万用表确认输入共模在AVDDR/2附近、不超过规格书给的共模范围。

第二条,RTC每天慢几十秒,甚至不起振。现象是软关机几天后唤醒,时间对不上。原因是32.768kHz晶振的负载电容按手册典型值选了,但PCB寄生电容偏大,实际振荡频率被拉低;更糟的是OSC32K走线离Class-D输出或MCPWM太近,开关噪声耦合进振荡器。解决办法是按晶振规格书里的CL值反算匹配电容并留可调位置,走线包地、远离功率走线,起振后用示波器看振荡幅度裕量。

第三条,程序偶尔不启动或跑飞。现象是上电后十次有一两次死在启动阶段。原因通常是quad SPI模式下IO2和IO3被flash占用,而pinmux又把这些引脚分配给了别的外设;另一个可能是电池电压偏低时flash读取时序不够。解决办法是boot阶段把quad模式用到的引脚在pinmux里锁死,不再分配给其他功能,外部加上拉电阻;同时把LVD阈值设到flash最低工作电压之上,低电时禁止写操作。

第四条,LCD显示闪烁,对比度随电池电压变化。现象是电量下降时字符变淡、段码偶尔错乱。原因是VLCD由charge pump产生,带载能力有限,软件在charge pump还没稳定时就切到LCD驱动模式,或者VLCD去耦电容容量不够。解决办法是等charge pump就绪标志置位后再使能LCD,VLCD引脚就近放储能电容,降低duty占空比以减小负载。

第五条,温度读数片间差两三度。现象是同一批板子放在同一环境,读出来的温度各不相同。原因就是前面说的传感器offset未校准。解决办法是产线单点校准,把室温下的读数偏差写进flash,软件读温度时减掉;要求更高时做两点校准,同时修正增益。

6. 设计取舍:把24位测量前端和160MHz数字域放进同一颗芯片的代价

这颗芯片的产品逻辑很清楚:用一颗芯片覆盖“测量+显示+语音提示+充电管理”,把BOM压到最低。代价同样清楚,集中在一张表里看更直观。

维度单芯片集成方案分立方案代价落点
测量前端24位SDADC + PGIA + 12位SAR外置ADC模拟数字同衬底,Layout要隔离
主控160MHz单核,16KB四路组相联icache通用MCU56KB SRAM含cache,可用内存要精算
音频单声道DAC + Class-D外置Codec加功放开关噪声要避开PGIA输入
显示6COM LCD驱动,VLCD charge pump外置驱动ICcharge pump纹波要压
存储内置SPI flash接口,最高16MB、80MHz,支持quad外置flashquad模式占用4个IO
扩展EMI 8位数据口16位并口SDRAM带宽有限

取舍的判断标准不是“集成度高就好”,而是看瓶颈在哪。56KB SRAM要分给icache和运行数据,跑简单滤波和显示刷新够用,想塞复杂语音算法就得算着花。USB1.1而不是2.0,传数据慢,但这个品类的产品本来不靠USB传大数据。EMI只有8位数据口,扩SDRAM时带宽是硬上限。这些限制在选型阶段看清楚,比做到一半发现不够用强。

验证方法也要跟着机制走。噪声底不能靠“读数看着稳”判断,要把PGIA输入短路,采一段数据算RMS,换算成NFB看是否接近规格书标称的18.8位。音频失真用1kHz正弦扫一遍,看THD+N有没有到-75dB。上电时序用双通道示波器同时抓VPWR和HPVDD,确认斜率关系符合要求。调试阶段SDTAP的4个断点、1个观察点和4条pc trace是定位跑飞的第一手材料,别等出了问题才想起它。

从那以后我每次拿到新板子,先做三件事:双通道看两路电源的上电斜率,短路PGIA输入测噪声底,把LPRST映射到结构按键的真实位置逐个验证长短按。这三步走完,后面八九成的怪问题都能提前排掉。这份规格书的完整引脚表、电气参数表和封装回流焊曲线,都在资源里,对着寄存器手册一起看,上面这些机制才能真正串起来。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询