太好了 — 你要的是 不用蓝牙、通过 PCB 设计层面支持(或更方便实现)更改采样率的改版方案。下面给出一个可直接用于工程实施的、逐项详尽的 PCB 设计调整方案(包含硬件思想、关键电路模块、器件推荐/替换方向、PCB 布局要点、以及验证步骤)。我假定你仍使用 ADS1299 + MCU(如 ATmega/ESP32/STM32) 的前端架构(这是 OpenBCI 的常见组合),但完全不依赖蓝牙链路的数据传输 — 即采样可写入 SD 卡、经以太网/Wi-Fi 或有线串口导出,或仅用于离线记录/实验。
目标(summary)
- 允许通过非实时(即通过固件/上电/配置)切换采样率,并支持更高采样率(到 ADS1299 能力的范围内),同时保证信号质量。
- 在 PCB 上提供硬件选择路径(外部可切换的时钟、可选高速数据记录接口、必要的电源/接地强化),减少每次改动需重做 PCB 的需要。
- 兼顾 EM 以及模拟信号完整性(低噪声、高带宽)。
1) 关键设计思路(总体架构)
- 把采样率控制从“只能在固件内部改寄存器”扩展为“可由外部时钟源 + 固件配置配合实现”。也就是说:PCB 提供多个时钟源(板载晶振/可编程时钟/外部时钟输入),并用跳线或 I²C 可编程时钟芯片(如 Si5351/Si5338 或类似)来选择频率;MCU 在启动或配置阶段设置 ADS1299 的寄存器匹配该时钟,从而实现非实时切换采样率(上电或重启后生效,或在固件内先停采再切换)。
- 去掉对蓝牙传输的依赖 → 提供高速数据路径:SD 卡(高速写入、优先)、USB(高速串口或 CDC)、或以太网 / Wi-Fi 模块(外接模块到 PCB),用于实际把高采样率数据保存或传输。
2) 时钟子系统改动(关键)
目的:提供可切换的高质量采样时钟(MCLK / SCLK 等),并支持 MCU 控制以“更改采样率”成为可配置选项。
建议改动:
-
添加可编程时钟发生器(推荐)
- 器件:Si5351(廉价、I²C,可输出多个独立频率)或 Si5338(更高精度/更宽频率),或任何能由 MCU 在上电前配置的 PLL 时钟芯片。
- 放置:靠近 MCU 且在 ADS1299 的 MCLK 路径附近,便于短走线。
- 输出:至少提供一个输出作为 ADS1299 的 MCLK;可额外提供给 MCU/ADC 的参考或给 Wi-Fi/SD 卡时钟校准(如果需要)。
-
保留/增加外部时钟输入引脚(SMA 或 2-pin header)
- 用于直接接外部高精钟(实验室时钟)或示波器同步。加入跳线/0Ω焊桥用于选择外部时钟或板载时钟。
-
增加硬件选择(焊盘/跳线)
- 例如:3-position jumper(板载晶振 / Si5351 输出 / 外部时钟) — 方便现场切换,不改固件就能切换时钟源,上电后 MCU 配置 ADS1299。
注意事项:
- 时钟走线尽量短且使用 50Ω 控制走线(当频率较高时),在过孔处使用阻抗控制或系列终端电阻(33Ω\~75Ω 视频率而定)以避免反射。
- 时钟电源去耦要求高:在时钟芯片 VCC 旁放高品质 0.1µF、10nF 以及 4.7µF 去耦;增加地回流面。
3) ADS1299 与模拟前端改动(以支持更高采样率)
目标:在更高采样率下依然保持输入带宽、噪声控制与稳定采样。
建议改动:
-
重新评估输入前置滤波(抗混叠滤波)
- 将当前的 RC 或主动低通滤波器的截止频率 fc 提高到 ≥ 0.5 × 采样率(或根据奈奎斯特留出裕度)——但一般 ADC 需要抗混叠滤波略低于 Nyquist。比如目标采样率 2kHz,则滤波器带宽可设为 700–900Hz(视实验而定)。
- 类型:建议二阶或四阶主动低通(Sallen-Key 或多级运放),当采样率高时使用低噪声高速放大器。
-
运放/缓冲器升级
-
若你把采样率提高到 1kHz 以上,前端缓冲需要更高带宽与更低失真:
- 推荐器件:OPA333 不够(低速),可考虑 OPA211, OPA2188, AD8628, ADA4528(视预算),选项需满足:GBW 足够≥几十 MHz、低噪声、低失真、低失调。
- 保持输入保护(二极/电阻)与共模抑制设计。
-
-
输入和 PGA 设置
- 如果 PCB 原来固定了某些电阻或引脚映射(Rg、Rf),做成可选贴片电阻位/焊跳会更灵活,便于在不同采样率/输入带宽下调整增益与滤波。
- 在 PCB 留出 ADS1299 的 RESET、PWRDN、CLKIN 引脚的可接触测试点与跳线位置。
-
增加差分/共模接地与参考布局
- 清晰划分模拟地(AGND)和数字地(DGND),并在电源入口处做星点连接(或用单点过孔)。
- ADS1299 的 REF 和 Bias 回路放置靠近芯片,留出调谐电容/可调参考点(trimmer)以便实验时调整 DC 偏置。
4) 电源与地(关键以保证高采样率下稳定)
-
低噪声 LDO
- 为模数混合/模拟电路用单独 LDO (e.g., TPS7A2x 或 LT1763 或 ADP151 等低噪声型号),数字电路用另一组 LDO/转换器。
- 每个关键块(ADS1299 模拟 VREF、PGA、模拟 LDO)附近放置去耦网络:0.1µF、1nF、10µF(陶瓷+钽或有机电容)。
-
电源平面与去耦
- 使用完整的电源平面;对地平面做大量过孔(via stitching)以降低阻抗。
- 对高频时钟线加地回流槽(ground pour)保持地连续性。
-
USB/SD/Wi-Fi 模块电源
- 如果加入 SD 或 Wi-Fi,给它们独立电源域并做好隔离(滤波),避免写入时数字噪声污染模拟地。
5) 数据储存与传输子系统(替代蓝牙)
你说“不用蓝牙”,推荐优先顺序:
-
高速 SD 卡接口(UHS 或至少高速模式)
- PCB 留出 microSD 插座并使用高速 SPI 或 SDIO 接口(若 MCU 支持 SDIO,更好),确保写入稳定在目标采样率。
- 添加写缓冲指示灯与电源旁路滤波。
-
USB 2.0 / USB-CDC(用于大带宽实时传输到 PC)
- 如果想要把高采样率数据通过有线传输,设计 USB2.0 D+/D- 差分走线(90Ω 差分),在 PCB 布局阶段严格控制阻抗。
-
以太网或 Wi-Fi(模块或外接插座)
- 若需要网络传输,可给 PCB 预留模块插槽(ESP32-WROVER 或 Wiznet W5500)或通过 20pin header 连接外部模块。
6) PCB 物理布局 / 制造建议(以支持高采样率与模拟完整性)
- 层数:最少 4 层(Top: 信号/Analog, Inner1: GND plane, Inner2: Power plane, Bottom: Signal/Digital)。更佳是 6 层以更好隔离高速信号与地。
- 阻抗控制:对时钟与 USB 差分线使用 50Ω 单端 / 90Ω 差分控制;告诉 PCB 厂商所需堆栈并指定介质厚度。
- 走线长度:ADS1299 到时钟源、到 MCU 的关键信号尽量短(<= 15 mm 若可行)。
- 地分割:把模拟地和数字地分割,但在单一切入点短接(star)。
- Via stitching:在模拟地与高速地边界使用 via stitch,特别是时钟回路周围。
- 输入保护:在每个电极输入加入 TVS 或低容抗 ESD 二极管,以及串联 100Ω\~1kΩ 的输入电阻以抑制峰值电流。
- 测试点:为关键信号(MCLK, SPI, SCLK, DRDY, RST, VREF, BIAS)设置探针测试点,以便实验验证。
7) 可配置硬件选项(便于后续切换)
在 PCB 上保留/加入:
- 焊盘或 SMD 焊跳以切断/连接滤波器 / 增益电阻 / 反馈网络;
- 3-position jumper(板载时钟 / 可编程时钟 / 外部时钟);
- I²C 总线 pull-ups 可焊或可移除(用贴片焊跳控制);
- microSD + SD Card detect & write protect 引脚(测试用 LED);
- 外接模块接口(2×7 或 2×10 header)以挂载 Wi-Fi/以太网模块或 FPGA/更大 MCU;
- 热插拔保护(若需要在插入时不重启系统)。
8) 器件与参考清单(BOM 建议)
- 可编程时钟:Si5351A 或 Si5338(视预算)
- 低噪声 LDO(模拟):TPS7A4901 / LT3042 / ADP151
- 低噪声运放(模拟前端):OPA211 / ADA4528 / AD8628(根据功耗及带宽)
- ADS1299(不变)
- microSD 插座(全金属外壳,UHS 合规)
- USB2.0 Type-C 或 Micro-B 接口(需按差分线规则走线)
- 适配器/跳线:0Ω 焊桥 × 若干、2/3 position jumper × 1\~2
- ESD 保护:SMBJ/SMF 或小体积 TVS(按输入通道数布局)
- 连接器:Daisy connector footprint 保留(如果需要兼容 Daisy)
9) 固件/使用流程(如何“非实时”切换采样率)
- MCU 启动时读取某些硬件选择(例如:检测跳线/读取 I²C 时钟芯片配置 / 外部时钟存在与否)。
- 如果使用 Si5351:MCU 根据板上配置(e.g., 3-position jumper 或 config header)写入 Si5351 配置,生成所需 MCLK 频率。
- MCU 等待时钟稳定(数 ms),然后写入 ADS1299 寄存器(CONFIG1/DRATE 等)使 ADC 以对应采样率工作。
- 启动采样/将数据写入 SD 或通过 USB/以太网导出。
说明:这个流程是“非实时”切换的典型实现——在上电或重启序列中切换采样率;若需在不中断采样的情况下切换,需在固件层面做更复杂的停采/同步/重写寄存器流程,并注意数据完整性。
10) 验证与测试计划(PCB 下线后的实验步骤)
-
静态检查
- Continuity、开路、短路测试(尤其时钟电源与 GND)。
-
时钟验证
- 用示波器在 MCLK 输出测量频率、占空比、抖动(jitter)。在不同跳线/Si5351配置下测试每个档位。
-
ADS1299 配置验证
- MCU 写入寄存器后,读取状态寄存器确认生效;用 DRDY 与数据流监测是否按预期速率输出样本。
-
噪声与带宽测试
- 在已知阻抗或短接输入下测量 RMS 噪声;对比不同采样率下的噪声谱(FFT),确认无异常高频噪声或地回路噪声。
-
数据写入吞吐
- 在目标采样率下把数据写入 SD 或通过 USB 传输,确认写入无丢帧、无数据错位(use pattern injection test)。
-
长期稳定性
- 24–72 小时导出,观察漂移与热点问题(温度),确认电源稳定。
11) 额外可选功能(提升可用性)
- 加一个小型 OLED/LED + 按键界面选择采样率档位(MCU 切换 Si5351 并重新配置 ADS1299,需先停采再重启采样)——可把“非实时切换”变得更方便(虽然需要短暂停采)。
- 在 PCB 上增加温度传感器以记录数据和温漂校正。
- 预留 FPGA footprint(如小型 Spartan/ICE40)用于极高带宽的本地缓存或实时压缩(如果目标采样率和通道数极高,SD 写入可能成瓶颈)。
快速实施优先级(按难易与收益排序)
- 在现有板上增加外部时钟输入 + 烙铁可选的焊跳(最低成本、最低改动)
- 在 PCB 加入 Si5351(或同类) + I²C 接口,并在固件加上启动时初始化代码(中等改动,高收益)
- 升级电源与模拟运放、调整前端滤波(需要仿真/试验,工时较多,但对高采样率信号质量至关重要)
- 增加 SDU/USB 高速路径与差分阻抗控制(如果要传输大带宽数据,务必做)
我可以帮你做的下一步(选其一)
- A. 把上面设计方案转成修改版原理图清单(关键电路与器件型号),包括 Si5351 接口电路、外部时钟选择电路、SD 卡接线示意与 LDO 拓扑。
- B. 输出具体 PCB 布局检查清单(可直接给给 PCB 布局工程师的 20 条硬性要求,包括阻抗、via stitch 点、测试点位置、layer stackup 等)。
- C. 给你一套验证脚本 / 测试流程(步骤 & 示波器/逻辑分析仪测量点),方便你下板后快速验收。
告诉我你要哪一份(A/B/C 或 全部),我马上把对应内容细化成可执行清单。
发表回复