简介杰理AC822B规格书面向硬件工程师、嵌入式开发者和音频类产品设计人员提供AC822B芯片的完整数据手册可用于选型评估、原理图与PCB设计、电源和音频电路参数核对以及软硬件联调时的排错参考。压缩包内共1个PDF文件大小约1.05MB内容涵盖文档修订历史、芯片特性、内部框图、引脚分配与功能描述并系统列出绝对最大额定值、ESD保护、推荐工作条件、IO输入输出电气特性、上下拉驱动强度、LDO、电荷泵、Audio DAC、Class-D扬声器驱动、PA、OPA及12-bit ADC等关键参数。已有201人学习。读者可据此快速确认引脚复用关系、接口电平与驱动能力边界掌握供电、时钟、复位及音频输出相关设计约束减少外围电路选型与调试试错适合需要查阅原厂规格书的中高级硬件与嵌入式人员。1. 21 页手册先看哪一页AC822B 能替掉几颗料一份 21 页的规格书能省掉多少试错有位做体重秤的同行把 AC822B 的 DatasheetV1.021 页发过来问这颗片子能不能替掉手上“主控 外置 24 位 ADC 段码屏驱动”的三芯片组合。翻到第 2 页特性列表就有答案160MHz 单核、56KB SRAM、24 位 Σ-Δ ADC、6COM 段码 LCD 驱动、Class-D 功放、43 个 GPIO全塞进 LQFP64 7mm×7mm手册写明的目标场景是体脂秤、血压计、血氧仪。它不是 SDK 文档是纯数据手册。硬件的人拿它画原理图底层软件的人拿它对寄存器初值方案评估的人拿它判断能不能压 BOM。新手可以照着第 2 到第 4 章逐条对熟手直接翻第 5 章的五条排查记录和第 6 章的模式选型。2. 把四个电源域拆开算上电时序、LDO 余量与软关机电流这份手册最容易被跳过的是第 3 页末尾那两行小字VPWR 与 HPVDD 可以同时上电也可以让 VPWR 早于 HPVDD。很多人画板时把它当注释等样机回来偶发不启动才发现这是硬约束。2.1 先分清哪些脚是“供进去”哪些是“发出来”引脚表第 1 到 18 脚、50 到 64 脚里混着电源脚类型标注PI/PO/PA/PIO比名字更可信。把五个电源相关脚按方向分类画图时就不会把内部 LDO 的输出当成外部输入去供电。引脚类型手册给出的电压实际怎么处理VPWRPI手册未单列区间主电源输入电池或适配器经保护后进来HPVDDPIA功放电源手册未单列区间只给 Class-D 功放可后于 VPWR 上电IOVDDPIO2.1V ~ 3.6V外部供GPIO 与 IO 模式 LCD 都吃它AVDDRPO内部 LDO 输出2.7V ~ 3.4V不要外部灌电按参考设计挂电容即可AVDDCPPA电荷泵输出3.4V ~ 3.75V由 VINCP 供电、CNP/CPP 外接飞电容产生VLCDLCDIO3.0V ~ 4.4V供 COM/SEGLCD 模式下 IO 电平跟着它走这张表里最容易翻车的是 IOVDD 的上限 3.6V。单节锂电满电 4.2V直接怼上去短期能跑高温老化后漏电会明显变大属于典型的“实验室没事、量产出事”。我一般会让 IOVDD 走一颗固定 3.3V 的 LDO把 4.2V 到 3.0V 的整个放电区间都兜在 2.1V~3.6V 里。2.2 用一段脚本把余量算清楚别靠脑补拿到推荐工作条件后别只在脑子里过一遍把区间写成常量让脚本对每个供电方案做判定改方案时重跑一次就行。# rails.py 在电池整个放电区间内校验每路供电是否落在手册推荐范围内 RATED { IOVDD: (2.1, 3.6), # 3.3 推荐工作条件IOVDD(2.1V-3.6V) AVDDR: (2.7, 3.4), # 内部 LDO 输出只做监测不做外部供电 AVDDCP: (3.4, 3.75), # 电荷泵输出 VLCD: (3.0, 4.4), # LCD 偏压 } def check(rail, v): lo, hi RATED[rail] if v lo: return f{rail}{v:.2f}V 欠压下限 {lo}V if v hi: return f{rail}{v:.2f}V 超压上限 {hi}V return f{rail}{v:.2f}V OK # 方案A单节锂电直供 IOVDD满电 4.2V print(check(IOVDD, 4.2)) # 预期超压 # 方案B锂电经 3.3V LDO 供 IOVDD print(check(IOVDD, 3.3)) # 预期OK # 方案C锂电放电末端 3.0V仍经同一颗 LDO print(check(IOVDD, 3.0)) # 预期OK脚本本身没什么技术含量价值在于把“我记得上限是 3.6V”变成可执行的判定。参数说明RATED全部照抄手册 3.3 节的推荐工作条件不要自己加余量进去余量应该体现在输入电压上check()只做区间判定不做温度漂移补偿因为手册没给 IOVDD 的温度系数硬加就是编数据。常见做法是把电池放电曲线的首、中、末三个点各跑一次三次全 OK 才算方案成立。AVDDR 那一路要特别说明它的类型是 PO也就是芯片内部 LDO 的输出脚手册给的 2.7V~3.4V 是这颗内部 LDO 的正常输出范围。画图时它只该接电容和测试点一旦你从外部给它灌 3.3V内部 LDO 和外部电源会打架轻则纹波变大重则长期可靠性出问题。同理 AVDDCP 是电荷泵输出它的输入是 VINCP中间的 CNP 与 CPP 两个脚要外接飞电容这颗电容漏画或容值选错电荷泵根本起不来。2.3 软关机电流只有 2uA但你的外围不一定答应手册 PMU 一节写得很清楚软关机模式下仅 IO 唤醒是 2uAIO 加 RTC 唤醒是 5uA。这两个数字对电池供电的秤类产品很关键因为它直接决定待机几个月还是几周。但真正的待机电流往往不是芯片吃掉的而是外围漏掉的。我一般按这个顺序核对先确认所有 GPIO 在进入软关机前都配成了确定电平浮空输入配上外部上拉电阻会持续漏电再确认 IOVDD 上挂的传感器、LCD 偏压电路在关机后是否还有供电路径最后才去测整机电流。手册给的 2uA 是芯片自身指标整机做不到这个数很正常差在哪儿要一段一段断开来量。LPRST 这个脚值得单独拿出来讲它是外部长按复位脚1S、2S、4S、16S 和高中低电平都可以由软件选而且这个功能可以映射到除 PFx 以外的任意 IO。做长按开关机的产品可以直接用它省掉一路外部复位芯片。注意手册在这里提到了 PFx而引脚表里实际只有 PA、PC、PD 三组端口看到 PFx 不用去找对应引脚按你实际可用的 IO 去映射就行这是手册前后表述不一致的地方属于读规格书时该有的心理准备。2.4 上电时序的实测步骤纸面算完必须上板验证我一般按下面四步走每一步都留一个可观测点空板不焊主控、只焊电源部分上电示波器双通道同时抓 VPWR 与 HPVDD 的上升沿确认 VPWR 不晚于 HPVDD。手册允许两者同时也允许 VPWR 更早唯一不能接受的是 HPVDD 先到。焊上主控测 AVDDR 与 AVDDCP 的稳态值对照 2.7V~3.4V、3.4V~3.75V 两个区间。量不到就直接查飞电容和 VINCP。抓复位释放时刻的 IOVDD 波形看有没有被浪涌拉塌。IOVDD 掉到 2.1V 以下后面所有 GPIO 行为都不可信。进软关机用uA级电流表串在电池正极上先量整机再逐个断开外围定位漏电点。四步里第三步最容易被省但它是后面所有“偶发不启动”“上电跑飞”类问题的分水岭。上电时序对了后面调试省一半时间时序不对你会花几天去怀疑代码。3. 43 个 GPIO 的排布战Crossbar 映射与固定功能脚的优先级引脚表一共 64 个脚去掉电源、地、模拟输入和专用输出能当通用 IO 用的是 43 个。这 43 个脚里有一半带着第二到第五功能还有一部分能通过 Crossbar 自由映射。排布顺序错了后期改板是必然的。3.1 先把不可挪的脚钉死再谈优化我的习惯是先列一张“动不了”的清单这些脚一旦被别的功能占了方案就得推倒重来。类别引脚为什么动不了功放输出APAP(1)、APAN(2)Class-D 差分/单端输出外部直接接喇叭高精度模拟输入AIN0、AIN1、AIN4~AIN710~1524 位 Σ-Δ ADC 的 6 路外部输入没有替代路径模拟基准/共模AVBG(16)、AVCM(17)、ADVSS(18)基准与模拟地只能挂电容USBUSBDM(51)、USBDP(52)全速 USB1.1 OTG差分对必须相邻等长LCD 偏压VLCD(50)段码屏偏压输入跟 COM/SEG 绑在一起长按复位PA0(63) 默认 LPRST可映射到别的 IO但默认位置最省事这张表里的规律很明显1 到 18 脚几乎全是模拟域50 到 52 脚是 LCD 偏压加 USB64 脚是模拟地。也就是说芯片物理上已经把模拟集中在一侧、数字集中在另一侧Layout 时顺着这个分布走模拟走线短、数字回流路径清楚比事后加屏蔽靠谱得多。3.2 Crossbar 的映射顺序决定改板次数手册在引脚表下面给了两条注SPI1、SPI2、IIC、UART 都可以通过 Crossbar 映射到 GPIO而 SPI、IIC、UART 在表里其实已经给了默认的 FUNC2~FUNC5 位置。这就带来一个选择用默认位置还是用 Crossbar 重映射。经验是按信号速率分优先级。SPI Flash 接口标准/dual/quad最大 16MB、80MHz和 EMI8 位数据 IO可扩 SDRAM这类高速总线优先用表里给好的连续引脚因为它们需要连续布线和等长UART、IIC 这种低速信号留给 Crossbar 去凑实在排不开就换一组。有一处细节值得盯EMI 的数据线在 PC8~PC15 上连续排成 EMI0~EMI7PD1、PD0 是 EMI_RD 和 EMI_WRPC11 上还带一个 FPIN0。也就是说这颗片子的外部存储接口是成组设计的你要用 8 位并行扩展就别把这 10 个脚拆散给别的功能否则地址数据线乱飞时序很难收敛。排布做完一定要做冲突检查人眼扫 64 行表格必出错。我用一份 CSV 记录分配再让脚本查两件事同一个脚有没有被两个外设占用、以及用到的功能是否真的在该脚的功能列表里。# pinmux_check.py 检查引脚分配表里的功能冲突与非法复用 import csv # pinmux.csv 每行: pin,func1,func2,func3,func4,func5 # 例: PD8,LCDIO,Timer0pwm,,, 空列表示该脚没有这一路功能 with open(pinmux.csv, newline, encodingutf-8) as f: table {row[pin]: [v for k, v in row.items() if k.startswith(func) and v] for row in csv.DictReader(f)} # 计划分配: 引脚 - 要用的功能 plan { PD8: Timer0pwm, PD11: UART_TXB3, PC0: UART_CTS, PD14: UART_RXA3, # 故意写错验证脚本能不能抓到 } for pin, func in plan.items(): if pin not in table: print(f[缺失] {pin} 不在封装引脚表里) elif func not in table[pin]: print(f[非法复用] {pin} 可用 {table[pin]}不能配 {func}) else: print(f[OK] {pin} - {func})逻辑很直接table是从手册引脚表抄下来的“每个脚支持哪些功能”plan是你当前方案的分配。参数说明功能名必须和手册写法一致比如UART_TXB3、Timer0pwm这种大小写混排的名字直接照抄不要自己规范化否则匹配不上CSV 的空列在读入时已经被过滤掉所以table里每个脚只留真实可用的功能。这段脚本跑一次能省掉一轮打样我现在的做法是每次改引脚分配都重跑跟提交代码一样当成习惯。3.3 引脚描述表要横着读很多人看引脚表只看 FUNC1结果发现某个脚“没有我要的功能”。这份表是横着读的一个脚最多五列功能FUNC1 往往是默认功能后面几列才是复用。举几个容易漏的例子PD7 是 LCD SEG19同时是 PWMCH5LPD3 除了 LCD SEG15还能做 PWMCH3L 或 UART_RXA2PC11 是 LCD SEG07还能做 EMI3 或 FPIN0 或 UART_RXA1。还有两个特殊脚PD14 和 PD13 只有 LCD SEG26/SEG25 这一路功能没有第二复用把它俩规划成普通 GPIO 是最浪费的用法PC0 和 PC1 在 LCD 模式下是 COM0/COM1同时又能做 UART_CTS 和 UART_RTS做带屏又带串口的方案时要优先保住这两个。注意手册里提到 LPRST 可以映射到“除 PFx 外的任意 IO”而封装引脚表里只有 PA、PC、PD 三组端口。规划时按实际存在的端口来不要为一个不存在的 PF 组留空位。3.4 一份可以直接抄的排布顺序把上面几条拼起来落到实际排布我通常按这个顺序推进先把 LCD 的 6 个 COM 和需要用的 SEG 连续占住 PC0~PC15、PD0~PD14 的低位段再把 EMI 的 8 位数据线和读写线整段保留接着把 USB 差分对、功放差分对按手册位置锁死然后安排 SPI Flash 的 quad 信号最后剩下的脚全部丢给 UART、IIC、定时器 PWM 和按键检测用 Crossbar 去凑。这个顺序的好处是越靠前的功能对引脚位置的约束越强越靠后的越灵活。反过来先排按键和 LED最后发现 SPI 找不到连续四根线就只能改板。4. 24 位 Σ-Δ ADC 的参数组合PGIA 增益、输出速率与无噪声位秤类产品买这颗片子八成是冲那路 24 位 Σ-Δ ADC手册里缩写 HADC来的。它带一个低噪声可编程增益仪表放大器PGIA增益 1 到 128配 6 路外部模拟输入和 5 路内部输入输出数据率 15.3Hz 到 7.7kHz增益为 1 时无噪声位最高 18.8 位。这几个数字不是并列关系是互相拉扯的三角。4.1 通道盘点11 路输入到底怎么分外部 6 路是 AIN0、AIN1、AIN4~AIN7注意没有 AIN2 和 AIN3抄表时别顺手补齐。内部 5 路是温度传感器、AVCM、AVBG、ADVSS 和 DAC 输出。单端或差分都支持差分最多四对。内部这几路的用途很实际AVBG 是内部基准可以拿来自校准AVCM 是共模点用来检查前端偏置是否正常温度传感器接在 Σ-Δ ADC 的输入通道上可以直接读片内温度DAC 输出回环到自己是验证整条音频链路的好办法。也就是说不用外接任何器件就能把 ADC 的两路输入接在已知信号上做自检。差分对的选择也有讲究6 路外部输入可以任意组成差分对做桥式传感器称重、压力时把一对相邻的输入接桥的两臂共模抑制最好。手册没规定哪些脚必须配对但它把 AIN0、AIN1、AIN4~AIN7 排成连续的一段物理上就是鼓励你这么用。4.2 输出速率和过采样率是一一对应的手册给了两个看似无关的数字HADC 工作时钟 500kHz原生支持 65 到 32672 倍过采样。把这两个数一除输出速率就出来了500000/32672 ≈ 15.3Hz500000/65 ≈ 7692Hz ≈ 7.7kHz。也就是说输出数据率的上下限本质就是过采样率的上下限。# hadc_rate.py 由 500kHz 采样时钟推算输出速率与过采样率 HADC_CLK 500_000 def osr(rate_hz): return round(HADC_CLK / rate_hz) for rate in (15.3, 30, 60, 100, 250, 1000, 4000, 7700): n osr(rate) if not 65 n 32672: # 手册给出的 OSR 边界 print(f{rate:6}Hz OSR{n:6} 超出 65~32672 范围) continue # 经验估算OSR 每翻 4 倍无噪声位大约涨 1bit nfb 18.8 - (15 - n.bit_length()) * 0.0 # 占位见下方说明 print(f{rate:6}Hz OSR{n:6} 换算正常)这段脚本只做一件事把你想用的输出速率换算成过采样率并卡在手册给的 65~32672 区间内。HADC_CLK固定 500kHz来自手册 2.2.15 节边界值 65 和 32672 同样照抄。代码里那行nfb是故意留的占位注释因为手册只给了“增益为 1 时最高 18.8 位”这一个点没有给完整的速率-噪声曲线凭一个点去拟合具体数值就是编数据。工程上的做法是按“每 4 倍过采样换约 1 位”这个通用规律估趋势再上板实测。趋势怎么用把速率从 7.7kHz 降到 15.3Hz过采样率从 65 提到 32672约 500 倍折合约 4.5 位。也就是说同一个前端把速率从最快降到最慢噪声性能能改善四到五位。这解释了为什么秤类产品普遍把输出速率设在 10~20Hz它要的是分辨率不是速度。4.3 三类场景的参数组合把上面的关系落到具体产品我给三组常用组合都是我实际调过的方向具体数值要按你的传感器实测再定。场景PGIA 增益输出速率关键考虑称重/体脂64~12810~20Hz传感器满量程输出只有几百 uV 到几 mV增益要拉满速率压低换分辨率血压计32~64100~250Hz需要看到脉搏波形速率不能太低增益按袖带传感器灵敏度调血氧/体温8~3250~100Hz信号幅度相对大高增益反而容易饱和电池/按键扫描不走 PGIA—改用 12 位 SAR ADC这里有个反直觉的点增益不是越大越好。PGIA 增益 128 时输入满量程被压得很小前端稍微有点失调或共模偏移就顶到轨读数直接卡死。我一般先在低增益下确认信号幅度和共模点再往上加加到读数开始频繁出现边界值就往回退一档。4.4 12 位 SAR ADC 别浪费它管的是另一类活手册里还有一路 12 位逐次逼近型 ADC容易被忽略。它的定位和 HADC 完全不同6/8/10/12 位可配12 位下转换速率最高 1MHz8 通道单端输入内部带隙电压也能当输入。前面还有一个差分放大器增益可配 -6/0/6/12dB输入接 VSEN0~VSEN3可以任意组合成差分对也可以旁路掉只用单端。分工很清楚慢速、高分辨率的传感器信号走 HADC快速扫描、电池电压检测、按键或外部通道切换走 SAR ADC。VSEN0~VSEN3 这四路配差分放大器适合直接测电阻桥、热电偶这类差分小信号增益 12dB 大约 4 倍配合 12 位分辨率做粗略检测足够。有个实际用法把电池分压接到 VSEN 上用 SAR ADC 定期扫描比用 HADC 省事因为它不需要那么高的过采样也不占 HADC 的通道。同时 4 级低压检测LVD可以配成硬件中断电压掉到阈值直接唤醒 MCU比软件轮询省电。4.5 无噪声位不等于精度这是我最想强调的一条18.8 位是“无噪声位”衡量的是噪声峰峰值折算成位数它跟“准确度”是两件事。手册在温度传感器那一节自己就写了传感器线性度好但每一片的偏置因为工艺差异都不同不校准只能用来检测温度变化测不了绝对温度。同样的逻辑适用于整条模拟链路PGIA 的增益误差、内部基准的实际值、外部传感器的灵敏度偏差都会叠加到最终读数上。噪声位高只说明你稳定不说明你准。所以量产流程里必须有校准环节常见做法是两点校准空载和满量程砝码把增益和偏置一起解出来。我见过直接抄别人校准系数结果整批偏 3% 的项目返工代价远高于多做一次校准工装。5. 打样前的五条排查记录从不上电到 ADC 飘码这份手册我前后对着调过几版板子下面五条是重复踩到的按“现象 → 原因 → 解决”写遇到同款现象可以对号入座。5.1 焊好上电没反应AVDDCP 只有 1V 出头现象新板第一次上电电流只有几百 uA程序烧不进去量 IOVDD 正常 3.3V量 AVDDCP 只有 1V 多。原因电荷泵没起振。AVDDCP 不是外部供的它由 VINCP 供电、靠 CNP 与 CPP 之间的飞电容泵出 3.4V~3.75V。飞电容漏画、容值选得太小、或者贴片时虚焊都会导致输出远低于手册区间。解决先确认 CNP 与 CPP 两个脚之间确实有电容且没有把其中一个脚误接到地再确认 VINCP 有电。手册只给了输出电压区间没给飞电容的具体容值按电荷泵的通用做法从 0.1uF 和 1uF 各试一版看哪版带载后电压仍稳在区间内。这类问题的判断标准很简单AVDDCP 不在 3.4V~3.75V后面所有模拟指标都不用看了。5.2 实验室一切正常高温老化后待机电流翻十倍现象样机在桌面测待机 3uA进高温箱 48 小时后回来待机电流变成 30uA 以上功能还正常。原因IOVDD 直接接的单节锂电。手册推荐 IOVDD 上限是 3.6V满电锂电 4.2V出厂测试时电池是半电状态所以看不出来充满电再进高温过压加温漂把内部漏电放大。解决IOVDD 前面加固定 3.3V 的 LDO输入侧覆盖 3.0V~4.2V 的整个电池区间。改完之后再跑一遍 2.2 节那段脚本把放电末端电压也代进去确认不欠压。这条属于典型的“能跑不等于合规”凡是引脚表里给了明确电压区间的一律按区间设计别按经验设计。5.3 ADC 读数稳定跳 5 到 10 个码现象称重方案空载时读数一直在跳改了滤波算法也只是变慢压不住。原因PGIA 增益拉到了 128同时输出速率设成了几百 Hz。按第 4 章那个换算速率越高过采样率越低无噪声位掉得很快再加上高增益把前端噪声一起放大。解决先降速率把输出数据率从几百 Hz 压到 15~20Hz看跳动是否收敛如果不收敛再降一档增益确认信号幅度仍然够用。调的时候有个顺序先定带宽产品实际需要的响应速度再定增益保证满量程不饱和最后才是滤波。反过来先调滤波往往是在给错误的前端参数打补丁。5.4 GPIO 配了没反应代码查不出问题现象软件把某个脚配成 UART_TX示波器上一点波形都没有换别的脚又能出。原因三种可能都遇到过。一是那个脚已经被固定功能占了比如 PD14、PD13 只有 LCD SEG 这一路功能没有 UART 复用二是用了 Crossbar 重映射但没把该脚原来的默认功能关掉三是想给 LPRST 映射位置时挑了一个封装里不存在的端口。解决回到引脚表横着看那一行确认目标功能确实出现在 FUNC1~FUNC5 里用 3.2 节那段脚本把整份分配表跑一遍非法复用会直接打出来。养成一个习惯任何引脚功能变更先改 CSV 再跑脚本最后才改代码顺序反了就会在代码里找一个根本不存在的复用。5.5 回流焊后一成左右的不良手焊的都好现象手焊的样板全好过炉的量产板有一成左右出现功能异常或电流偏大。原因LQFP64 是 7mm×7mm 的小尺寸封装引脚密集回流曲线不对很容易出虚焊或连锡。手册第 6 章专门分了 Sn-Pb 工艺和 Pb-free 工艺两套分类温度曲线这两套不能混用另外塑封器件有湿敏等级开封后长时间暴露再直接过炉内部水汽膨胀会造成隐性损伤。解决先按你实际用的焊膏类型选对应的那套曲线别拿无铅曲线去过有铅板再看器件的湿敏等级和开封时间超时的按规范烘烤再上线最后才是查钢网和锡膏。手册给曲线不是让你参考是让你照着设炉温。ESD 那节同样别跳芯片有 ESD 保护不代表产线可以不做防静电装配环节的静电损伤往往是隐性的出货测试测不出来客户端才暴露。6. Class-D 三模式怎么定把开关频率和输出结构一起验证音频这部分的参数密度不比 ADC 低。手册 2.2.12 节给的 Class-D 功放APA是单声道数字脉宽调制内部带数字音频处理和采样率转换工作时钟 240MHz 或 320MHz支持 32/44.1/48kHz 采样率开关频率 384kHz~768kHz调制模式分 mode1、mode2、mode3 三种。关键的差异只有一句话mode1 和 mode3 支持单端输出或差分输出mode2 只支持差分输出。这句话直接决定外围电路。想做单端输出比如只留一个喇叭正极加地就必须选 mode1 或 mode3选 mode2 又按单端接法画输出端等于少了一半驱动声音会明显发虚甚至失真。我的习惯是先定输出结构再反推模式最后才调开关频率。开关频率怎么挑它是采样率的整数倍关系32kHz 采样率对应 384kHz 这一档48kHz 对应 768kHz 这一档。频率越高输出滤波器可以做得越小但开关损耗和 EMI 压力也越大。做小体积产品往高走做成本敏感、对 EMI 宽松的产品往低走中间没有标准答案要看你的喇叭和外壳。旁边还有一路独立的音频 DAC单声道、8kHz 到 96kHz、最高 800mVrms 输出、THDN 到 -75dB它需要外部接功放才能推喇叭。所以这条链路有两种用法要推力就用片内 Class-D要指标就用 DAC 加外部功放。手册明确写了 DAC 只支持单声道播放做立体声的产品别指望它。还有一个省料的细节不用 APA 时APAP 和 APAN 这两个脚可以当普通 GPIO 用。对于不需要喇叭的产品等于白捡两个脚规划引脚时把它们算进可用资源。验证方法我固定走三步缺一步都不敢出货第一步用 DAC 输出回环到 24 位 ADC 的内部通道确认数字链路无损第二步接上实际喇叭用 1kHz 正弦扫一遍三种模式的输出示波器看有没有削顶和死区第三步把音量拉到最大持续跑 30 分钟摸功放和电感温度。第三步最枯燥但它是唯一能提前发现散热问题的办法。从那以后我每次画新板都强制先跑一遍第 3 章那段引脚冲突脚本再对着第 2 章的电源表量一遍实际电压两个动作加起来不到半小时能挡掉后面几周的返工。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
Brave浏览器安全加固:十步配置与三档强度实践 1. 加固之前先弄清楚:Brave 的默认防护到底做到哪一步做了几年终端安全管理,帮人装浏览器、调配置这件事我一直没断过。Brave 浏览器被问到的频率这两年明显上来了,原因很直接——它的默认姿态讨人喜欢:装完就拦广告和追踪器&… · 2026/11/2 7:47:28
研发管理如何兼顾项目进度与缺陷问数:统一工作项驱动闭环 研发管理:项目进度与缺陷问数最近几年我大大小小带过十几个研发项目,最深的体会是:无论是向老板汇报还是跟客户对进度,最绕不开的其实就两件事——项目进度到底准不准,缺陷数量到底说明什么。技术方案可以讲得天花乱坠… · 2026/11/5 4:43:00
免费在线画施工横道图:从任务拆解到出图交付的完整流程 施工计划这件事,真正折磨人的往往不是"画不出来",而是"画出来没人看得懂、改一次全乱套"。我见过太多小团队用表格硬凑横道图,任务一多,行高、列宽、颜色全打架,甲方一句"把三号楼那部分单独… · 2026/11/5 14:21:18
EasyU优启通PE维护盘实战指南:制作、启动与核心操作全解析 1. 为什么一个PE维护盘值得单独拿出来聊装系统、修引导、救数据、清病毒,这些活儿但凡干过几次的人都知道,真正决定效率的往往不是你手速多快,而是手边那套PE环境靠不靠谱。EasyU(圈内习惯叫优启通)就是在这个场景下被… · 2026/11/5 16:49:35
Rust原来很简单二:所有权系统 Part 2 核心篇 —— 所有权系统
本篇覆盖 第 6 ~ 10 章:所有权、借用与引用、生命周期、字符串与切片、内存模型。 ⚠️ 这是全书最重要的一篇。 把它吃透,Rust 从此“很简单”;跳过它,你会处处碰壁。请慢下来,动手敲每一段代码。 第 6 章 所有权:Rust 的第一性原理
6… · 2026/11/5 16:26:08
基于Hadoop+Spark的民宿智能推荐系统设计与实现 1. 项目概述:大数据时代的民宿智能推荐这个毕业设计项目融合了当前大数据领域最主流的技术栈,构建了一个完整的民宿推荐系统解决方案。作为一名长期从事大数据系统开发的工程师,我认为这个选题非常贴合实际应用场景——随着旅游业的复苏和共享… · 2026/11/5 14:59:25
ADS122U04IPWR+STM32F427ZI工业级温度测量信号链设计 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 14:10:41
UART接口24位ADC搭配RS485,解决远距离温度监控难题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 14:10:41
UART接口24位ADC搭配PIC18F46K22的RTD与热电偶测温实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 14:10:41
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:07
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:07