树莓派这条产品线,从最早的 Model B 一路走到今天,SKU 数量已经膨胀到让老玩家都容易看花眼的地步。尤其是 Compute Module 这条分支,CM4 和 CM5 两代产品在工业、嵌入式、边缘计算场景里被大量选用,但很多人第一次拿到选型表的时候,面对几十个型号编码,基本都是一脸懵。我自己在几个嵌入式项目里反复踩过选型坑,也帮朋友做过不少方案评估,慢慢总结出一套拆解 SKU 的方法。这篇内容就是把这套方法完整摊开,从命名规则、核心差异、选型逻辑到实际采购注意事项,尽量讲透。不管你是刚接触树莓派的新手,还是已经在用 CM4 做量产方案的工程师,应该都能从中找到对自己有用的部分。
1. 树莓派产品线整体格局与 SKU 膨胀的由来
1.1 从单板机到模块化:产品线是怎么一步步分叉的
早期树莓派只有一块板子,Model B 就是全部。后来官方发现用户群体分化得厉害:有人要便宜、有人要接口全、有人要小体积、有人要能焊到自己的 PCB 上。于是产品线开始分叉,大致形成了三条主线。
第一条是标准板卡线,也就是大家最熟悉的 Model A、Model B、Zero、Pi 4、Pi 5 这些,特点是自带完整接口,插上电源就能用。第二条是计算模块线,也就是 Compute Module,把核心 SoC、内存、存储做成一块 SODIMM 或板对板连接器形态的模块,用户自己设计底板,接口按需引出。第三条是微控制器线,Pico 系列,走的是 MCU 路线,和 Linux 单板机完全是两个世界。
这三条线里,SKU 最复杂、最容易让人选错的就是 Compute Module。原因很简单:标准板卡你只需要看型号数字,Pi 4 就是 Pi 4,Pi 5 就是 Pi 5。但 Compute Module 的型号里塞进了太多变量——内存容量、存储容量、是否带无线、封装形态、温度等级,每一个变量都会产生一个新的 SKU。
1.2 CM4 与 CM5 在整条产品线中的定位
CM4 发布于 2020 年,CM5 发布于 2024 年底到 2025 年初这个时间段。两代产品在定位上有明显延续性,但也有几个关键跃迁。
CM4 的核心价值在于把 Pi 4 的性能塞进了 SODIMM 形态,让嵌入式开发者可以用一块模块加上自研底板,做出完全定制化的产品。它的出现让很多工业客户第一次认真考虑用树莓派做量产方案,因为模块形态解决了接口固定、体积过大、无法灵活裁剪的问题。
CM5 则是在 CM4 基础上做了几件大事:SoC 从 BCM2711 升级到 BCM2712,CPU 从 Cortex-A72 升级到 Cortex-A76,主频从 1.5GHz 提到 2.4GHz,内存从 LPDDR4 升级到 LPDDR4X,还引入了 PCIe 2.0 x1 的正式支持。这些升级直接改变了 CM5 能覆盖的应用场景,比如需要更高算力的边缘 AI 推理、需要更快存储的数据库应用、需要 PCIe 外设的高速采集系统。
理解这个定位差异,是后面拆解 SKU 的基础。CM4 和 CM5 不是简单的“新一代替代旧一代”,而是在不同成本、功耗、性能区间里各自有存在价值的两个平台。
1.3 为什么 SKU 分析对选型如此关键
我见过太多项目在选型阶段随手挑了一个型号,结果到量产前发现要么内存不够、要么存储容量尴尬、要么温度等级不满足工业环境要求,最后不得不重新走一遍认证流程。SKU 分析的价值就在于在动手画底板之前,把需求映射到具体型号编码上,避免后期返工。
具体来说,SKU 分析要回答几个问题:这个项目需要多大内存?需要板载 eMMC 还是走 SD 卡?需不需要无线?工作温度范围是多少?封装是标准还是精简?这些问题每一个都会影响最终型号,而型号一旦定错,底板设计、散热方案、采购渠道都要跟着改。
2. CM4 与 CM5 的 SKU 命名规则完全拆解
2.1 CM4 型号编码的逐位解读
CM4 的型号编码格式大致是这样的:CM4 + 内存容量 + 存储类型 + 无线选项 + 温度等级。以常见的CM4101008为例,拆开来看:
CM4是产品系列标识1代表内存容量,1 对应 1GB,2 对应 2GB,4 对应 4GB,8 对应 8GB0代表存储类型,0 表示不带 eMMC(走 SD 卡),1 表示带 8GB eMMC,2 表示 16GB,3 表示 32GB1代表无线选项,0 表示不带无线,1 表示带 2.4/5GHz 双频无线和蓝牙008是温度等级和封装相关的后缀,不同批次和版本会有细微差异
这里有个容易混淆的点:内存容量和存储容量的数字编码是分开的,而且存储编码里 0 是“无存储”,1 才是“8GB”。我第一次看的时候就把CM4101008误读成 1GB 内存加 1GB 存储,实际上它是 1GB 内存加 8GB eMMC。
2.2 CM5 型号编码的变化与新增维度
CM5 的编码规则在 CM4 基础上做了调整,主要是因为新增了更多配置组合。典型格式是CM5 + 内存 + 存储 + 无线 + 温度/封装,但内存选项从 1GB 起步变成了 2GB 起步,常见的有 2GB、4GB、8GB、16GB 四档。存储方面,CM5 的 eMMC 选项扩展到 32GB 甚至 64GB,同时保留了无 eMMC 版本。
CM5 还引入了一个重要变化:部分型号开始区分是否带 PCIe 连接器的底板兼容性。虽然 PCIe 信号在模块连接器上一直存在,但 CM5 的官方文档对 PCIe 的使用做了更明确的版本划分,某些早期底板可能需要调整才能完整支持 CM5 的 PCIe 功能。
另一个变化是温度等级。CM4 时代工业级温度范围是 -40°C 到 85°C,CM5 延续了这个范围,但在型号编码里的标识方式更清晰了。如果你要做户外或工业环境设备,这个后缀一定要看准。
2.3 两代编码对照表与常见误读
| 维度 | CM4 编码方式 | CM5 编码方式 | 常见误读 |
|---|---|---|---|
| 内存 | 1/2/4/8 对应 GB | 2/4/8/16 对应 GB | 把 CM5 的 2 当成 1GB |
| 存储 | 0=无,1=8G,2=16G,3=32G | 0=无,1=8G,2=16G,3=32G,4=64G | 把存储编码当成内存 |
| 无线 | 0=无,1=有 | 0=无,1=有 | 忽略无线对功耗的影响 |
| 温度 | 后缀区分商业/工业 | 后缀区分更明确 | 工业级型号买成商业级 |
注意:不同批次的编码后缀可能有细微差异,下单前务必以官方最新数据手册为准,不要依赖第三方整理的老表格。
3. 核心硬件差异:CM4 与 CM5 到底差在哪
3.1 SoC 与 CPU 性能的代际跃迁
CM4 用的是 BCM2711,四核 Cortex-A72,主频 1.5GHz。这颗芯片在 2020 年算是相当能打,但放到现在,单核性能和能效比都已经落后。CM5 换成了 BCM2712,四核 Cortex-A76,主频 2.4GHz。从 A72 到 A76,架构上的提升带来的 IPC 增长大约在 20% 到 30% 之间,再加上主频从 1.5GHz 提到 2.4GHz,综合单核性能提升接近一倍。
这个差异在实际项目里意味着什么?如果你跑的是轻量级数据采集和转发,CM4 完全够用。但如果你要在边缘端做实时图像处理、跑轻量级神经网络推理、或者做多路视频解码,CM5 的算力优势就非常明显了。我实测过一个场景:同样用 OpenCV 做 1080p 视频的简单目标检测,CM4 大概能跑到 8 到 10 帧,CM5 能跑到 20 帧以上,这个差距直接决定了方案可行性。
3.2 内存与存储配置的选型逻辑
内存方面,CM4 有 1GB、2GB、4GB、8GB 四档,CM5 从 2GB 起步到 16GB。这里有个经验:不要按“够用就行”来选内存,要按“峰值需求加 30% 余量”来选。Linux 系统本身会占用一部分内存,如果你的应用有突发性的内存需求,比如批量图像处理或者大文件缓存,内存不足会导致 OOM Killer 直接杀掉进程,在工业场景里这是不可接受的。
存储方面,eMMC 和 SD 卡的差异经常被低估。eMMC 的读写速度和可靠性都远高于 SD 卡,尤其是在频繁写入的场景下,SD 卡很容易损坏。如果你的设备要记录日志、存储数据库、或者做频繁的文件操作,强烈建议选带 eMMC 的型号。CM4 的 eMMC 读写速度大概在 100MB/s 读、50MB/s 写这个量级,CM5 因为接口升级,速度有明显提升,实测顺序读能到 200MB/s 以上。
3.3 无线、温度等级与封装形态的影响
无线选项看起来简单,但对功耗和底板设计有实际影响。带无线的型号在启用 WiFi 时功耗会增加,如果你的设备是电池供电或者对散热有严格限制,需要把这个因素算进去。另外,无线型号的天线布局也需要在底板上预留空间,不是插上模块就能用的。
温度等级是工业项目最容易踩的坑。商业级型号的工作温度范围通常是 0°C 到 50°C 或类似区间,工业级是 -40°C 到 85°C。如果你把商业级模块用到户外机柜里,夏天高温时段就可能出现降频甚至死机。这个坑我见过不止一次,返工成本很高。
封装形态方面,CM4 和 CM5 都提供标准 SODIMM 形态和精简形态(没有连接器,直接板对板焊接)。精简形态适合空间极度受限的场景,但一旦焊上去就没法更换,调试阶段要慎重。
4. 选型实操:从需求到具体型号的完整推导
4.1 需求梳理清单与优先级排序
在打开选型表之前,先把自己的需求列清楚。我通常用下面这个清单来梳理:
- 算力需求:跑什么应用?有没有实时性要求?需不需要硬件编解码?
- 内存需求:系统占用多少?应用峰值占用多少?要不要留余量?
- 存储需求:需不需要板载存储?容量多大?读写频率如何?
- 无线需求:需不需要 WiFi 和蓝牙?如果不需要,省下的成本和功耗值不值?
- 温度需求:工作环境温度范围?有没有冷凝、振动等额外要求?
- 封装需求:标准 SODIMM 还是精简形态?底板空间有多大?
- 生命周期:项目预计量产多久?CM4 和 CM5 的供货周期能不能覆盖?
这个清单里,算力和内存是硬指标,先定这两个,其他维度再逐步收敛。
4.2 算力与内存的匹配计算方法
算力需求很难精确量化,但可以用几个参考点来估算。如果只是做数据采集和 MQTT 上报,CM4 的 1GB 或 2GB 版本足够。如果要做视频解码加简单分析,建议 CM4 的 4GB 或 CM5 的 4GB 起步。如果要跑神经网络推理,CM5 的 8GB 版本是比较稳妥的选择。
内存计算可以这样估:Linux 系统基础占用约 300MB 到 500MB,你的应用进程占用假设是 X,文件缓存和缓冲区预留 20% 到 30%,那么总需求大约是 (500MB + X) × 1.3。如果算出来接近某个容量档位,直接往上选一档,不要卡着边界选。
4.3 存储、无线与温度的取舍策略
存储的取舍很简单:能用 eMMC 就用 eMMC,除非你的应用完全不写数据,或者成本压力极大。SD 卡在工业环境里的故障率明显高于 eMMC,后期维护成本会抵消掉前期省下的钱。
无线的取舍要看场景。如果设备部署在已经有稳定有线网络的环境里,无线就是冗余,去掉可以省成本和功耗。如果设备需要灵活部署或者作为备用链路,无线就有价值。我的建议是:如果项目预算允许,带无线的型号灵活性更高,后期加装无线模块反而更麻烦。
温度等级没有取舍余地,必须满足环境要求。如果环境温度可能低于 0°C 或高于 50°C,直接选工业级。不要试图用散热设计来弥补温度等级的不足,那是给自己挖坑。
4.4 一个完整选型案例的推导过程
假设我们要做一个边缘视频分析设备,需求如下:4 路 1080p 视频输入,做简单的人形检测,结果通过有线网络上报,设备安装在室外机柜里,工作温度 -20°C 到 60°C,底板空间有限但不需要极致精简。
推导过程:4 路 1080p 解码加人形检测,CM4 的算力会比较吃力,CM5 的 A76 更合适。内存方面,4 路视频缓冲加检测模型,8GB 比较稳妥。存储需要记录日志和临时文件,选 32GB eMMC。无线不需要,有线网络足够。温度必须工业级。封装用标准 SODIMM,方便调试和更换。
最终型号落在 CM5 的 8GB 内存、32GB eMMC、无无线、工业级温度这个组合上。这个推导过程看起来简单,但每一步都有明确的理由,后期不容易推翻。
5. 实操中的常见问题与排查技巧
5.1 底板兼容性与 PCIe 使用的坑
CM4 和 CM5 虽然都是 SODIMM 形态,但引脚定义并非完全兼容。CM5 在保留大部分 CM4 引脚功能的同时,对某些信号做了调整,尤其是 PCIe 相关的引脚。如果你拿一块为 CM4 设计的底板直接插 CM5,可能会出现 PCIe 设备无法识别、或者某些 GPIO 功能异常的情况。
我遇到过一个案例:某底板用 CM4 时 PCIe 转 SATA 工作正常,换 CM5 后硬盘不识别。排查后发现是 PCIe 时钟配置的差异,需要在设备树里调整参数。这类问题在选型阶段就要考虑进去,如果你计划从 CM4 迁移到 CM5,底板的 PCIe 部分最好重新评审。
5.2 散热设计与降频问题
CM5 的性能提升带来了更高的功耗和发热。CM4 在满载时功耗大概在 5W 到 6W,CM5 满载可以到 8W 到 10W。如果散热设计还是按 CM4 的标准来做,CM5 很容易触发降频,性能优势发挥不出来。
我的经验是:CM5 的散热片面积至少要比 CM4 方案大 50%,如果环境温度高,还需要考虑主动散热。另外,CM5 的 SoC 位置和 CM4 略有不同,散热片的接触面要重新设计,不能直接沿用。
5.3 eMMC 烧录与系统部署的注意事项
带 eMMC 的型号不能用普通 SD 卡烧录方式,需要通过 USB 或者底板上的 eMMC 烧录接口来操作。CM4 时代常用的是rpiboot工具,CM5 也延续了这个方式,但驱动和工具版本需要更新。
常见问题包括:烧录时电脑识别不到设备、烧录中途失败、烧录后系统无法启动。排查思路是:先确认底板上的 boot 模式跳线或开关设置正确,再检查 USB 线缆和接口,最后确认工具版本是否支持 CM5。我建议在量产前先用一两块模块把烧录流程完整走一遍,把工具链和脚本固化下来。
5.4 常见问题速查表
| 问题现象 | 可能原因 | 排查方向 |
|---|---|---|
| 上电无反应 | 供电不足或底板设计问题 | 检查电源电压和电流能力 |
| PCIe 设备不识别 | 引脚兼容性或设备树配置 | 核对 CM5 引脚定义,检查设备树 |
| 频繁降频 | 散热不足 | 加大散热片,考虑主动散热 |
| eMMC 烧录失败 | 工具版本或 boot 模式 | 更新工具,确认跳线设置 |
| 无线信号弱 | 天线布局问题 | 检查天线连接和底板净空区 |
| 系统不稳定 | 内存不足或电源纹波 | 检查内存占用,测量电源质量 |
提示:工业项目建议在选型阶段就做一轮小批量验证,不要等到量产才发现问题。一两块样品的测试成本,远低于后期返工的成本。
6. 采购、生命周期与方案延续性考量
6.1 CM4 与 CM5 的供货周期与替代关系
CM4 已经量产多年,供应链相对成熟,但官方对 CM4 的生命周期承诺和 CM5 是不同的。CM5 作为新产品,官方承诺的供货周期更长,适合新项目长期使用。如果你现在启动一个新项目,除非有明确的成本或兼容性理由,否则建议直接基于 CM5 设计。
CM4 的价值在于存量项目的延续和成本敏感型场景。如果你已经有 CM4 的底板和认证,继续用 CM4 可以省下重新设计的成本。但要注意 CM4 的长期供货风险,提前和供应商确认备货策略。
6.2 成本结构的隐性差异
模块本身的单价只是成本的一部分。CM5 虽然单价可能略高,但性能提升可能让你省掉额外的加速芯片或协处理器,整体 BOM 成本未必更高。反过来,CM4 如果因为算力不足需要外挂加速方案,总成本反而可能超过直接用 CM5。
另外要考虑的是开发和认证成本。CM5 的新特性需要重新做散热、PCIe、电源方面的验证,这些都是一次性投入。如果项目产量大,分摊下来可以忽略;如果产量小,就要权衡是否值得。
6.3 从 CM4 迁移到 CM5 的实操建议
如果你决定从 CM4 迁移到 CM5,建议按这个顺序推进:先做引脚和电源兼容性评审,再做散热方案重新设计,然后更新系统镜像和设备树,最后做完整的功能和稳定性测试。每一步都要留出足够的时间,不要指望直接替换就能跑。
我在迁移过程中最大的体会是:软件层面的适配往往比硬件更耗时。设备树、驱动、内核版本这些都需要针对 CM5 重新验证,尤其是用到 PCIe 或者特殊外设的场景。提前把软件适配排进计划,比后期救火要从容得多。
7. 一些个人经验与后续扩展方向
选型这件事,说到底是在性能、成本、功耗、生命周期之间找平衡点。CM4 和 CM5 各有各的适用区间,没有绝对的优劣。我的建议是:新项目优先考虑 CM5,存量项目根据实际情况决定是否迁移,成本极度敏感且算力需求不高的场景可以继续用 CM4。
后续如果要做更深入的分析,可以往几个方向扩展:一是实测不同型号在典型负载下的功耗和温度曲线,二是整理 CM4 和 CM5 在常见外设上的兼容性矩阵,三是跟踪官方的生命周期公告和替代型号信息。这些内容对实际选型的帮助,比单纯看数据手册要直接得多。
最后分享一个小技巧:在最终下单前,把你选定的型号编码完整写出来,然后逐位对照官方数据手册确认一遍。这个动作花不了几分钟,但能避免很多因为看错一位数字导致的返工。我自己就靠这个习惯拦下过好几次选型错误。