Part 01 前言
車身控制器英文名字叫Body Control Module,也就是BCM,這玩意是汽車電子系統中的核心電子控制單元ECU,它負責管理和協調車輛的多種車身功能。它通過CAN以及LIN總線與車輛各部件通信,接收傳感器信號并控制執行器。典型的車身控制器功能包括燈光控制,主要負責管理車內外照明,包括前大燈、尾燈、轉向燈、氛圍燈等。車窗與車門控制,比如說控制電動車窗升降、車門鎖閉、中央門鎖及防夾功能。雨刮與洗滌功能,比如調節雨刮速度、控制噴水清洗系統。當然還有比較時髦的功能像無鑰匙進入與啟動,IMMO防盜報警、電子轉向鎖及安全開門輔助功能等等, BCM通常安裝在儀表板后方或座椅下方,目前隨著汽車電子架構從分布式向域控架構以及區域架構演進,車身域控制器逐漸取代傳統BCM。目前大的趨勢來說域控制器以后會逐漸取代傳統的車身控制器,目前的車身控制器也越來越智能化,以前的車身控制器你會看到比較多的保險絲以及繼電器,現在的車身控制器則是逐漸在削減保險絲以及繼電器的數量,那保險絲以及繼電器被什么取代了呢?那就是智能芯片。這篇文章就帶你手把手設計一個微縮版車身控制器,采用6層板PCB設計。包含原理設計以及PCB設計,當然最終是實現驅動兩個小車燈,可以通過硬線開關和CAN線兩種方式來控制車燈開或者關。
Part 02 原理設計
1.原理設計我們分為電源設計,CAN通信設計,最小系統設計,智能HSD驅動設計,硬線數字信號采樣設計五大部分。
電源設計
車身控制器等汽車電子控制單元ECU的電源模塊設計通常需要滿足汽車電子的嚴苛要求,包括電磁兼容性EMC、瞬態脈沖防護如ISO 7637標準和穩定性。典型構成包括“電容ESD防護 + TVS脈沖防護(應對7637脈沖) + 電容濾波 + SBC。
電容ESD防護作用是在電源輸入端添加電容,用于抑制靜電放電ESD干擾,保護后續電路免受高電壓尖峰的損害。瞬態抑制二極管TVS用于吸收ISO 7637標準定義的瞬態脈沖如負載突降、開關瞬態等,保護ECU免受高能量脈沖損壞。電容濾波的作用是平滑電源輸入端的紋波,濾除高頻噪聲,提供穩定的直流電源。大容量電解電容用于低頻濾波,小容量陶瓷電容用于高頻噪聲抑制。SBC是汽車ECU電源管理的核心,集成了穩壓器、看門狗、CAN/LIN收發器等功能,為MCU和其他模塊提供穩定電源,同時還能監控MCU的運行時序,避免軟件跑飛后系統亂搞一通。
所以我們可以選用SBC UJA1169來作為電源的核心芯片,來實現給MCU供電以及作為CAN的收發器控制,這樣也解決了CAN通信設計,當然UJA1169內部還集成了硬件看門狗。
最小系統設計
目前車規領域的主流MCU廠家有NXP,瑞薩,英飛凌,TI,ST,NXP的S32系列如S32K、S32G、S32Z/E,基于Arm Cortex-M/A/R架構,支持車身控制、網關、動力系統和ADAS。我們的微縮版車身控制器不需要太高端的MCU,選用FS32K116LAT0MLFT即可,這款MCU是ARM 架構微控制器,屬于 Arm Cortex-M0+,最高主頻是48 MHz,具有128 Kb Flash,CAN FD,FlexIO,CSEc安全,封裝是LQFP48。
智能HSD驅動設計
目前集成MOS的智能驅動芯片可以分為三大類,HSD,LSD,H橋驅動芯片,這些芯片內部集成了MOS,適用小電流驅動場景,廣泛應用于汽車電子系統中,用于驅動負載如繼電器、燈泡、電機等。它集成了 MultiSense 模擬反饋功能,可提供負載電流、電壓和溫度的實時診斷信息,符合AEC-Q100車規標準,我們可以選用VND7020AJTR ,它具有兩個輸出通道,每個通道可以驅動1個20W的燈泡,進而與車規 MCU配合使用,MCU 通過GPIO輸出5V邏輯信號到 IN1/IN2 引腳,控制高側開關。MCU 的 ADC 讀取 MultiSense引腳的模擬信號,監控負載狀態。通過 CAN/LIN 總線將診斷數據傳輸到車身域控制器。
硬線數字信號采樣設計
硬線數字信號采樣設計可以分為兩部分,一部分是通過三極管實現上拉電源可控開關設計,另外一部分是輸入信號電平轉換部分,為什么要通過三極管實現上拉電源可控開關設計呢?這樣我們在ECU系統睡眠后可以斷開三極管,降低功耗,輸入信號電平轉換部分要考慮ESD防護,可以用陶瓷電容實現,注意耐壓要100V。
這樣整個原理設計就完成了:
Part 03 PCB設計
疊層設計
首先我們想要PCB尺寸盡可能小,目標是52mm*45mm,要想在這么小的PCB上放置這么多器件,所以準備選用6層板PCB,選定了層數接下來要考慮的就是疊層設計。疊層設計我們按如下配置設置:
Layer 1 (Top): Signal + Components
Layer 2: Ground Plane (GND)
Layer 3: Power Plane (VBAT, 5V)
Layer 4: Signal
Layer 5: Ground Plane (GND)
Layer 6 (Bottom): Signal + Components
Top用于放置主要元器件(UJA1169A、FS32K116、VND7020等)及高優先級信號布線如 CAN 差分線、HSD 輸出。靠近地平面Layer 2,減少信號環路電感。
Layer 2 是GND層,是完整的地平面,提供低阻抗接地路徑,減少 EMI。為Top層的信號和高電流器件提供參考平面。
Layer 3 Power,可以分割為多個電源區域:VBAT(12V)、5V SBC 輸出給MCU 供電。使用寬銅箔(>2mm)連接電源區域,降低壓降。
Layer 4 Signal層用于次要信號布線如數字 IO、SPI。靠近 Layer 5 的地平面,保持信號完整性。
Layer 5是GND層,是第二個完整地平面,增強屏蔽和接地能力。為 Layer 4 和 Layer 6 的信號提供參考。
Layer 6 Bottom層用于次要元器件如濾波電容、電阻和低速信號布線。適合放置連接器或測試點。
TOP層和BOT層采用2OZ,內層采用1OZ,來實現比較好的散熱能力。
疊層優點是雙地平面Layer 2 和 Layer 5增強 EMC 和信號完整性。電源層Layer 3集中管理 VBAT/5V/3.3V,減少壓降。6層板可以提供足夠的布線空間,適合復雜信號和高電流路徑。
多層板目前國內很多PCB廠家都有在做,我也打過很多樣,整體體驗下來覺得嘉立創的高多層PCB服務是真的很不錯,他們家可以做6 - 32層板,也能做高精密阻抗板,我們今天用到的是6層板設計,所以在嘉立創打樣,問題不大。眾所周知,PCB這玩意不同供應商的生產能力是不一樣的,嘉立創高多層PCB采用LDI激光直接成像線路防焊,相比傳統CCD曝光,LDI提供更高精度的線路和防焊層對齊,支持1:1焊盤與防焊開窗,確保高密度布線如CAN差分線的精度。并且采用了VCP脈沖電鍍技術,通過垂直連續電鍍提升銅層均勻性,適合高電流路徑如VND7020的大電流輸出,降低電阻和熱效應。
布局設計
電源模塊(電容ESD防護 + TVS + 電容濾波 + UJA1169A)
輸入端將電源輸入連接器、TVS、ESD電容(100nF,50V)放置在 PCB 邊緣,靠近 VBAT 輸入。UJA1169A放置在電源輸入下游,靠近濾波電容(陶瓷 +電解),距離 TVS 要近。濾波電容靠近 UJA1169A 的 VBAT 引腳,輸出端去耦電容緊貼芯片。
TVS 焊盤和 UJA1169A 需大面積銅箔和散熱通孔(散熱過孔可采用0.3mm 直徑)。
TVS 和 ESD 電容的地端通過多個通孔(>3 個)連接到 Layer 2 地平面。
CAN 通信模塊(也就是UJA1169A 集成 CAN 收發器),CAN_H/CAN_L 引腳到 CAN 連接器的布線盡量短,放置在 Top 層,參考 Layer 2 地平面。終端電阻(120Ω)和保護電容,ESD二極管靠近 CAN 連接器。共模扼流圈放置在 CAN 信號路徑靠近 UJA1169A 端。CAN 差分線遠離高電流路徑(如 VND7020 輸出)和 PWM 信號(如 HSD 控制)。保持 CAN_H/CAN_L等長,間距一致,避免交叉。
最小系統(FS32K116LAT0MLFT)
MCU FS32K116(LQFP-48 封裝)放置在 PCB 右下角,靠近 UJA1169A 的5V 輸出。每個 VDD 引腳附近放置 100nF 陶瓷電容,放置BOT面,通過過孔和MCU管腳連接,地端連接到 Layer 2 地平面。8MHz晶振靠近 OSC 引腳,周圍無高頻信號干擾,晶振下方保持完整地平面。
智能 HSD VND7020,驅動兩個 20W 燈泡
VND7020:放置在 PCB 邊緣,靠近負載連接器,方便高電流輸出。VND7020的BAT供電走線要寬, 100nF 去耦電容靠近VBAT 引腳。每個通道驅動 20W 燈泡,12V,約 1.67A。MultiSense 引腳連接到 MCU 的 ADC 引腳,布線原理高頻干擾線,加 470pF 濾波電容到地。
HSD的封裝是PowerSSO-16 ,封裝底部散熱墊連接到大面積銅箔,至少 10 個散熱通孔(0.3mm 直徑)到電源。
IN1/IN2 引腳連接到 MCU 的 GPIO,要遠離高電流輸出線。
硬線數字信號采樣
數字輸入信號(如開關狀態)通過 MCU 的 GPIO引腳采樣,輸入連接器放置在 PCB 邊緣,信號線優先走 Layer 4,參考 Layer 5 地平面。數字信號線遠離 CAN 差分線和 HSD 輸出線。
最后PCB的整體布局如下: