二代全频段收音机改完电池供电之后,很多朋友问音频放大和电源部分到底怎么弄才能既推得动喇叭、又不让底噪满天飞。这期把SI4732+ESP32S3 Zero+TFT_LCD整机里的两个硬骨头一次性说透:音频放大链路怎么搭,电源怎么优化才能让接收性能不劣化。先说结论:音频方案选了TDA2030做桌面输出,电源侧做了模拟/数字分离、LDO二次稳压加LC滤波,整机底噪和接收灵敏度都达到了可用的水准。
1. 项目整体设计与音频方案选型
1.1 前情回顾与本期目标
前两篇分别搞定了SI4732的I2C控制逻辑(基于Arduino框架)和TFT_LCD的仪表盘界面,包括频率刻度、信号强度条和控制触摸按键。第三篇的核心就是两件事:音频信号从SI4732出来之后,怎么干净地放大到可听响度;以及整机在不同供电场景下,怎么保证SI4732的接收性能不因电源噪声而恶化。
实测来看,SI4732的耳机输出直推32Ω耳塞音量尚可,但带不动4Ω/8Ω的桌面音箱,更别说机内小喇叭。本期的整机定位是:桌面便携两用,内置1W左右的喇叭用于随身听,外接音箱时切换到TDA2030放大通道。这样既解决了便携场景的收听需求,也满足了桌面场景的音质要求。
1.2 为什么选TDA2030做外接功放
可能有人觉得收音机用TDA2030小题大做,但实际测试下来,这个选择有几个非常现实的原因。
首先是驱动能力余量。TDA2030在±12V或单12V供电下,4Ω负载能输出10W以上的功率,8Ω负载也有6W左右。对于灵敏度参差不齐的桌面音箱来说,这样的功率余量能确保即使播放弱台信号时,AGC压不住的大动态也不至于削波。而常见的PAM8403这类小功放虽然简单,但5V供电、3W输出,遇到稍微吃功率的箱子就露馅。
其次是音质底子。TDA2030属于AB类功放,不存在D类功放那种开关噪声耦合到中波/短波接收链路的隐患。D类功放虽然效率高,但高频开关噪声(通常在250kHz以上,谐波更高)一旦通过电源或地线耦合到SI4732的天线输入端,AM和SW频段会出现明显的"嘶嘶"背景噪声,很难彻底滤除。
第三是调试方便。TDA2030外围元件少,标准电路在数据手册和无数论坛帖子里都有成熟参考,只要PCB布局不出大错,基本一次装响。对于系列化改造来说,这能省下大量调试时间。
1.3 便携喇叭通道的取舍
内置小喇叭没有直接并到TDA2030输出上,而是单独用了一颗LM4871(或者国产替代型号)做1W单声道放大。原因很简单:TDA2030的静态电流在50mA左右,如果整机便携使用时也让它工作,电池续航会显著缩短。LM4871在5V供电下静态电流只有几mA,足够省电。
另外,LM4871的增益可以由外部电阻设定,我把增益设置在8倍左右(约18dB),配合1W、8Ω的小喇叭,在办公室环境下收听本地FM强台完全够用。内置喇叭通道的通断用一颗P沟道MOSFET控制,由ESP32S3的GPIO拉低开启,这样在电池模式下可以彻底断电,避免待机耗电。
2. 音频放大链路设计与元器件选型
2.1 SI4732音频输出特性与耦合方式
SI4732的音频输出是LOUT/ROUT两个引脚,内部集成了耳机驱动放大器,输出阻抗较低,可以直接驱动耳机负载。但要注意,这两个引脚的直流偏置大约是VIO供电的一半(3.3V供电时约1.65V),所以外部耦合必须用电容隔直。耦合电容的取值直接影响低频响应——公式是 f_L = 1 / (2π × R_in × C_coupling)。如果后级功放输入阻抗是10kΩ,想做到50Hz的低频下潜,耦合电容至少要取 1 / (2π × 10000 × 50) ≈ 0.33μF。我实际用了1μF的CBB电容,低频响应足够,同时体积也不大。
如果是FM立体声模式,LOUT和ROUT分别输出左、右声道;AM和SW模式下则是单声道,SI4732内部会自动把信号同时送到两个引脚。所以后级功放电路必须考虑单声道/立体声的兼容。我的方案是:用一组跳线(或者用ESP32S3的GPIO控制模拟开关),在FM立体声模式下,TDA2030的两个通道分别对应左右声道;在AM/SW单声道模式下,则将LOUT和ROUT通过电阻网络混合成单声道再送入功放。
2.2 TDA2030标准放大电路与单电源改造
TDA2030的典型应用是双电源供电(±6V~±18V),但便携/桌面设备用单电源更方便。单电源方案就是在输出端和地之间接入两个等值电阻分压,把中点电压偏置到电源电压的一半,同时用一个大电容(通常100μF以上)将中点交流接地,给信号提供交流回路。
我的实际电路参数:
- 电源:12V开关电源适配器(外接桌面模式)或12V锂电池组(便携模式)
- 输入耦合:1μF CBB电容,配合输入端22kΩ对地电阻,构成高通滤波
- 反馈网络:Rf=22kΩ,Rin=680Ω,理论增益 = 1 + 22k / 680 ≈ 33倍(约30dB)
- 输出端:串联一个0.1μF电容和10Ω电阻组成的茹贝尔网络到地,吸收扬声器感性负载产生的高频振铃,防止自激
- 供电去耦:功放电源引脚附近放置100μF电解电容和0.1μF陶瓷电容组合
单电源中点偏置电路在空载时静态电流大约50~60mA,这与数据手册标称一致。实测12V供电、8Ω负载输出约5W时,TDA2030外壳温度会升到50℃出头,装一块小散热片(约30mm×30mm)后温度稳定在38℃左右,完全可以接受。
增益取值33倍是反复权衡的结果。SI4732在FM强台时的音频输出峰值大约在300~500mV,33倍增益后是10~16.5V的理论峰值,对于12V单电源供电的TDA2030来说已经是满幅输出了。实际听感测试中,这个增益在中等音量电位器位置就有足够的声压,且不会出现过早削波。如果增益再大(比如50倍),则FM强台容易失真,弱台噪音也会被同步放大,信噪比没有实质提升。
2.3 音量电位器位置与双声道平衡
音量控制用了一只10kΩ双联指数型(A型)电位器,接在SI4732输出和功放输入之间。之所以放在功率放大级前面而不是后面,是因为功放输入端是高阻抗节点,电位器在这里对信号源的负载效应小,同时也能更好地衰减噪声。如果放在输出端做功率衰减,不仅电位器要承受大电流,功率管的热噪声和失真也会全盘保留。
双联电位器需要重点检查两联之间的一致性。我手头这只在10点钟位置时左右声道偏差小于1dB,但有些廉价电位器会在某些位置出现明显偏音,特别是在小音量区域。选购时可以先用万用表测一下各位置的阻值,两联偏差超过5%的建议直接换掉。
电位器外壳要接地,否则人手碰到旋钮时会引入明显的交流哼声。这个看似小细节,在桌面音箱音量开到一半以上的时候特别明显,是我在实践中踩过的坑。
2.4 内置喇叭功放LM4871细节
LM4871是小型DIP/SOP封装的单声道功放,工作电压2V~5.5V,5V供电时在8Ω负载下能输出约1W功率。它内置了射频抑制电路,理论上对AM频段的干扰性能比普通运放好,但实测中仍然建议在电源引脚旁放一个10Ω电阻串联一个小电感(或者直接用磁珠),减少数字电路高频噪声的窜入。
它的关断控制引脚(SHUTDOWN)可以直接接ESP32S3的GPIO,拉高即可静音。我把这个引脚接到了GPIO4,同时并联一个1kΩ下拉电阻,确保在ESP32S3复位期间(GPIO高阻状态)功放处于静音状态,避免开机瞬间的POP声。
LM4871的增益设置同样通过反馈电阻完成。按照数据手册的电路,增益 = 2 × (Rf / Ri),我取Rf=20kΩ、Ri=5kΩ,增益8倍,实测音量足够。如果觉得不够响,可以考虑把Ri降到2.5kΩ,但此时底噪也会上升。1W小喇叭追求的不是声压,而是清晰度。
3. 电源系统优化:从噪声源头治理
3.1 噪声来源分析与测试结果
收音机这类模拟+射频混合系统,电源噪声的影响直接反映在听感和信号强度读数上。我对比了三种供电方式下FM和SW频段的底噪表现。
- USB 5V直接给ESP32S3供电:FM底噪尚可,但SW频段出现明显的"沙沙"声和间歇性"滋滋"声,这是USB电源上叠加的高频纹波(主要是DC-DC或电脑主板开关噪声)直接串入接收链路的结果。
- 5V充电宝直接供电:底噪比USB口小一些,但充电宝升压电路在负载变化时(比如LCD背光亮度变化)会产生固定频率的吱吱声。
- 12V适配器 + 5V降压模块 + 3.3V低噪声LDO + LC滤波:FM和SW底噪均与电池供电无异,是表现最优的方案。
测量数据也验证了听感判断:用示波器(带宽限制20MHz)测量3.3V电源轨上的纹波,USB直供方案纹波峰值达到120mV;充电宝方案约60mV;而LC滤波+LDO方案纹波小于10mV。对于SI4732这类内置模拟前端的芯片来说,电源纹波中的高频分量会直接通过内部电路耦合到射频输入端,导致灵敏度恶化,所以追求极致接收性能的玩家不能跳过电源优化这步。
3.2 模拟/数字分离与分路供电架构
整机电源架构采用“总入口 → 各通道独立稳压”的树形结构,而不是一根电源总线串到底。
外接12V电源进来后,兵分两路:
- 第一路直接给TDA2030功放供电,中间只经过一个共模电感(或者普通铁氧体磁珠)和一个470μF电容滤波。功放是电流消耗大户,不能让它通过LDO供电,否则大动态时LDO电压跌落会导致失真。
- 第二路进5V降压模块(我用的是一颗同步整流Buck,型号很多,实测选择开关频率在1.2MHz左右的,谐波不易落在广播频段),输出5V后先经过一个LC滤波器(1μH电感+22μF陶瓷电容),再送给ESP32S3的5V引脚和3.3V LDO。
这里有个关键经验:5V的Buck输出纹波如果直接给ESP32S3供电,ESP32S3内置的3.3V LDO虽然有一定纹波抑制能力,但高频段的PSRR并不理想,实测底噪还是会比外置低噪声LDO差一截。所以我在ESP32S3的3.3V输入前又加了一颗ME6211低噪声LDO。ME6211的噪声典型值在30μVRMS以下,PSRR在1kHz处约70dB,对中波频段的干扰抑制效果很明显。
SI4732的供电则独立处理。VIO(数字IO供电)直接接3.3V,VCCA(模拟供电)经过一个LC低通滤波——10Ω电阻串联100μF钽电容到地,再接0.1μF陶瓷电容——之后再进入芯片模拟电源引脚。这个阻容滤波的截止频率约为 f = 1/(2π × 10 × 100μF) ≈ 160Hz,对于音频范围和更高频的干扰有很强的衰减。之所以用电阻而不用电感,是因为SI4732的VCCA电流很小(数据手册典型值只有约10mA),电阻上的压降可以忽略,却能获得比磁珠更可预测的滤波特性。
3.3 电池供电模式的切换逻辑
便携模式下用两节18650锂电池串联供电(标称7.4V,满电8.4V),这个电压直接给TDA2030供电时需要注意:满电8.4V对应的功放输出功率比12V供电低不少,但胜在电池内阻低、纹波小。实测8.4V供电、8Ω负载输出约3W,桌面使用也够。
电池电压不是直接接到系统的,而是先经过一个理想二极管模块(或者普通肖特基二极管,压降约0.3V)再接到12V电源入口。这样外接12V适配器插上时自动切换为适配器供电,拔掉后自动切换为电池供电,不会出现两路电源互相倒灌的问题。
为了让ESP32S3知道当前是适配器还是电池供电,我增加了一颗电阻分压检测电路,把电池组电压(经过分压后)接到ESP32S3的ADC引脚。固件里对这个电压做连续采样、取平均,可以推算剩余电量,并在TFT屏幕右上角显示一个电池图标。这个功能虽然不算电源优化的核心,但对使用体验的提升非常明显,至少不会再出现用着用着突然关机的情况。
3.4 地线布局与单点接地实战
电源优化的另一半工作是地线布局。整机的地线不是简单地铺一个大铜皮,而是分成了数字地、模拟地、功率地三个区域,最后在电源入口处汇合成单点地。
- 数字地:ESP32S3、TFT_LCD、SD卡等数字电路的地。
- 模拟地:SI4732的VCCA返回地、音频前置电路(耦合电容后的电阻网络)的地。
- 功率地:TDA2030、LM4871的电源地。
功率地因为要流过较大的动态电流(TDA2030输出峰值电流可达3A以上),如果和模拟地共用一条走线,地线上的压降会随着音频信号波动,产生“地弹”噪声,再通过模拟地耦合到SI4732的输出端,听起来就是明显的背景“哼声”。单点接地后,虽然各区域之间还存在地电位差,但没有形成闭合环路,噪声会大大降低。
在PCB(或者洞洞板搭棚)上实现时,我习惯用”星型接地”法:三个区域各自汇集,然后用一根粗导线(或者覆铜区)连接到电源输入端的滤波电容负极。滤波电容负极作为整机地参考点。这个方法在模拟音频和射频混合电路里非常经典,收音机这类对噪声敏感的设备尤其适用。
4. 实战联调:信号链组装顺序与测量
4.1 从后往前逐级调试的思路
调试音频链路有个原则:从后往前、逐级加电、先通后优。也就是先把功放输出级单独验证好,再接前级信号源。这样能快速定位故障区域,避免前后级问题互相干扰。
我的调试顺序是:
- 先不接SI4732,只在TDA2030输入端注入1kHz正弦波(来自手机耳机孔或信号发生器,幅度100mV左右),用示波器观察输出波形。这一步能验证功放周边电路、单电源偏置、反馈网络和茹贝尔网络是否正常。
- 检查TDA2030静态工作点:输出端直流电压应该在电源电压的一半附近(12V供电时约为6V)。偏离太多说明偏置电阻有问题或功放芯片损坏。
- 接入SI4732的LOUT/ROUT信号,调大音量,听背景底噪和静态噪声。这一步能发现接地或滤波问题。
- 最后接入天线,进行实际的电台接收测试,分别测试FM/AM/SW频段,记录灵敏度表现和音质。
4.2 音频链路实测数据记录
在实际联调过程中,我把关键测量数据记录如下,供大家参考:
- TDA2030在12V供电、8Ω负载、输出5W时的THD+N约为0.1%(1kHz,数据手册典型值),听感上失真几乎不可闻。
- SI4732直接输出信号在功放输入端(音量电位器50%位置)测得约50mVrms,经TDA2030放大33倍后,输出约1.65Vrms,对应8Ω负载上约0.34W功率,这时候桌面音箱已经能出不错的声压了。
- 音量电位器开到最大时,功放输出可以达到7Vrms以上(对应8Ω超过6W),继续加大输入就会看到削波失真,说明增益设置合理,动态余量足够。
- 内置LM4871通道在5V供电、8Ω负载下输出约280mVrms时,1W小喇叭声音清晰,无破音。继续增大到500mVrms以上时,小喇叭出现轻微失真,那是喇叭本身的物理极限,不是功放的锅。
有一个容易被忽略的信号通道问题是:SI4732的音频输出电平会随着接收信号强度自动调整(内部AGC),弱台时输出电平降低,强台时升高。因此音量电位器的位置需要根据所收电台的场强做适当调整,这和使用传统模拟收音机的手感不太一样。后期我在固件里加了一个AGC OFF模式,让玩家可以在固定增益下收听弱台,以获得更满意的音量感受。
4.3 电源优化前后的接收性能对比
电源优化前(USB直供),FM频段接收本地强台时信号强度读数波动大约在±2dB,声音背景有轻微“沙沙”声。SW频段在晚间接收国际短波电台时,底噪明显,弱台几乎无法分辨。
电源优化后(LC+LDO架构),FM信号强度读数非常稳定,波动小于±0.5dB,背景噪声几乎消失。SW频段的底噪显著降低,晚间可以较清晰地收听远距离弱台。这个提升效果超过了我最初对“电源优化”的预期——原本以为只是把噪声降低一点点,实际上对短波接收的改善是质的飞跃。
我特别对比了两种供电下SI4732的RSSI(接收信号强度指示)读数:在同一个FM频点(本地音乐台),USB直供时RSSI值在42~45dBμV之间波动;优化电源后RSSI稳定在44dBμV,偶尔跳到45dBμV。虽然差异不大,但对模拟解调的信噪比来说,这2~3dB的稳定度提升听得非常明显。
4.4 TFT显示屏刷新与音频噪声的微妙关系
这里有一个值得单独拿出来讲的细节:TFT_LCD刷新时对音频链路的干扰。
TFT屏幕在刷新过程中,数据总线和背光驱动会产生突发性电流变化。如果屏幕电源或信号线和音频通路存在公共阻抗,就会在喇叭里听到与刷新同步的“叮叮”声或高频“吱吱”声。特别是在FM立体声模式下,这个现象更明显。
我的解决方案是三点:
- TFT_LCD的电源从ESP32S3的3.3V输出单独取,和SI4732的供电完全分开;
- LCD数据线(SPI接口)的走线尽量短,且避开音频输入走线;
- 刷新频率控制在30Hz左右,而不是极限的60Hz以上,减少瞬态电流的频次。
经过这三个处理后,听感上屏幕刷新对音频的干扰完全消失。这算是一个典型的“种类性”问题:如果不亲自动手做,很难从芯片数据手册里预测到TFT刷新会和音频有这种耦合路径。
4.5 固件层面的音频控制配合
硬件做完了,固件上也要配合做一些控制逻辑。我在ESP32S3上实现了以下几项:
- GPIO控制功放静音脚:系统上电时先保持静音,等SI4732初始化完成、输出稳定后再解除静音,避免上电瞬间的POP声。
- 音量状态记忆:每次音量变化后写入NVS(非易失存储),下次开机自动恢复。
- FM/AM/SW模式切换时,延迟100ms再解除静音,避免模式切换瞬间的爆音。
- 电池电压低于6.8V时,通过TFT屏幕弹出提示,并自动降低背光亮度、关闭内置功放通道,节省电量。
这些逻辑虽然简单,但对整机的使用体验提升很大。特别是开机静音逻辑,很多收音机DIY作品没有做这步,每次开关机都“啪”一声,非常掉档次。
5. 常见问题与反复踩坑记录
5.1 底噪大、有“嗡嗡”声
这个问题通常由三种原因引起:接地环路、电源纹波、输入端悬空。
- 接地环路:检查功放地、SI4732地、电源地是否形成环路。我遇到过把功放输入地接到电源地、SI4732地也接到电源地的情况,结果形成一个大环路,底噪高达-60dBV。改成星型接地后问题消失。
- 电源纹波:用示波器AC耦合测一下3.3V电源纹波。如果纹波峰值超过30mV,请重点检查LC滤波器的电感是否饱和、LDO前后电容是否接对位置。ME6211这类LDO要求输入输出端各有一个1μF以上的电容,很多人省略了输入电容,会显著劣化纹波抑制效果。
- 输入端悬空:功放输入没有接任何信号源时,输入端是高阻节点,会拾取空间电磁干扰。解决方法是输入端并一个22kΩ电阻到地,提供一个直流偏置回路,同时也给噪声提供一个低阻泄放路径。
5.2 TDA2030发热严重
如果在调试中摸到TDA2030烫手(超过70℃),先检查:
- 是否自激。用示波器看输出端波形,如果存在无信号输入时的高频振荡(通常在几百kHz到几MHz),说明茹贝尔网络或电源去耦没做好。输出端的10Ω+0.1μF是必须的,电源脚的100μF电解和0.1μF陶瓷也不可省。
- 是否静态偏置异常。单电源中点电压偏离电源一半太多,会导致输出管静态电流增大,发热随之增加。
- 是否负载过重。4Ω负载比8Ω发热大很多,长时间满功率输出时散热片尺寸要相应加大。
5.3 AM/SW频段无法接收或灵敏度极低
这个问题排查顺序和音频链路无关,而是电源和天线。
- 检查天线是否正常接入SI4732的ANT引脚。SI4732的AM/SW接收需要外接环形天线或长线天线,直接用一根短线不能获得好的灵敏度。
- 检查VCCA供电是否被污染。如果3.3V电源纹波大,AM/SW接收性能会断崖式下降,灵敏度甚至比FM差20dB以上。
- 检查天线附近是否有高速数字走线(如SPI、SDIO接口)。TFT的SPI时钟如果走线靠近天线输入,时钟谐波会直接落在中波/短波频段内,产生明显的啸叫或嘶嘶噪声。在PCB上要拉开距离,必要时加屏蔽罩。
我实际调试中遇到过一次很头疼的情况:FM接收完全正常,AM/SW一个台都收不到。排查了半天发现是TFT屏幕的SPI时钟(40MHz)和它的2次谐波(80MHz)没有直接干扰AM,但屏幕数据线在刷新时的干扰通过地线耦合到了天线回路。后来在天线输入端加了一颗33pF电容到地(构成低通滤波,约在1.5MHz以上开始衰减),AM/SW灵敏度立刻恢复。
5.4 开机和关机POP声
POP声主要来自功放输入端的直流偏置突变。SI4732上电时LOUT/ROUT的直流电平从0V跳变到1.65V,这个跳变经过耦合电容后如果功放已经处于非静音状态,就会产生一声“砰”。解决方法是保证功放的静音控制(SHUNTDOWN/MUTE引脚)在上电时处于静音状态,等SI4732初始化完成、输出稳定后再解除静音。
关机POP声则来自电源跌落瞬间功放中点电位的快速变化。可以在电源输入端加一个较大的储能电容(1000μF以上),让电源跌落速度变慢,或者在关机逻辑里先进静音再断电。用ESP32S3检测到关机按键后,先拉高功放静音脚,延时100ms再切断电源,基本能消除POP声。
5.5 内置喇叭和外接音箱同时出声的问题
这个问题容易忽略。由于内置LM4871和外接TDA2030共用SI4732的音频输出,两个功放会同时驱动各自的喇叭。当外接音箱接入时,内置喇叭还在响,会形成干扰。
我的做法是调整硬件结构:外接音箱的耳机插孔采用带辅助开关的立体声插座,插入时同时断开内置功放的信号输入端。这是非常成熟的做法,老的组合音响和多媒体音箱都在用,原理就是用插座的机械开关来切换信号通路。这样不需要额外的GPIO控制,也不存在软件误判的问题。
如果用带开关的插座不方便,也可以用ESP32S3检测耳机插孔的插入状态(插座上加一个GPIO检测脚,插入时电平变化),然后在固件里静音内置功放通道。不过硬件开关更可靠,推荐优先考虑。
5.6 电池续航不理想
便携模式下,整机电流主要消耗在三个部分:TFT背光(约50~80mA)、ESP32S3(WiFi关闭、仅跑接收逻辑时约30~40mA)、LM4871功放(按收听音量,平均10~30mA)。如果收听FM本地强台,音量适中,整机电流大约在100~150mA,一节2000mAh的18650电池(两节串联,等效容量不变)大约能撑12~15小时。这已经属于很理想的续航了。
如果续航明显低于这个水平,检查以下项目:
- ESP32S3是否还开着WiFi或蓝牙。这两个外设工作电流轻松超过100mA,是续航杀手。
- TFT背光是否调得太亮。把背光PWM调到70%左右可以节省不少电流,肉眼看差别不大。
- LM4871是否一直处于非静音状态。如果耳机孔开关接触不良,内置喇叭放大器一直在工作,但声音被插座短路掉,白白消耗几十mA。
- 电源架构中是否有不必要的低压差LDO拖累效率。电池电压8.4V降到3.3V的LDO,约有60%的能量变成热量损耗。如果对续航要求极致,可以考虑用一颗高效的开关电源降到3.3V,再对SI4732做LDO二次稳压,能延长约30%的续航时间。
6. 一些想补充的实操体会
6.1 屏蔽与接地是低成本高回报的优化手段
在整个音频放大的调试过程中,我越来越确信一点:很多时候器材本身不差,差的是屏蔽和接地。SI4732这类集成度非常高的芯片,引脚间距小、功能丰富,但对外部环境极其敏感。一块铜箔胶带、一个接地良好的屏蔽罩,效果往往比换更贵的三端稳压器还明显。
我的机壳内部在SI4732和TFT屏幕之间贴了一片铜箔,并且铜箔单点接地到模拟地。在SW频段实测,底噪又下降了约2~3dB。这个改进几乎没有成本,但效果却是可测量的。所以建议大家在做这种高灵敏度接收机时,不要忽视屏蔽层和接地的作用。
6.2 示波器是调试电源问题最好的朋友
如果没有示波器,电源噪声这类问题会变得非常“玄学”:你只能靠耳朵听、靠RSSI读数猜,效率极低。哪怕是鱼机籽大小的便携示波器,只要能看到电源纹波的波形,就能迅速定位是Buck开关噪声还是LDO振荡、是地环路耦合还是走线串扰。比如我在调试TDA2030自激时,如果没有示波器看到输出端几百kHz的正弦振荡,可能会一直怀疑是电源问题,绕很多弯路。
如果手头暂时没有示波器,也有替代办法:用高阻耳机(比如64Ω的监听耳塞)串一个0.1μF电容,并接到可疑点和一个干净的参考地之间,耳机里听到的噪声频率和大小能间接反映该点的高频干扰情况。这个方法虽然粗糙,但作为快速排查手段非常有效。
6.3 记录数据是DIY进阶的分水岭
最后分享一个习惯层面的建议:做这类多环节、高耦合的系统项目,强烈建议随时记录每一步的调试参数和结果。比如我今天记录中的那些数据——电压、纹波、RSSI、底噪、温度——不是事后补写的,而是在调试过程中随手记在笔记本上的。你可能会觉得这很麻烦,但正是这些具体数字,让后续的故障排查有了参照基准,也让一个经验能够被反复复用。
比如我后来调试另一台同样架构的机器时,发现FM灵敏度比第一台差了5dB。按照记录对照排查,发现新机器的SI4732 VCCA供电电阻从10Ω变成了100Ω,导致VCCA电压偏低,更换后性能恢复。没有记录,这种差异靠耳听几乎不可能发现。
6.4 关于后续扩展方向
这套硬件平台还有一个很有价值的延伸方向:通过预留的SPI接口和I2S接口,后续可以尝试在ESP32S3上做中频频谱显示、数字降噪等软件层面的处理。虽然目前SI4732只提供解调后的音频输出,但结合ESP32S3强大的DSP能力,对音频做实时频谱分析并叠加到TFT屏幕上,是完全可行的。另外,针对SW频段的收听需求,可以考虑增加一根5~10米的长线天线配合有源阻抗匹配电路,灵敏度还能再上一个台阶。这些扩展开项留到后续系列里慢慢聊。