自制 SoM(系統(tǒng)模塊)

模塊化方法
在本文中,解釋了什么是 SoM(System-on-Module,系統(tǒng)模塊),以及它在嵌入式設(shè)計(jì)中的作用。分享一款 SoM,并說明它如何在資源和時(shí)間有限的情況下,幫助解決一個(gè)持續(xù)性工程問題。
討論主題
如何創(chuàng)建自己的 SoM?
為什么要自制 SoM?
在構(gòu)建 SoM 時(shí)需要注意什么?
涉及技術(shù): ESP32-C3-MINI-1-N4
提到的公司: Espressif Systems(樂鑫科技)
集成電路與 SoM 的理念
集成電路(IC)的發(fā)明極大地簡化并加快了電路設(shè)計(jì)的過程。過去工程師需要從零開始設(shè)計(jì)子系統(tǒng)或電路功能,而現(xiàn)在只需購買相應(yīng)的 IC 即可。例如:
集成了 MOSFET 和驅(qū)動器的 H 橋;
完整的 LED 驅(qū)動器;
降壓穩(wěn)壓器系統(tǒng)。
然而,隨著產(chǎn)品體積不斷縮小、上市周期越來越短,設(shè)計(jì)師該如何跟上?一種可能的解決方案就是 SoM(系統(tǒng)模塊)。它和 IC 的理念相似,但不同的是,IC 是通過半導(dǎo)體工藝把功能“縮小”封裝,而 SoM 則是使用 離散元件 把復(fù)雜功能集成到一個(gè)小型 PCB 上。
這樣,你只需要一次性解決復(fù)雜的電路細(xì)節(jié),之后就可以反復(fù)復(fù)用該 SoM,而不用在每次新設(shè)計(jì)中重新布板。
Xilinx 對 SoM 的定義
“系統(tǒng)模塊(SoM)在單一、可量產(chǎn)的印刷電路板(PCB)上,提供嵌入式處理系統(tǒng)的核心組件,包括處理器核心、通信接口和存儲模塊。”【1】
這是一個(gè)相當(dāng)穩(wěn)妥的定義。但我認(rèn)為 SoM 不必局限于嵌入式處理系統(tǒng),它也可以是模擬濾波器系統(tǒng)、電源系統(tǒng)等等。雖然嵌入式處理是最常見的應(yīng)用場景,但 SoM 的潛力遠(yuǎn)不止于此。
為什么 SoM 比 IC 更強(qiáng)大?
IC 受到半導(dǎo)體工藝的限制,而 SoM 則可以使用市面上的任何元件(最好是小型封裝),甚至可以在一個(gè) SoM 中組合多個(gè)復(fù)雜 IC,從而實(shí)現(xiàn)更強(qiáng)大的系統(tǒng)功能。
SoM 的示例
Raspberry Pi Pico 與 STM32 Nucleo
無論制造商是否有意,它們都可作為 SoM 使用(見圖 1 和圖 2)。
圖 1 Raspberry Pi Pico 開發(fā)板可以作為獨(dú)立組件使用。它包含了 MCU 所需的全部嵌入式元件,因此本質(zhì)上就是一個(gè) SoM【2】。
圖 2 STM32 Nucleo 開發(fā)板也能作為 SoM 使用。但它的可用性不如 Pico,因?yàn)樗?PCB 的正反兩面都有元件【3】。
ESP32-C3-MINI-1-N4
這是一個(gè)更加典型的量產(chǎn) SoM(見圖 3 和圖 4)。
圖 3 ESP32-C3-MINI-1 模塊,隨時(shí)可用于下一個(gè)項(xiàng)目【4】。
圖 4 ESP32-C3-MINI-1-N4 的框圖。它和 Pico、Nucleo 一樣,具備完整的運(yùn)行環(huán)境,甚至還集成了天線【5】。
它的硬件封裝統(tǒng)一,可移植、易于修改,且體積小,內(nèi)部超過 20 個(gè)元件。樂鑫科技能大規(guī)模生產(chǎn)該模塊,使其單價(jià)低于 2 美元。如果工程師從零設(shè)計(jì)相同功能,將會消耗更多 PCB 面積和時(shí)間。
BMR4640002/001 DC-DC 轉(zhuǎn)換模塊(Flex Power Modules)
這是一個(gè)小型的 DC-DC 轉(zhuǎn)換器,可以輸出高達(dá) 40A 電流(見圖 5)。所有復(fù)雜的電源電路都已封裝好,設(shè)計(jì)師只需直接使用即可。
圖 5 一種基于 SoM 思想的 DC-DC 轉(zhuǎn)換模塊,電路難點(diǎn)一次性解決,并封裝成可即插即用的形式【6】。

此外,還有無數(shù)類似的例子,比如條碼掃描模塊、RFID 模塊等。
何時(shí)需要自制 SoM?
有時(shí)你在 DigiKey 或 Mouser 等渠道中找不到需要的子電路,可能是因?yàn)樗”?,或者你的設(shè)計(jì)獨(dú)一無二。此時(shí)就需要自制 SoM。
創(chuàng)建 SoM 的步驟
參考現(xiàn)有 SoM 設(shè)計(jì)
我借鑒了 ESP32-S3-WROOM 模塊的設(shè)計(jì),它采用 半鍍孔(castellated holes) 結(jié)構(gòu),使 SoM 能直接焊接到主板上(見圖 6)。
圖 6 PCB 半鍍孔示例(非 ESP32-S3-WROOM),這種結(jié)構(gòu)方便模塊焊接到其他 PCB 上(來源:PCBWay.com)。
確定尺寸與封裝
我參考了 ESP32-S3-WROOM 數(shù)據(jù)手冊,提取了尺寸和封裝信息(見圖 7 和圖 8)。

圖 7 ESP32-S3-WROOM 的物理尺寸,有助于設(shè)計(jì) SoM 的半鍍孔大小與間距。
圖 8 ESP32-S3-WROOM 的封裝及 CAD 導(dǎo)出的 STEP 模型。

定義管腳抽象
為保證可移植性,我與固件工程師設(shè)計(jì)了新的 GPIO 命名規(guī)則(如 Pa2 表示可模擬/數(shù)字輸入輸出引腳,Pd3 表示數(shù)字引腳)。添加必要的外設(shè)
由于 I/O 數(shù)量不足,我們在 I2C 總線上增加了 I/O 擴(kuò)展器,還加入了線性穩(wěn)壓器(5V 轉(zhuǎn) 3.3V)、去耦電容、LED 和晶振。最終的 SoM 見圖 9。
圖 9 公司自制的 SoM,包含近 50 個(gè)元件,部分焊盤為未來預(yù)留功能。

測試與迭代
第一版 SoM 拿到手時(shí)看起來很完美,但存在多個(gè)問題:電源軌遺漏、I2C 絲印錯(cuò)誤、I/O 擴(kuò)展器中斷腳連接錯(cuò)誤、缺少一個(gè) UART 通道等。經(jīng)過修改后,模塊性能良好。
我們還制作了 SoM 映射表(SoM Mapping Chart),用于對照 SoM 引腳名稱、MCU 引腳、功能分配,方便調(diào)試與固件開發(fā)。
創(chuàng)建 SoM 的建議
SoM 可以極大地縮短上市周期,減少 PCB 重復(fù)設(shè)計(jì),并簡化代碼移植。
但它并非萬能方案:若產(chǎn)品空間極小、利潤不足,SoM 可能并不合適。
設(shè)計(jì)時(shí)應(yīng)盡量使用小封裝(如 0402、QFN),保證高密度布線。
建議使用 0.8mm 厚度 PCB 與 ENIG 表面處理。
制作 SoM 映射表非常關(guān)鍵,能節(jié)省大量調(diào)試時(shí)間。
結(jié)論
SoM 并不只是大公司的專利,中小企業(yè)同樣能通過自制 SoM 快速進(jìn)入市場,降低供應(yīng)鏈風(fēng)險(xiǎn),避免重復(fù)設(shè)計(jì) MCU 子電路。
圖 10 公司自制 SoM 的框圖。所有元件均選用通用器件,以便在未來項(xiàng)目中復(fù)用。








評論