3、电源系统设计:模块供电要求

电源这东西,说简单也简单,说复杂真能坑死人。我刚开始做定位模块时,总觉得供电嘛,电压对、电流够就行了。结果呢?定位精度上不去,搜星慢,甚至模块直接不工作。后来才明白——电源是定位模块的命脉。

这一章,咱们就把电源系统掰开揉碎了讲。核心电压、LDO选型、纹波控制、后备电池、电源时序,一个都不能少。

核心观点:定位模块对电源的敏感度远超你的想象。纹波大一点,灵敏度就掉一截;时序乱一点,模块可能直接死机。

定位模块电源系统架构 主电源输入 (5V/3.7V) LDO 3.3V (主供电) LDO 1.8V (核心电压) GNSS 射频/数字模块 基带/核心逻辑 后备电池 (RTC + 星历) 关键点:3.3V 给射频和 IO,1.8V 给核心逻辑,后备电池保持 RTC 和星历不丢失

3.1 模块供电要求:1.8V 和 3.3V 到底给谁用?

大部分定位模块,比如 u-blox 的 NEO 系列、中科微的 ATGM336H,内部都分两个电压域:

  • 3.3V(或 3.0V)——给射频前端、LNA、IO 接口供电。电流不大,一般 30~80mA。
  • 1.8V(或 1.2V)——给数字核心、基带处理、SRAM 供电。这个才是耗电大户,搜星时能到 100mA 以上。

我见过有人直接把 3.3V 接到 1.8V 引脚上,结果模块冒烟了。嗯,这个真不能搞错。

我的习惯:设计 PCB 时,先把模块的 datasheet 翻到电源引脚那一页,用荧光笔标出每个引脚的电压要求。别凭经验猜,不同批次、不同厂家的模块,电压可能不一样。

3.2 LDO 选型与纹波控制

定位模块对纹波极其敏感。为什么?射频前端对电源噪声几乎没有抑制能力。你想想看,电源上有个 10mV 的纹波,到了天线端可能就被放大成干扰信号了。

我个人习惯用 低噪声 LDO,而不是 DC-DC。DC-DC 效率高,但开关噪声太难搞干净了。LDO 虽然效率低一点,但纹波能做到 10μV 级别。

参数 推荐值 说明
输出噪声 < 30μVrms 10Hz~100kHz 积分噪声
PSRR > 60dB @ 1kHz 电源纹波抑制比,越高越好
压差 < 300mV 保证电池低压时仍能工作
输出电容 1~10μF 陶瓷电容,ESR 要低

常用的 LDO 型号,我列几个自己用过的:

  • XC6206P332MR——3.3V 输出,150mA,噪声 30μVrms,便宜又好买。
  • RT9013-18GB——1.8V 输出,500mA,PSRR 高达 70dB,适合核心供电。
  • LP5907——超低噪声 10μVrms,适合对噪声最敏感的射频部分。

注意:LDO 的输入输出电容不能省。我曾经为了省空间,把输出电容从 1μF 减到 0.1μF,结果模块在冷启动时反复重启。加上电容就好了。

3.3 纹波控制:不只是 LDO 的事

LDO 选好了,纹波就一定能控制住吗?不一定。PCB 布局和去耦电容同样关键。

我总结了几条经验:

  1. LDO 尽量靠近模块——走线越长,噪声耦合的机会越大。
  2. 每个电源引脚放一个 0.1μF + 10μF 电容——0.1μF 滤高频,10μF 滤低频。
  3. 电容地线要短——直接打过孔到地平面,不要绕路。
  4. 避免电源和射频走线平行——平行走线会形成寄生电容,把噪声耦合到天线。

实测数据:同样的模块,用 DC-DC 供电时,定位精度约 2.5 米;换成低噪声 LDO 后,精度提升到 1.8 米。纹波从 50mV 降到 5mV,效果立竿见影。

3.4 后备电池:RTC 与星历保持

定位模块有个特点——冷启动很慢。第一次搜星可能要 30 秒甚至 1 分钟。但如果模块有后备电池,保持 RTC(实时时钟)和星历数据,热启动只需要 1~2 秒。

后备电池的要求其实不高:

  • 电压:1.8V ~ 3.6V 都可以,模块内部有稳压。
  • 电流:RTC 保持电流通常只有 10~50μA,一颗 CR1220 纽扣电池能用好几年。
  • 容量:建议 40mAh 以上,保证断电后能保持至少 30 天。

我遇到过一个问题:客户反馈模块每次断电后都要冷启动,定位很慢。查了半天,发现是后备电池的串联电阻太大,电压被拉低了。换了个电池座就好了。

避坑指南:后备电池电路一定要加一个串联电阻(100Ω~1kΩ)和二极管,防止主电源给电池充电。锂纽扣电池不能充电,会爆炸的。

3.5 电源时序管理

这个知识点容易被忽略,但很重要。很多定位模块要求 3.3V 先上电,1.8V 后上电,或者反过来。时序错了,模块可能进入未知状态,甚至锁死。

为什么会这样?因为模块内部的 IO 缓冲区和核心逻辑有依赖关系。如果核心先上电,IO 还没电,内部逻辑可能误触发。

我一般用两种方法解决:

  1. RC 延时电路——简单便宜,在 1.8V LDO 的使能引脚上加一个 RC 延时,保证 3.3V 稳定后再开启 1.8V。
  2. 专用电源时序芯片——比如 TPS3808,可以精确控制上电顺序,适合量产产品。
// 简单的 RC 延时计算
// 假设 R = 100kΩ, C = 1μF
// 时间常数 τ = R * C = 0.1 秒
// 3τ 后电压达到 95%,约 0.3 秒延时
// 这个延时足够让 3.3V 先稳定了

重要:上电时序不满足时,模块可能表现为:不搜星、电流异常大、或者反复重启。如果你遇到这些现象,先检查电源时序。

3.6 实战电路参考

下面是一个我常用的电源电路结构,供你参考:

主电源 (5V)
    │
    ├──→ LDO 3.3V (XC6206P332MR)
    │       │
    │       ├──→ 模块 VCC (3.3V)
    │       ├──→ 模块 V_IO (3.3V)
    │       └──→ 10μF + 0.1μF 去耦
    │
    ├──→ LDO 1.8V (RT9013-18GB)
    │       │
    │       ├──→ 模块 V_CORE (1.8V)
    │       └──→ 10μF + 0.1μF 去耦
    │
    └──→ 后备电池 (CR1220)
            │
            ├──→ 100Ω 限流电阻
            ├──→ 二极管 (1N4148)
            └──→ 模块 V_BCKP (1.8V~3.6V)

这个电路我用了好几个项目,没出过问题。当然,具体电容值、LDO 型号要根据你的模块 datasheet 微调。

最后说一句:电源设计是定位模块稳定工作的基础。花 80% 的精力把电源做好,后面调试定位性能会省 80% 的时间。别问我怎么知道的——都是踩坑踩出来的。