NodeMCU-BU01开发板
电源
电源部分使用了Micro USB作为NodeMCU-BU01开发板的供电接口,预留了PA11\PA12可用作USB功能扩展,通过ASM1117-3.3这颗LDO将USB输入的5V电压转换为3.3V,给整个开发板提供工作电压。
主控芯片
主控芯片选择STM32主流微控制器,STM32F103C8T6带有20KB的SRAM和64KB的FLASH程序存储空间,完全满足了测距算法实现所需要的对RAM和ROM的空间大小要求。
晶振电路
开发板板载了2个晶振源,一个8MHz的晶振给MCU提供外部时钟输入,另一个32.768kHz的晶振给MCU内部的RTC部分提供外部时钟输入。
复位电路、BOOT、SWD下载接口
典型的MCU复位电路及BOOT跳帽选择,通过对BOOT0/BOOT1引脚配置不同的电平,来达到从不同程序起始地址启动的功能;另外SWD接口给MCU的程序下载和在线调试提供了便捷。
LED灯、用户按键
板载多个LED灯,红色LED指示系统电源供电状态,另外三个绿色、蓝色、黄色LED灯用作用户编程,可以编程指示不同的系统运行状态;BTN按键给整个开发板提供了输入接口。
传感器
板载了2个传感器,SHT20用作温湿度的采集,另外还有一颗三轴加速度传感器,与MCU共用同一个硬件I2C接口进行通讯控制。
BU01测距模块
BU01测距模块与MCU之间通过SPI接口进行通讯,再配合相应的GPIO口控制,来完成测距功能。
EXTON是外部设备启用引脚,在唤醒过程中置们并操持活动状态,直到设备进入睡眠模式。可用于控制外部DC-DC转换器或设备处于睡眠模式时不需要的其他电路,以最大程序地降低功耗。
WAKEUP引脚,当置为有效高电平状态时,BU01将从休眠或DEEPSLEEP状态切换到工作模式,如果未使用,则该引脚可以接地。
RSTN是复位引脚,低电平有效输出。可以通过外部开漏驱动器拉低以复位。
IRQ引脚,是从BU01到MCU的中断请求输出。默认情况下,IRQ是高电平有效输出,但是如果需要,可以将其配置为低电平有效。为了在SLEEP和DEEPSLEEP模式下正确运行,应将其配置为高电平有效运行。该引脚将在SLEEP和DEEPSLEEP状态下浮动,除非将其拉低,否则可以导致伪中断。当不使用IRQ功能时,可以将该引脚重新配置为通用I/O线GPIO8。
最后就是SPI接口,其中CS引脚既为芯片选择引脚,也可以用作唤醒信号,使BU01退出SLEEP或DEEPSLEEP状态。
扩展接口
后续
在安信可官方提供了NodeMCU-BU01开发板出厂固件AT源码STM32,后面我们将通过代码分析形式来熟悉测距功能代码;使用PIN TO PIN兼容的MCU来替换STM32,将测距算法移植到新的MCU,来实现测距功能。