安全防護升級!ESP32-S2內部電路改版解析

作者:陸向陽

上海樂鑫信息(Espressif)在2014年推出的ESP8266 Wi-Fi晶片,因為晶片模組化、板卡化的零售價僅5美元,在雙北吃一餐飯再配個飲料大概就這個錢,便宜到讓人不可思議,加上可以與Arduino系統板連接,或使用Arduino IDE整合開發環境等,瞬間在創客界爆紅!

樂鑫之後趁勝追擊,在2016年推出ESP8266的後續晶片ESP32,ESP32同時具備Wi-Fi與Bluetooth通訊能力,較ESP8266的純Wi-Fi通訊更佳,其他各方面也多所強化。

2019年樂鑫再針對ESP32晶片的安全防護能力進行強化,成為ESP32-S系列晶片,2020年2月底,樂鑫再推出S系列的新版晶片,即ESP32-S2(2019年9月即預告,2020年2月底正式供貨,工程樣品2019年6月即已提供)。

強化安全防護能力的ESP32-S2(Source

表面上ESP32-S與ESP32-S2只有一個數字之別,但晶片內部卻有大程度的翻動,到底有哪些變化?本文以下將對此討論。

ESP32-S2內部功能方塊圖(source

ESP32編號規則

無論是ESP32-S、ESP32-S2其實都只是泛稱,ESP32晶片有其編號規則,除了開頭必然是ESP32外,之後搭配不同的英文字母與數字而有不同的意涵:

ESP32-ABCDE

A欄:晶片內有幾個控制器核心,若為字母D(Dual)為雙核核心,若為S(Single)為單核核心。

B欄:晶片內是否有嵌入式的快閃記憶體,若為數字0表示沒有,若為2表示有16Mbit容量的快閃記憶體。

C欄:晶片的無線通訊能力,字母WD指的是晶片內有Wi-Fi(11b/g/n傳輸率)也有Bluetooth(BT、BLE均有),不過ESP32-S2只有Wi-Fi沒有Bluetooth,此將於後述。

D欄:晶片的封裝(或稱構裝)方式,若為Q6表示是以QFN 6x6mm方式封裝,若無任何字母數字則為QFN 5x5mm方式封裝。

E欄:晶片的晶圓層面改版(wafer level),若寫ECO V3則為ECO V3版,若無任何字母數字則為ECO V3之前的版本。ECO V3是一連串的晶片電路修正與強化,相關技術細節見本文件(簡體字)。

ESP32系列晶片編號原則(source

控制器核心升級

ESP32-S2的第一個特點是控制器核心的架構提升,過往的ESP32晶片使用Xtensa LX6,而S2改用Xtensa LX7,且之前多數ESP32晶片多為雙核,S2則為單核,ESP32的各系列中亦有一款為單核,即ESP32-S0WD。S2的運作時脈為240MHz,此前的ESP32即有160MHz、240MHz的版本,因此運作頻率上未有提升。

除了主控制器外,其實ESP32內部搭配即時鐘子系統運作的還有一個附屬的超低功耗處理器(Ultra-Low power Processor, ULP),過去樂鑫未揭露ULP的架構與規格,但S2則確定改用開放原始程式碼的RISC-V架構。

新的ULP使S2更省電,在閒置(idle)模式時耗用不到5uA的電力,若把運作週期(duty cycle)設定在1%則也只耗24uA電力。此前的ESP32晶片在深度睡眠時也仍要耗10uA電力。

ESP32-S2之前的ESP32內部功能方塊圖。(source

內部記憶體減少、I/O接腳增加

ESP32-S2縮減了內部記憶體的容量,SRAM自520KB降至320KB,ROM則自448KB(64KB+384KB)降至128KB,樂鑫未說明縮減原因,筆者推估在晶片電路面積有限的權衡取捨下,減少記憶體資源以增強ESP32-S2所強調的安全防護能力。

不過S2增強了外部記憶體的擴充能力,若使用SPI介面連接RAM記憶體而言,過往的ESP32系列晶片只能達8MB,S2卻可達128MB;而以SPI介面連接外部快閃記憶體時,過往的ESP32系列晶片可達16MB,S2則可到1GB。

在GPIO方面,過往的ESP32系列有34個可用的I/O接腳(大陸稱引腳、管腳),S2則增加至43個,觸控用的I/O接腳也自10個增至14個。

其他如S2具備LCD顯示的連接介面,此在此之前的ESP32系列上不具備;I2S介面過往ESP32有兩組但在S2上僅剩1組;S2可連接USB OTG(Full Speed 12Mbps)而原有ESP32不行;過往ESP32可支援CAN介面、SDIO介面,以及乙太網路介面,此方面S2均取消。

取消雙模改專注在Wi-Fi

S2取消了Bluetooth通訊能力,但卻強化了Wi-Fi能力,雖然同樣是11n速率標準但加入了TOF(Time-of-Flight)能力,可讓Wi-Fi實現測距、定位功能。

安全性強化、封裝增大

S2顧名思義是安全防護強化型的第二款,S2支援RSA 3072非對稱密碼,快閃記憶體內的敏感資料可用AES256-XTS方式加密保護;S2提供4096bits的eFuse(熔絲,寫入一次即無法再改變)儲存且有一半可供應用程式使用,另外也加入數位簽章功能。

在封裝方面,過往的ESP32為5x5mm、6x6mm,而S2增成7x7mm。

ESP32-S2的封裝略為增大(Source

可應用範圍廣泛

ESP32本來即鎖定16種應用,S2延續其訴求但再新增兩種:USB介面需求的相關應用及觸控相關應用。另外S2也更聚焦於本有16種中的3種,包含家庭自動化、工業自動化、零售與餐飲,加上S2因功耗大幅降低所以也訴求任何以電池供電的裝置,這自然也包含原有16種應用中的「可穿戴電子產品」,以及其他各類型應用中以電池運作的應用項。

晶片、模組、板卡都到位

S2除了晶片正式發售外,其官方版模組與官方版板卡也都推出,模組有ESP32-S2-WROVER、ESP32-S2-WROO,板卡則有開發學習取向的ESP32-S2-Saola-1,以及多媒體應用開發取向的ESP32-S2-Kaluga-1。

ESP32-S2的多媒體開發板ESP32-S2-Kaluga-1。(source

小結

綜觀上述,ESP32-S2系列是一種資源規格的重新調整與取捨,而不是全面進化。S2特別強調省電及安全,網路上有觀察者認為樂鑫之所以推出S2,主要是ESP32未快速取代ESP8266,而ESP8266最受人顧慮的即是安全不足,ESP32-S與ESP32-S2即在於彌補此一領域。

有趣的是,樂鑫也預告會有簡單版的ESP32晶片,稱為C系列(C = cost成本?),此即更可看出樂鑫想加速取代自家原有ESP8266,原本因為很便宜而使用ESP8266但不在意安全性的用戶可用C系列,反之重視安全性的可用S系列。

(責任編輯:王姵文)

陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x