新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 自制 SoM(系统模块)

自制 SoM(系统模块)

作者:eepw 时间:2025-09-08 来源: 收藏

3af3be62-9679-43a9-89f3-a3df3cbaa16b.png



模块化方法

在本文中,解释了什么是 SoM(System-on-Module,系统模块),以及它在嵌入式设计中的作用。分享一款 SoM,并说明它如何在资源和时间有限的情况下,帮助解决一个持续性工程问题。


讨论主题

  • 如何创建自己的 SoM?

  • 为什么要自制 SoM?

  • 在构建 SoM 时需要注意什么?

涉及技术: ESP32-C3-MINI-1-N4
提到的公司: Espressif Systems(乐鑫科技)


集成电路与 SoM 的理念

集成电路(IC)的发明极大地简化并加快了电路设计的过程。过去工程师需要从零开始设计子系统或电路功能,而现在只需购买相应的 IC 即可。例如:

  • 集成了 MOSFET 和驱动器的 H 桥;

  • 完整的 LED 驱动器;

  • 降压稳压器系统。

然而,随着产品体积不断缩小、上市周期越来越短,设计师该如何跟上?一种可能的解决方案就是 SoM(系统模块)。它和 IC 的理念相似,但不同的是,IC 是通过半导体工艺把功能“缩小”封装,而 SoM 则是使用 离散元件 把复杂功能集成到一个小型 PCB 上。

这样,你只需要一次性解决复杂的电路细节,之后就可以反复复用该 SoM,而不用在每次新设计中重新布板。


Xilinx 对 SoM 的定义

“系统模块(SoM)在单一、可量产的印刷电路板(PCB)上,提供嵌入式处理系统的核心组件,包括处理器核心、通信接口和存储模块。”【1】

这是一个相当稳妥的定义。但我认为 SoM 不必局限于嵌入式处理系统,它也可以是模拟滤波器系统、电源系统等等。虽然嵌入式处理是最常见的应用场景,但 SoM 的潜力远不止于此。


为什么 SoM 比 IC 更强大?

IC 受到半导体工艺的限制,而 SoM 则可以使用市面上的任何元件(最好是小型封装),甚至可以在一个 SoM 中组合多个复杂 IC,从而实现更强大的系统功能。


SoM 的示例

  • Raspberry Pi PicoSTM32 Nucleo
    无论制造商是否有意,它们都可作为 SoM 使用(见图 1 和图 2)。

    3af3be62-9679-43a9-89f3-a3df3cbaa16b.png

图 1 Raspberry Pi Pico 开发板可以作为独立组件使用。它包含了 MCU 所需的全部嵌入式元件,因此本质上就是一个 SoM【2】。

046c911b-4e7b-4205-8569-64186b07c0fc.png 图 2 STM32 Nucleo 开发板也能作为 SoM 使用。但它的可用性不如 Pico,因为它在 PCB 的正反两面都有元件【3】。

  • ESP32-C3-MINI-1-N4
    这是一个更加典型的量产 SoM(见图 3 和图 4)。

    14342426-d134-44e4-8e7c-5335d320ace9.png

图 3 ESP32-C3-MINI-1 模块,随时可用于下一个项目【4】。

7bd2f45b-8eba-44db-a02e-0ce443c5cb91.png图 4 ESP32-C3-MINI-1-N4 的框图。它和 Pico、Nucleo 一样,具备完整的运行环境,甚至还集成了天线【5】。

它的硬件封装统一,可移植、易于修改,且体积小,内部超过 20 个元件。乐鑫科技能大规模生产该模块,使其单价低于 2 美元。如果工程师从零设计相同功能,将会消耗更多 PCB 面积和时间。

  • BMR4640002/001 DC-DC 转换模块(Flex Power Modules)
    这是一个小型的 DC-DC 转换器,可以输出高达 40A 电流(见图 5)。所有复杂的电源电路都已封装好,设计师只需直接使用即可。

图 5 一种基于 SoM 思想的 DC-DC 转换模块,电路难点一次性解决,并封装成可即插即用的形式【6】。

ddac9e47-7a44-411e-ba69-097f18f94d0d.png

此外,还有无数类似的例子,比如条码扫描模块、RFID 模块等。


何时需要自制 SoM?

有时你在 DigiKey 或 Mouser 等渠道中找不到需要的子电路,可能是因为它太小众,或者你的设计独一无二。此时就需要自制 SoM。


创建 SoM 的步骤

  1. 参考现有 SoM 设计
    我借鉴了 ESP32-S3-WROOM 模块的设计,它采用 半镀孔(castellated holes) 结构,使 SoM 能直接焊接到主板上(见图 6)。

    ab90bbfc-f13b-4d25-a864-18e57d0b82fb.png

图 6 PCB 半镀孔示例(非 ESP32-S3-WROOM),这种结构方便模块焊接到其他 PCB 上(来源:PCBWay.com)。

  1. 确定尺寸与封装
    我参考了 ESP32-S3-WROOM 数据手册,提取了尺寸和封装信息(见图 7 和图 8)。

fda9c082-bb81-41a0-8a19-037d3c2f24c9.png

图 7 ESP32-S3-WROOM 的物理尺寸,有助于设计 SoM 的半镀孔大小与间距。
图 8 ESP32-S3-WROOM 的封装及 CAD 导出的 STEP 模型。

19f489d2-7738-49af-982d-82f8d7bd7da0.png

  1. 定义管脚抽象
    为保证可移植性,我与固件工程师设计了新的 GPIO 命名规则(如 Pa2 表示可模拟/数字输入输出引脚,Pd3 表示数字引脚)。

  2. 添加必要的外设
    由于 I/O 数量不足,我们在 I2C 总线上增加了 I/O 扩展器,还加入了线性稳压器(5V 转 3.3V)、去耦电容、LED 和晶振。最终的 SoM 见图 9。

图 9 公司自制的 SoM,包含近 50 个元件,部分焊盘为未来预留功能。

177ee647-d03a-4629-98ca-aa7b58a631d5.png


测试与迭代

第一版 SoM 拿到手时看起来很完美,但存在多个问题:电源轨遗漏、I2C 丝印错误、I/O 扩展器中断脚连接错误、缺少一个 UART 通道等。经过修改后,模块性能良好。

我们还制作了 SoM 映射表(SoM Mapping Chart),用于对照 SoM 引脚名称、MCU 引脚、功能分配,方便调试与固件开发。


创建 SoM 的建议

  • SoM 可以极大地缩短上市周期,减少 PCB 重复设计,并简化代码移植。

  • 但它并非万能方案:若产品空间极小、利润不足,SoM 可能并不合适。

  • 设计时应尽量使用小封装(如 0402、QFN),保证高密度布线。

  • 建议使用 0.8mm 厚度 PCB 与 ENIG 表面处理。

  • 制作 SoM 映射表非常关键,能节省大量调试时间。


结论

SoM 并不只是大公司的专利,中小企业同样能通过自制 SoM 快速进入市场,降低供应链风险,避免重复设计 MCU 子电路。

图 10 公司自制 SoM 的框图。所有元件均选用通用器件,以便在未来项目中复用。

fce90ec5-7e07-4409-8f42-51bc093b3ad9.png


关键词: 硬件设计

评论


相关推荐

技术专区

关闭