ESP8266硬件相关

    本文地址:http://tongxinmao.com/Article/Detail/id/84

    ESP8266 尺寸为5x5 mmESP8266 模组需要的外围器件有:10个电阻电容电感、1个无源晶振、1 flash。工作温度范围:-40~125℃。

    2.1. 工作模式

    1 问:ESP8266 StandAlone mode SLAVE-SPI mode分别是什么?

    答:ESP8266 有两种工作模式: 

    1) StandAlone 模式

    该模式 ESP8266 作为主芯片,独立运行;

    2) SIP 模式(SLAVE-SPI, Slave-SDIO

    该模式 ESP8266 作为从芯片,采用 SPI  SDIO 与主芯片通讯,如主芯片采用 ARM

     

    2.2. Flash与内存

    1、 问:Flash 参考容量及型号是什么样的?

    答:Flash 规格需满足以下要求:
    1)  SPI Flash
    2)  支持 Quad SPI(推荐 Dual SPI
    3) 容量最好在 4Mbit 及以上
    推荐型号 winbond: W25Q40CL 

     

    2、 问:可用空间是怎样的?

    答:

    RAM size  < 35kB station模式下,连上路由后,heap+data区大致可用在 35K 左右,具体可用内存大小,可调用接口system_get_free_heap_size获得) 
        ROM size  < 64kB (片上没有 ROM,用户程序存放在 spi flash 中,当前 spi flash 大小为512KB,当前定义可用程序区 <64KB。可通过更换容量更大的spi flash,从而可支持到4MB。)

    问:两个flash的分工?

    答:由于ESP8266有两种工作模式,StandAloneSPI-Slave

    PCB 板中间的 flash 用于 ESP8266 工作在 StandALone 模式下的;

    右上角的 flash 用于 ESP8266 工作在 SPI-Slave 模式下,ESP8266 作为 SPI SLAVE(或 SDIO)连接Host,同时 ESP8266 又作为 SPI master通过 HSPI 和右上角的 flash 连接。

    客户实际运用时,只需根据使用ESP8266的模式,选用一种 flash 连接方式即可。

     

    4、 问:如何对 Flash 加密,保护客户软件(防抄板)?

    答:

    方法一:在 ESP8266 芯片中定制客户专用的 id,软件里需要传入正确的客户 id,跟芯片中的客户 id 相符,才能继续运行,否则系统 hang 住。

    方法二:在使用烧录工具烧写 flash 时,先读取芯片 id(每颗芯片唯一),将芯片 id 存入 flash 特定地址,在程序中读取芯片 id  flash 特定地址中存放的 id ,两者一致,程序才能正常运行。

    2.3. CPU

    1、 问:CPU主频跑多少?

    答:CPU主频支持80M160M

     

    2.4. GPIO

    1、 问:GPIO口的输出电压电流的规格式?

    答:GPIO口输出电压为VDD_IO(比如 3.3V),输出电流应该不超过20mA

     

    2、 问:GPIO口的软件设置方式。

    答:

    1) GPIO API 请参见文档“Espressif IoT SDK 编程手册”中 5.1 GPIO接口API

    2) 如希望提高设置 GPIO 的速率,可以采用如下方式,直接写寄存器控制。

    GPIO_REG_WRITE(GPIO_ENABLE_ADDRESS, xxxx);  //使能哪些GPIO
    GPIO_REG_WRITE(GPIO_OUT_W1TS_ADDRESS, xxxx);   // 设置哪些GPIO
    GPIO_REG_WRITE(GPIO_OUT_W1TC_ADDRESS, xxxx);  //清除哪些GPIO 

    第一句只要调用一次;后两句控制输出高电平或低电平。

    1、 问:ESP8266 有几个 uart 

    答:ESP8266 有两个 uart,其中 uart0  TXRX,可做数据传输;uart1 仅有 TX,可以做串口调试信息打印。

     

    2、 问:目前支持的波特率范围?

    答:110~460800

     

    5、 问:初始波特率为什么是 74880

    答:这是由于一些最初的设计原因,在板子上电初始跑boot rom的一段log需要在74880的波特率下正常打印。跑到用户程序区后,波特率改为115200后可正常打印的。

     

    2.6. PWM

    1、问:ESP8266 支持几路PWM

    答:目前支持4PWM,硬件实际是1PWM,由软件实现为4PWM

     

    2、问:ESP8266 PWM 频率多少?

    答:默认100-500Hz10kHz也行 但分辨率到不了1/256

     

     

    2.7. 晶振

    1 问:晶振的要求?

    答:要求晶振本身的频偏要在 ±10ppm 以内。

     

    2 问:Demo 使用26M 晶振,如需更换成 40M 晶振,firmware 是否要修改?

    答:请将 esp_init_data_default.bin 中下图红色标注的地方改为 0040M 晶振)。01 表示 26M 晶振。注意更换为 40M 晶振后,两边的对地调节电容需要更改(应该是 18PF)。(26M 晶振两边的对地调节电容在 8.2pF ~ 12pF



    3.3. softAP&station

    1、 问:ESP8266 station  softAP  mac 地址是否相同?

    答:不相同。ESP8266 有两套 MAC ,因此可以支持 softAP + station共存的模式。

     

    2、 问:现在最多可以记录多少个 wifissidpassword

    答:最多记录 5  AP 的信息

     

    3、 问:ESP8266 softAP 可连接几个station

    答:由于内存限制,ESP8266 softAP最多可连接 4  station


    2、 问:ESP8266 低功耗注意事项?

    答:ESP8266 低功耗只针对 station 模式,对于 softAP 则没有低功耗。

    目前实现的低功耗为 moden sleep 模式和 deep sleep 模式,modem sleep目前没有接口控制,自动开启,依据所连AP(路由器)的设置支持DTIMdeep sleep的接口为 system_deep_sleep,设置每休眠多久醒来一次。

     

    3.7. 网络连接

    7、 问:最多可以建立几个网络连接?

    答:TCP 连接最多可以建立 5 个;UDP 连接最多可以建立 5 个。可同时建立 5 TCP 连接和 5  UDP 连接。

    请注意,目前 IOT_Demo 只能建一个 UDP server,如需多建 UDP server,需要向乐鑫申请开放 lwip 的源代码进行修改。

     

    8、 问:UDP server 的注意事项?

    答:目前 IOT_Demo 只能建一个 UDP server,如需多建 UDP server,需要向乐鑫申请开放 lwip 的源代码进行修改。

     

    9、 问:ESP8266 作为 station 连入路由后,没有被分配到 IP 地址?

    答:查证是否建立了一个以上的 UDP server,目前 IOT_Demo 只能建一个 UDP server,如需多建 UDP server,需要向乐鑫申请开放 lwip 的源代码进行修改。

     

    10、 问:ESP8266 作为 tcp client,某些工具作为 tcp server,连接断开却会重连。

    答:使用 TCP&UDPDebug 这个工具做server 即可。这个问题是因为某些网络调试工具,在断开连接时没有实现完整的 TCP 退出流程,如果不走完整的 TCP 退出流程,ESP8266 会判断为异常断开,对TCP server 进行重连。

     

    11、 问:ESP8266 是否支持 iperf,如何测试网络吞吐量?

    答:ESP8266 不支持使用 iperf,可以参照文档“Espressif IoT SDK 编程手册”中的 espconn 系列接口自行编写程序测试。另,我司内部测试过网络吞吐量,可发邮件向我司申请提供网络吞吐量的测试结果。

     

    3.8. AT 透传

    1 问:ESP8266 AT 透传的通信能力?

    答:在硬件流控情况下,数据不丢失,速度11kbits/s ,基本达到串口极限

     

    2 问:使用工具测试,无法退出透传?

    答:注意,如果直接用键盘打字输入 +++ ,有可能时间太慢,不被认为是连续的三个+,建议使用如下工具:



    上一篇:图片文件隐藏脚本代码 BAT
    下一篇:SBT支付及优惠券流程