Espressif是一家全球領先的AIoT企業,源自中國上海,中文名稱是“樂鑫科技”。作為一家全球化的無晶圓廠半導體公司,專注Wi-Fi和藍芽的高整合度SoC模組,主流ESP8266、ESP32、ESP32-S系列,2020年11月20日新添ESP32-C系列。至此,Espressif共有四個系列模組。
用ESP模組的人不在少數,因為硬體好用,所以大家都重點關注模組的應用。因此,本文調研了很多官方資料,嘗試把Espressif模組以及處理器等重點知識點系統性地彙總起來,並做初步分析。希望本文能夠在模組選擇和應用上助您一臂之力,請收藏!
總結就是,Espressif公司的ESP8266系列、ESP32系列和ESP32-S系列模組使用了原Tensilica公司(現Cadence公司)鑽石標準的晶片,集成了Xtensa設計結構的核心。ESP32-C系列模組使用了新一代ISA。
ESP8266系列(單核)價效比最高的模組為市面上常見且應用最廣的ESP8266系列,作為一顆32位的MCU,雖然僅支援2.4GHz Wi-Fi,但是單核時鐘頻率可以高達160MHz。ESP8266系列晶片包括兩個型號,分別是ESP8266EX和ESP8285。這兩顆晶片功能上特別相似,都集成了Tensilica L106鑽石標準的32位核心處理器,並集成了片上SRAM,區別是ESP8266EX內部無可程式設計儲存器,而ESP8285支援1M或者2M的內建SPI快閃記憶體Flash。
ESP8266EX功能原理圖
ESP8285功能原理圖
Tensilica L106 是一顆超低功耗的32位RISC處理器,支援實時作業系統(RTOS)和Wi-Fi協議棧。106核心是Tensilica公司在2007年11月5日推出的。在當時,它是世界上最小的工業級32位處理器核心,在比ARM7或者Cortex M3還要小的面積上實現了ARM9級別的效能,可見風光一時。
為什麼Tensilica L106有這麼大的優勢呢?
Tensilica公司設計了世界第一個可以自由組裝、可以彈性擴充套件的微處理器架構Xtensa,而Tensilica L106 鑽石標準核心正是使用了Xtensa的可定製化架構來實現的。
Tensilica L106核心是一個無快取控制器(cache-less),特別適用於標準的32位控制器。別看它體積小,它卻用了5級流水線架構。
ESP32系列(雙核+單核)這個系列是ESP8266系列的升級版,支援兩個或者一個可以單獨控制的Xtensa LX6 的32位處理器。在2.4GHz Wi-Fi的基礎上,增加支援了藍芽通訊功能,不但支援傳統的藍芽協議(L2CAP,SDP,GAP,SMP,AVDTP,AVCTP,A2DP (SNK) 和 AVRCP (CT) ),而且增量支援了低功耗藍芽協議(L2CAP, GAP, GATT, SMP, 和 GATT 之上的 BluFi, SPP-like 等),是一顆雙模的單晶片方案,採用TSMC超低功耗的40nm工藝。目前 ESP32 系列的產品型號包括 ESP32-D0WD-V3,ESP32-D0WDQ6-V3,ESP32-D0WD,ESP32-D0WDQ6, ESP32-D2WD,ESP32-S0WD 和 ESP32-U4WDH。
ESP32功能原理圖
Xtensa LX6也是一顆低功耗32位處理器,但是支援雙核配置,運算能力可達600MIPs。採用7級流水線架構,支援高達240MHz的時鐘頻率。這顆晶片包含用於程式啟動和核心功能呼叫的448KB的ROM,用於資料和指令儲存的520KB片上SRAM,以及8KB的用於RTC快速儲存的SRAM和8KB的用於RTC慢速儲存器的SRAM。
ESP32-S系列(雙核+單核)S系列是繼ESP8266和ESP32之後新一代旗艦級晶片,支援兩個或者一個可以單獨控制的Xtensa LX7 的32位處理器,包括S2和S3兩個類別,S2是單核的,S3是雙核的,單核時鐘主頻高達240MHz。ESP32-S2系列是高整合度的低功耗Wi-Fi系統級晶片SoC,支援二次開發,無需使用其他微控制器或其他處理器。ESP32-S3系列是一顆整合2.4GHz Wi-Fi和低功耗藍芽5.0的雙模單晶片方案,2020年12月31日才剛剛推出。S3系列相比較S2系列,除了主核心變為雙核以外,更增值了對響應AIoT市場的需求。ESP32-S3 增加了用於加速神經網路計算和訊號處理等工作的向量指令 (vector instructions)。AI 開發者們透過 ESP-DSP 和 ESP-NN 庫使用這些向量指令,可以實現高效能的影象識別、語音喚醒和識別等應用。ESP-WHO 和 ESP-Skainet 也將支援此功能。
ESP32-S2功能原理圖
ESP32-S3功能原理圖
Xtensa LX7相比較LX6,同樣採用7級流水線架構,支援高達240MHz的時鐘頻率。單核版本包含用於程式啟動和核心功能呼叫的128KB的ROM,用於資料和指令儲存的320KB片上SRAM,以及8KB的用於RTC快速儲存器的SRAM和8KB的用於RTC慢速儲存器的SRAM。雙核版本的ROM為384MB,SRAM為512KB。相比較LX6,ULP也有很大的不同,作為超低功耗協處理器,可以用於在正常工作模式下協助主處理器,也可以用於在系統休眠時代替主處理器來執行任務。ESP32-S2系列晶片集成了兩個不同的協處理器,一個是支援RV32IMC的ULP-RISCV協處理器,一個是支援常用指令的有限狀態機ULP-FSM協處理器。這兩個協處理器在晶片深度睡眠工作模式下仍然保持工作狀態,支援被主控制器、專用定時器和RTC GPIO啟動,需要注意的是:兩個ULP不能同時使用。
ESP32-C系列(單核)(2020年11月20日推出)C系列晶片與ESP32和ESP8266有本質區別,一改Xtensa 32位核心為RV32IMC核心,是一款高度整合2.4GHz Wi-Fi和低功耗藍芽的極低功耗雙模系統級晶片SoC,採用四級流水線架構,主頻高達160MHz。單核版本包含用於程式啟動和核心功能呼叫的384KB的ROM,用於資料和指令儲存的400KB片上SRAM,以及8KB的用於RTC儲存器的SRAM。主打高性價比,成本對標ESP8266,可相容ESP8266模組,但是不具有超低功耗協處理器。
ESP32-C3功能原理圖
效能比較縱觀處理器、外設以及儲存器等配置,ESP的四個系列各有特色,總體來看的話,ESP32-S3系列更適用於算力要求比較高的應用場景,ESP8266作為一款老款高性價比產品將繼續是使用者的熱衷物件,而ESP32-C3在一段時間之後很有可能會取代ESP8266的位置,但是它缺少協處理器以及算力水平將使其難於追平ESP32-S系列。
在執行速度方面,同樣是單核的ESP32-C3要比ESP32快。在功耗方面,測評人檢測了模組的電源效率,以每毫瓦CoreMark分數來衡量。從結果中看出,ESP32-C3的效能要比ESP8266好一些,並且處於ESP32分別運行於單核和雙核之間。如果您想節省電量,最好的選擇是使晶片儘可能保持休眠狀態,然後在需要執行時將其完全執行。對於ESP32來說,最好同時使用兩個核心。
-- END --