本文主要是介绍nRF52832-Bluefruit52学习之MicroPython开发(1)-- 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nRF52832技术交流群:680723714
nRF52832-Bluefruit52核心板详细介绍:
https://blog.csdn.net/solar_Lan/article/details/88688451
MicroPython固件持续更新下载,请加QQ群:680723714,群名:Bluefruit52官方技术群
nRF52832板子的MicroPython学习Wiki请浏览地址:
https://www.afantor.cc/mpy/html/nrf52/quickref.html
对于Nordic Semiconductor nRF系列的蓝牙芯片,众所周知,目前火爆全球的就是基于nRF51822开发的MicroBit板子,其支持多种开发环境,多种开发语言,最为创新的是支持MakeCode和MicroPython编程了。但对于 创客开发者来说,却出现了一个苦恼的问题,由于nRF51822芯片的RAM只有32KB,无法在跑MicroPython 时使用蓝牙协议栈,那么芯片的蓝牙功能就形同虚设了。没有了蓝牙功能,大量的DIY玩法就没有乐趣了。
根据MicroPython官方的支持,我只能根据个人需求和爱好,把MicroPython移植到功能更强大的nRF52832芯片上,已达到使用MicroPython就能自由进行蓝牙BLE连接通讯了。Bluefruit52核心板板载USB串口芯片CP2102和预留SWD仿真下载口,使得很方便的对nRF52832进行固件烧录和进入MicroPython的REPL调试模式。
先上个图:
芯片参数分析
nRF52832 SoC
●32位ARM Cortex-M4F处理器,64MHz主频
●512KB闪存+64KB的RAM
●7.7mA – TX在+4dBm的输出功率
●5.5mA – RX在1Mbs的接收功率
●NFC-a标签接口(与手机NFC自动配对)
●芯片BALUN(无需外接天线阻抗匹配)
●SPI主从、I2C 主从、I2S
●48脚QFN 6x6mm小封装
Bluefruit52核心板
●BLE SoC方案
●支持ANT/ANT+/BLE/2.4G多种无线协议
●2.4GHz可与nRF24L设备相互连接
●用于用户交互的按键与LED灯
●支持两线制SWD下载调试接口
●支持UART虚拟串口协议
●板载CP2102串口芯片,MicroUSB接口与USB口直接连接
●板载MPU6050芯片,支持加速度,陀螺仪的姿态解析,丰富的产品制作
●板载1.14寸240*135 IPS LCD高清液晶屏,制作炫彩UI任你玩
●兼容NORDIC官方PCA10040开发板的所有教程
●兼容NORDIC的mbed程序
●支持IAR/Keil平台SDK开发
●支持Arduino IDE的平台驱动,快速开发
●支持MicroPython系统,Python语言开发
●为蓝牙BLE产品开发提供一套完整的解决方案
与nRF51822芯片参数比较表
芯片型号 | nRF51822 | nRF52832 |
制作工艺 | 180nm | TSMC 55nm |
蓝牙协议栈 | BLE4.1, Prop | BLE4.2, part of BT5.0 |
片内MCU | ARM Cortex-M0 | ARM Cortex-M4F |
MCU 主频 | 16 MHz | 64 MHz |
Flash | 128/256kB | 512kB |
RAM | 16/32kB | 64kB |
是否需要片外flash | No | No |
供电范围 | 1.8V - 3.6V | 1.7V - 3.6V |
封装 | 6x6 QFN, 31 IOs | 6x6 QFN48, 32 IOs |
片上 DC-DC | Yes(Buck) | Yes(Buck) |
温度范围 | ‘-25 to +75C (general) | -40 to +85C |
RF 射频输出 | Differential | Single ended |
BLE PHY层速率 | 1M | 1M,2M |
最大发射功率 | +4 dBm | +4 dBm |
接收灵敏度 | -93 dBm | -96dBm |
Link Budget | 96 dB | 100 dB |
0 dBm @ 3V 发射电流 | 10.5mA | 6.6mA |
3V 接收电流 | 13mA | 6.7mA |
MCU @ 3.0V功耗 | 275uA/MHz | 52uA/MHz |
完全休眠电流 | 0.6uA | 0.4uA |
休眠电流, XTAL RTC 正常工作,RAM 数据保留 | 3.8uA | 1.9uA |
(32kB retained) | (32kB retained) | |
| 40nA/4kB RAM retention | |
1秒连接间隔平均功耗 | 14.8uA | 7.5uA |
| (ZHAW paper) | |
4秒连接间隔平均功耗 | 5.6uA | 1.75uA |
nRF52832相对于nRF51822最大的改进在以下5个方面:
(1)功耗方面:nRF52832更是在nRF51822的基础上几乎将功耗降低了一半;
(2)更好的RF表现,主要表现在发射功率和接收敏感度上。
发射功率,nRF52832和nRF51822相同,最大都是+4dbm ,nrf52832的灵敏度是 -96dbm,nrf51822的接收灵敏度是 -93dbm。
(3)更强的处理能力,nrf52832芯片的处理器M4F,Cortex-M4F 增加一个(浮点运算单元) Floating Point unit ,更强大的运算能力以及浮点运算的技术,可以应用在穿戴设备或者工业化设备需要内置非常复杂的算法的场合;
nrf51822芯片采用的是Cortex-M0内核。运算能力不及Cortex-M4F,它适合采集传感器数据。
(4)支持更多的RAM和Flash, 在flash方面,nrf51822支持128kb和256kb,而nrf52832支持512kb,Nordic称有400KB的Flash可以用于应用程序。在RAM方面,nrf51822支持16kb和32kb,而nrf52832支持64kb;
(5)nrf52832支持更多的协议,包括BLE、ANT、2.4Ghz的自由协议。Nordic同时引进了NFC技术,它支持NFC-A,也就是可以作为标签来使用;nrf51822只支持BLE、2.4Ghz的自由协议。
综上,在穿戴设备和工业化设备的市场中需要更强的计算能力,可以选择nRF52832蓝牙模块。
MicroPython对nRF52832芯片的支持
目前支持的外设:
- UART
- SPI
- LEDs
- Pins
- ADC
- I2C
- PWM
- Temperature
- RTC (实时计数器,低功耗计数器)
- BLE 支持包括:
- nRF52核心功能和外设
- 蓝牙BLE进行REPL (可选择使用WebBluetooth)
- ubluepy: 用于MicroPython的蓝牙BLE模块
- 连接时1个不可连接的广告商
当前已经对外设的基本功能在核心板上进行了验证,后续增加TFT的驱动和MPU6050的驱动。
后续编写API说明文档和使用教程, 持续更新中……
这篇关于nRF52832-Bluefruit52学习之MicroPython开发(1)-- 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!