乐鑫 ESP32-C3 功能介绍
中国,上海
2020年12月1日
乐鑫科技在 2014 和 2016 年分别推出了 ESP8266 和 ESP32 芯片。ESP8266 是单 Wi-Fi MCU,适合于简单的物联网应用场景;ESP32 同时支持 Wi-Fi 和 Bluetooth/Bluetooth LE,可满足需要高算力或强大安全性能的产品需求。两款芯片均已成功应用于数以亿计的物联网设备,成为国际市场上不可或缺的物联网芯片。
与此同时,随着物联网市场的飞速发展,用户对物联网芯片的功能定义与成本预期也愈发明晰。我们意识到,一款有竞争力的物联网芯片,必须在性能和成本之间取得良好的平衡。同时,市场上也需要多样化的物联网芯片,以满足不同用户的需求。于是,乐鑫设计开发了 ESP32-C3,满足常见的物联网产品功能需求,同时大幅度提升产品的安全性能。
ESP32-C3 的设计,我们着重考量了以下几点:
- 安全问题至关重要。即使是低成本的连接方案,也需要为防止常见的安全威胁而提供保护措施,以确保客户物联网产品的硬件安全和软件安全。
- Bluetooth 5 (LE) 可以在配网等方面提升终端用户体验,也有助于设备厂商对物联网设备进行诊断分析。
- 充足的内存 (400 KB SRAM + 384 KB ROM) 与低成本。对于物联网产品开发,芯片充足的可用内存与成本优势同样重要。芯片内存受限的情况下,设备的内存优化与管理对厂商来说都是极大的挑战。
ESP32-C3 搭载 RISC-V 32 位单核处理器,时钟频率高达 160 MHz,内置 400 KB SRAM,集成了 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth 5 (LE),具有行业领先的射频性能和低功耗。它具有 22 个可编程 GPIO 管脚,支持 ADC、SPI、UART、I2C、I2S、RMT、TWAI 和 PWM。点此查看 ESP32-C3 技术规格书了解详细信息。
接下来,我们会详述 ESP32-C3 的几项关键优势:
安全性
对物联网设备的攻击通常指的是:
- 窃取敏感数据
- 对设备进行未授权控制
- 窃取设备身份,继而对设备云进行未授权访问
攻击物联网设备的方式多样:可以利用软件和协议漏洞进行远程攻击;也可以通过直接访问 flash 和“故障注入”进行物理攻击。随后,在设备上安装恶意固件作为默认固件,使攻击永久进行。
物联网设备必须提供充分的保护措施以防止各类恶意攻击。ESP32-C3 具有完善的安全机制,能够有效抵抗上述威胁:
- 安全启动:ESP32-C3 使用基于 RSA-3072 的标准身份验证方案,确保在设备上运行受信任的应用程序。该功能可阻止设备运行烧录在 flash 中的恶意程序。安全启动需要快速高效地进行,以满足即时启动设备(如球泡灯)的需求,ESP32-C3 的安全启动方案仅在设备启动过程中增加了不到 100 ms 的时间开销。
- Flash 加密:ESP32-C3 使用基于 AES-128-XTS 算法的 flash 加密方案,确保应用程序与配置数据在 flash 中保持加密状态。flash 控制器支持执行加密的应用程序固件,这不仅为存储在 flash 中的敏感数据提供了必要保护,还防止了运行时由于固件更改造成的 TOCTTOU (time-of-check-to-time-of-use) 攻击。
- 数字签名和 HMAC 外设:ESP32-C3 的数字签名外设,可以通过固件不可访问的私钥生成数字签名。同样地,其 HMAC 外设也可以生成固件不可访问的加密摘要。目前,大多数物联网云服务使用基于 X.509 证书的身份验证,数字签名外设保护了定义设备身份的私钥。这样一来,即使出现软件漏洞,它也能为设备身份提供强大的保护。
- 世界控制器模块:ESP32-C3 新增了世界控制器模块,该模块提供了两个互不干扰的执行环境。根据配置,世界控制器使用可信执行环境 (TEE) 或权限分离机制。如果应用程序固件需要处理敏感的安全数据(如 DRM 服务),则可以利用世界控制器模块,在安全区域处理数据。
支持长距离的 Bluetooth 5 (LE)
物联网设备通常使用 Wi-Fi 连接到云服务,但是只具有 Wi-Fi 功能的设备会对配网带来一定困难:它们无法向配网程序提供可靠的配置反馈;同时,iOS 和 Android 配网程序在连接网络时也会产生额外的复杂性。然而,Bluetooth LE 使设备配网变得很简单,Bluetooth LE 在本地环境中也很容易被发现并进行控制。
Bluetooth LE 协议的早期版本,传输距离比较短,不适用于在大型空间内实现本地点对点直接控制。ESP32-C3 增加了对 Bluetooth 5 (LE) 协议的支持,包含 Coded PHY (Long Range) 和扩展广播 (extended advertisement) 功能。它通过引入 FEC 编解码等技术,虽然增加了数据冗余度,但是大幅度增加了设备通信距离(通常为 100 米)。此外,ESP32-C3 还支持蓝牙 Mesh (Bluetooth Mesh) 协议,这使它成为了控制本地网络设备,以及直接与其他 Bluetooth 5 (LE) 传感器设备进行通信的强大候选设备之一。
充足的内存
不同的应用场景对内存的需求不尽相同,因此很难定义一颗 SoC 最合适的内存大小。根据我们的经验,在保持 Bluetooth LE 工作状态下,用户通常需要用一到两个 TLS 链接连接云端,同时还要保留合理的空间供应用程序使用。ESP32-C3 的内置 400 KB SRAM 不仅满足了这些需求,而且芯片成本也控制在合理的预算范围内。此外,ESP32-C3 具有用于指令 (IRAM) 和数据 (DRAM) 存储的动态分区,使可用内存被有效地最大化。还需注意的是,与 ESP32 相比,我们对蓝牙子系统的内存使用进行了优化,更多细节将在新版本 ESP-IDF 发布时提供。
成熟的软件支持
ESP32-C3 沿用乐鑫成熟的物联网开发框架 ESP-IDF。物联网设备所使用的软件,很大一部分都由与硬件相对独立的软件组件构成。而 ESP-IDF 已成功赋能了数以亿计的物联网设备,并历经了严格的测试和发布周期。开发人员基于 ESP-IDF 成熟的软件架构,凭借对 API 和工具的熟悉,将更容易构建 ESP32-C3 应用程序。此外,基于 ESP-IDF 的软件组件(如云代理)无需任何更改,就可以直接在 ESP32-C3 上使用。
ESP32-C3 也支持在从机模式下工作,通过 ESP-AT 和 ESP-Hosted SDK 为外部主机微控制器和微处理器提供 Wi-Fi 与 Bluetooth LE 连接功能。
ESP32-C3 成本对标 ESP8266。为简化客户端硬件设计,它还有一款内置 flash 的子型号 ESP32-C3F。此外,我们还为用户提供一系列全面通过各项认证的低成本模组,以方便用户构建物联网设备。ESP32-C3-MINI-1 模组尺寸小巧 (13×16.6 mm),可支持最高工作温度 105℃。ESP32-C3-WROOM-02 模组也支持 105℃ 的最高工作温度,它还与 ESP-WROOM-02D 和 ESP-WROOM-02 模组引脚兼容,方便用户升级到 ESP32-C3。
综上所述,ESP32-C3 专为常见的物联网应用场景设计。同时,我们在持续开发新的解决方案,满足产业多样化的物联网应用需求。在此过程中,乐鑫会广泛听取和吸纳来自社区的反馈和建议,感谢所有创客朋友、合作伙伴以及客户的支持。