3、电源系统设计:模块供电要求
电源这东西,说简单也简单,说复杂真能坑死人。我刚开始做定位模块时,总觉得供电嘛,电压对、电流够就行了。结果呢?定位精度上不去,搜星慢,甚至模块直接不工作。后来才明白——电源是定位模块的命脉。
这一章,咱们就把电源系统掰开揉碎了讲。核心电压、LDO选型、纹波控制、后备电池、电源时序,一个都不能少。
核心观点:定位模块对电源的敏感度远超你的想象。纹波大一点,灵敏度就掉一截;时序乱一点,模块可能直接死机。
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 布局和去耦电容同样关键。
我总结了几条经验:
- LDO 尽量靠近模块——走线越长,噪声耦合的机会越大。
- 每个电源引脚放一个 0.1μF + 10μF 电容——0.1μF 滤高频,10μF 滤低频。
- 电容地线要短——直接打过孔到地平面,不要绕路。
- 避免电源和射频走线平行——平行走线会形成寄生电容,把噪声耦合到天线。
实测数据:同样的模块,用 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 还没电,内部逻辑可能误触发。
我一般用两种方法解决:
- RC 延时电路——简单便宜,在 1.8V LDO 的使能引脚上加一个 RC 延时,保证 3.3V 稳定后再开启 1.8V。
- 专用电源时序芯片——比如 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% 的时间。别问我怎么知道的——都是踩坑踩出来的。