ESP8266 Arch

来自Jack's Lab
跳转到: 导航, 搜索


1 总体结构

ESP8266EX 集成:天线开关,RF balun,功率放大器,低噪放大器,过滤器,电源管理模块,32 位 MCU

仅需 7 个外围器件,就是一个完整的带 32bit MCU、完整 WiFi 功能的 SoC

ESP8266 结构框图:


内部 CPU (MCU) 使用 Tensilica’s L106 钻石系列32位内核处理器,带片上 SRAM

2 MCU 结构

Tensilica Xtensa L106 Diamond series (an enhanced version)
Only 20% of MIPS has been occupied by the WiFi stack, the rest can all be used for user application programming and development

MCU Core 的框图:


  • Small, low power 32-bit RISC controller core, Xtensa ISA
  • Cache-less processor with memory protection unit
  • 5-stage pipeline
  • Dhrystone 2.1: 1.22 DMIPS/MHz
  • 24/16-bit ISA with modeless switching
  • Iterative 32x32 multiplier
  • Separate instruction and data memory interfaces
  • Integrated interrupt controller with 15 interrupts at 2 priority levels
  • 32-bit ALU
  • 16 GPRs

Xtensa L106 体系结构精要: Xtensa L106 Architecture

3 SoC 内部存储

ESP8266EX WiFi SoC is embedded with memory controller, including SRAM and ROM. MCU can visit the memory units through iBus, dBus, and AHB interfaces.

According to our current version of SDK provided, SRAM space that is available to users is assigned as below:

  • RAM size is around 50 KB, that is to say, when ESP8266EX is working under the station mode (WiFi) and is connected to the router, programmable space accessible to user in heap and data section is around 50 KB
  • There is no programmable ROM in the SoC, therefore, user program must be stored in an external SPI flash

用户外部程序都存储在外部 SPI flash 上,启动时,SoC 自动加载

还有,除了外部 BOM 少,硬件易实现易测试外,对开发者最友好的,牛逼的,是其天生带串口刷机功能。。。模块出厂时就有串口刷机功能。。。

4 管脚定义


  • PIN6 --- TOUT / ADC
  • PIN8 --- GPIO16 / Deep-Sleep Wakeup
  • PIN9 --- GPIO14 / HSPICLK
  • PIN10 --- GPIO12 / HSPIQ
  • PIN12 --- GPIO13 / HSPID
  • PIN13 --- GPIO15 / HSPICS
  • PIN14 --- GPIO2 / UART TX during flash programming
  • PIN15 --- GPIO0 / SPICS2
  • PIN16 --- GPIO4
  • PIN24 --- GPIO5
  • PIN25 --- GPIO3 / UART RX during flash programming / URXD
  • PIN26 --- GPIO1 / SPICS1 / UTXD