自制 SoM(系統模塊)
模塊化方法
在本文中,解釋了什么是 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 Pico 與 STM32 Nucleo
無論制造商是否有意,它們都可作為 SoM 使用(見圖 1 和圖 2)。
圖 1 Raspberry Pi Pico 開發板可以作為獨立組件使用。它包含了 MCU 所需的全部嵌入式元件,因此本質上就是一個 SoM【2】。
圖 2 STM32 Nucleo 開發板也能作為 SoM 使用。但它的可用性不如 Pico,因為它在 PCB 的正反兩面都有元件【3】。
ESP32-C3-MINI-1-N4
這是一個更加典型的量產 SoM(見圖 3 和圖 4)。
圖 3 ESP32-C3-MINI-1 模塊,隨時可用于下一個項目【4】。
圖 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】。
此外,還有無數類似的例子,比如條碼掃描模塊、RFID 模塊等。
何時需要自制 SoM?
有時你在 DigiKey 或 Mouser 等渠道中找不到需要的子電路,可能是因為它太小眾,或者你的設計獨一無二。此時就需要自制 SoM。
創建 SoM 的步驟
參考現有 SoM 設計
我借鑒了 ESP32-S3-WROOM 模塊的設計,它采用 半鍍孔(castellated holes) 結構,使 SoM 能直接焊接到主板上(見圖 6)。
圖 6 PCB 半鍍孔示例(非 ESP32-S3-WROOM),這種結構方便模塊焊接到其他 PCB 上(來源:PCBWay.com)。
確定尺寸與封裝
我參考了 ESP32-S3-WROOM 數據手冊,提取了尺寸和封裝信息(見圖 7 和圖 8)。
圖 7 ESP32-S3-WROOM 的物理尺寸,有助于設計 SoM 的半鍍孔大小與間距。
圖 8 ESP32-S3-WROOM 的封裝及 CAD 導出的 STEP 模型。
定義管腳抽象
為保證可移植性,我與固件工程師設計了新的 GPIO 命名規則(如 Pa2 表示可模擬/數字輸入輸出引腳,Pd3 表示數字引腳)。添加必要的外設
由于 I/O 數量不足,我們在 I2C 總線上增加了 I/O 擴展器,還加入了線性穩壓器(5V 轉 3.3V)、去耦電容、LED 和晶振。最終的 SoM 見圖 9。
圖 9 公司自制的 SoM,包含近 50 個元件,部分焊盤為未來預留功能。
測試與迭代
第一版 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 的框圖。所有元件均選用通用器件,以便在未來項目中復用。
評論