本帖最后由 AndyL 于 2024-12-16 11:37 编辑
完整阅读
一、硬件介绍
1、产品概述
PB-03F-Kit 是针对 PB-03F 模组设计的开发板。采用的主芯片方案为 PHY6252。 PHY6252 是一款用于蓝牙 5.2 应用的片上系统(SoC) ,专为物联网(IoT)、移动设备、可穿戴电子设备、智能家居等各种应用而设计。
它具有高性能、低功耗的 32 位处理器,具有 64KB SRAM、256KB 闪存、96KB ROM、256bit efuse。芯片支持多种低功耗工作状态,能够满足各种应用场景的功耗需求。射频输出功率可调节功能等特性,可以实现通信距离、通信速率和功耗之间的最佳平衡。
2、主要特点
集成射频收发机,PA,射频滤波器,天线开关以及电源管理。
各种无线环境下优异的通信性能和稳定性。
蓝牙速率支持: 125Kbps,500Kbps,1Mbps,2Mbps。
支持广播扩展,多广播,信道选择。
支持 BLE5.2,速率支持: 125Kbps,500Kbps,1Mbps,2Mbps。
拥有 64 KB SRAM, 256KB flash, 96 KB ROM, 256bit efuse。
支持 UART/GPIO/ADC/PWM/I2C/SPI/PDM/DMA 接口。
支持多种休眠模式, 深度睡眠电流小于1uA。
支持串口本地升级和远程固件升级(FOTA)。
通用 AT 指令可快速上手。
支持二次开发,集成了 Windows 开发环境。
支持接口 |
UART/GPIO/ADC/PWM/I2C/I2S/SPI/PDM/DMA |
可用 IO口数量 |
19 个 GPIO |
串口速率 |
默认 115200 bps |
蓝牙 |
BLE 5.2 |
安全性 |
AES-128 |
Flash |
256KB |
功耗 |
深度睡眠模式( 无广播) : 7.2uA( 单模组) 关断模式: 0.57uA( 单模组)发射模式( TX: 8dBm) : 11.5mA( 单模组) 开发板底板: 4mA |
3、管脚定义
指示灯或按键 |
LED 状态或按键功能 |
RGB 灯 |
绿灯 (P11 脚) |
RGB 灯 |
红灯(P7 脚) |
RGB 灯 |
蓝灯 (P18 脚) |
白色灯 |
冷色灯(P34 脚) |
黄色灯 |
暖色灯(P0 脚) |
Restore 键 |
恢复出厂设置按键 (P15 脚) |
RST 键 |
重启按键 (直接断电再上电复位) |
脚序 |
名称 |
功能说明 |
1 |
P13 |
GPIO13 |
2 |
P11 |
GPIO11 |
3 |
P31 |
GPIO11 |
4 |
P7 |
GPIO7 |
5 |
P32 |
GPIO32 |
6 |
P33 |
GPIO33 |
7 |
P14 |
GPIO14/ADC input 3 |
8 |
P16 |
GPIO16 |
9 |
P17 |
GPIO17 |
10 |
GND |
地 |
11 |
3V3 |
3.3V 电源 |
12 |
NC |
无功能 |
13 |
NC |
无功能 |
14 |
GND |
地 |
15 |
5V |
5V 电源 |
16 |
3V3 |
3.3V 电源 |
17 |
GND |
地 |
18 |
TX0 |
TXD/GPIO9 |
19 |
RX0 |
RXD/GPIO10 |
20 |
P18 |
GPIO18 |
21 |
P0 |
GPIO0 |
22 |
P34 |
GPIO34 |
23 |
NC |
无功能 |
24 |
GND |
地 |
25 |
3V3 |
3.3V 电源 |
26 |
P2 |
GPIO2/SWD debug data inout |
27 |
P3 |
GPIO3/SWD debug clock |
28 |
P20 |
GPIO20/ADC input 9/PGA positive input |
29 |
P23 |
GPIO23/ADC input 1/micbias reference |
30 |
P24 |
GPIO24 |
4、开发板原理图
5、注意事项
由于 PB-03F 模组使用的芯片没有 RST 引脚, 所以 PB-03F-Kit 的复位按键是 直接断电再上电复位。
下载烧录固件时, 需要用 RST 引脚上电复位。
二、固件升级(AT指令)
1、烧录工具下载
2、固件文件下载(PB-03系列模组Combo指令AT固件和指令集)
1、[升级方法]()
1.连接microUSB到开发板
2.打开下载的烧录工具
3.按下图方式进行配置
1°打开 PhyPlusKit 软件。
2°选择 UXTDWU,点击Connet连接模块。
3°开发板上按下RST按键进行上电复位,等到串口出现“cmd>>”信息,即表示模组进入==下载模式==。
4°点击ERASE,进行擦除,串口出现“Erase successfully!”表示擦除成功。
5°选择好所下载的HEX文件后,点击Write,串口出现“Write images successfully!”,“Write registers successfully!”,即表示下载成功。
6°再次按下RST按键,退出下载模式,并显示当前的版本信息。
启动信息:
arch:<芯片型号>,<芯片版本流水号>
company:Ai-Thinker|B&T
ble_mac:<蓝牙MAC> //eg:94c960123456(小写字母)
sdk_version:<SDK版本号> //芯片原厂SDK的版本号(根据原厂SDK的版本号显示)
firmware_version:<固件版本号> //固件版本号,格式“release/v1.0.0”
三、AT指令开发模式
AT通用指令文档下载
1、部分AT指令介绍
1.AT测试指令
AT |
|
描述 |
测试AT框架是否正常工作的指令 |
响应 |
OK |
示例 |
AT OK |
HELP中的描述信息 |
|
响应 |
Test cmd |
2.查看AT指令集
AT+HELP |
|
描述 |
查询AT指令集列表 |
响应 |
<指令名称>:<注释> ... <指令名称>:<注释> OK |
示例 |
|
HELP中的描述信息 |
|
响应 |
Show cmd list |
3.查询版本信息
AT+GMR |
|
描述 |
查询版本信息 |
响应 |
**:AT版本信息(combo版本) **:SDK版本信息 <br /><br />:固件版本 OK |
示例 |
AT+GMR at version:release/v2.0.0 <br />sdk version:amebaD-6.2c <br />firmware version:release/v1.2.3 <br />OK |
HELP中的描述信息 |
|
响应 |
Show version info |
4.查询或设置IO映射表
AT+SYSIOMAP? |
|
描述 |
查询IO管脚映射关系表 |
响应 |
+SYSIOMAP:PinNumber:<PinNumber>,PinMap:<pin0>,<pin1>,...,<pinN><br />//状态介绍<br />PinNumber:表示当前映射表一共有几组数据 |
示例 |
#AT+SYSIOMAP? <br />+SYSIOMAP:PinNumber:6,PinMap:NC,5,20,NC,15,NC <br /> OK |
AT+SYSIOMAP=**,,,...,** |
|
描述 |
设置IO管脚映射关系 |
参数 |
pinNumber:要设置的IO总数<br />pinxx:模组IO引脚(从模组左上角逆时针排序,引脚序号从0开始)<br />对应的芯片引脚编号(0~254,这个根据芯片手册上的引脚编号来就可以) <br />如果模组没有对应芯片引脚则设置为NC |
响应 |
OK |
示例 |
#AT+SYSIOMAP=4,3,5,NC,1<br />OK<br /><br />这个指令含义:<br />一共设置4个IO的映射关系:<br />模组的0号引脚对应芯片的3号引脚;<br />模组的1号引脚对应芯片的5号引脚;<br />模组的2号引脚没有连接到芯片或者该引脚禁止使用AT指令控制;<br />模组的3号引脚对应芯片的1号引脚 |
HELP中的描述信息 |
|
响应 |
Query and set IO map |
5.设置GPIO输出电平
AT+SYSGPIOWRITE=**,** |
|
描述 |
设置GPIO输出电平,电平为1 默认上拉,电平为0默认下拉 |
参数 |
pin:模组IO引脚号<br />(从模组左上角逆时针排序,引脚序号从0开始)<br />level: 0:低电平 1:高电平 |
响应 |
OK |
示例 |
|
HELP中的描述信息 |
|
响应 |
Set GPIO out level |
6.配置PWM功能
AT+PWMCFG=**,**, |
|
描述 |
|
参数 |
pin: 模块上的引脚(从模组左上角开始逆时针排序,从0开始) <br />cycle:pwm周期,单位us<br />duty: 占空比时间, 单位us |
响应 |
OK |
示例 |
|
HELP中的描述信息 |
|
响应 |
Set PWM config |
7.开发板LED测试指令
AT+LEDTEST= |
|
描述 |
开发板LED测试指令 |
参数 |
start: 0:关闭跑马灯 1:开始跑马灯<br />(红、绿、蓝、黄、白切换,每个亮1000ms) |
响应 |
OK |
示例 |
|
HELP中的描述信息 |
|
响应 |
Start test board LED test |
2、AT指令点亮板载LED
1、打开串口工具,并连接开发板
2、通过 “AT+LEDTEST=1” 命令,实现板载LED跑马灯效果。
<font color=#FA8072>或者</font>
根据 PB-03F-Kit 规格书中的LED管脚相关定义可知:
红灯(P7脚->脚序4)、绿灯(P11脚->脚序2)、蓝灯(P18脚->脚序20)
白色灯(P34脚->脚序22)、黄色灯(P0脚->脚序21)
可以通过 AT+SYSIOMAP=5,7,11,18,34,0,设置IO管脚映射关系。
一共设置5个IO的映射关系:
模组的0号引脚对应芯片的7号引脚;模组的1号引脚对应芯片的11号引脚;
模组的2号引脚对应芯片的18号引脚;模组的3号引脚对应芯片的34号引脚;
模组的4号引脚对应芯片的0号引脚.
然后通过 AT+SYSGPIOWRITE=0,1,(设置模组0号引脚,高电平),后续引脚同理。
(注:实际上根据手册上(有误) 操作无法点亮,实测后对应的指令: “AT+SYSIOMAP=6,7,12,4,22,0,NC”
依次为绿、蓝、红、白、黄灯、空引脚NC,(其中绑定时,需要大于要设置的IO总数(即5(LED)+1(NC)
AT+SYSGPIOWRITE=1 (1~5),1 依次点亮LED灯 )
四、SDK二次开发模式
PB-03系列模组二次开发SDK源码下载
(PB-03模组的芯片是 M0 核,二次开发需安装 MDK Keil5 for ARM 开发环境,和STM32类似)
1、打开工程文件(GPIO为例)
工程文件:(…\example\peripheral\gpio\gpio.uvprojx)
1.修改Keil版本
CMSIS版本选择
BUG解决方法:
(提示 Error:L6218E:Undefined symbolinitial sp (referred from patch.o) )
方法:点击Device,右键后,点开第一项,将Variant空白处的选择为 “C Startup”,(重新全部编译) 若无效,则再次切换为空白选项(重新编译)。
2.修改宏定义
宏说明:
**· CFG_SLEEP_MODE=PWR_MODE_SLEEP :使能低功耗模式,固件程序执行过程中,会在空闲过程进入睡眠,**
睡眠之后调试器无法进行调试跟踪,断点也失效。
·CFG_SLEEP_MODE=PWR_MOD_NO_SLEEP: 关闭低功耗模式,固件程序执行过程中,处理器一直处于唤醒状态。
CFG_SLEEP_MODE=PWR_MODE_SLEEP 修改为 CFG_SLEEP_MODE=PWR_MODE_NO_SLEEP
3.代码修改 (点亮所有的LED灯)
//将gpio_demo.c 中的 void Key_Demo_Init(uint8 task_id);修改为
void Key_Demo_Init(uint8 task_id)
{
key_TaskID = task_id;
// 此写函数默认会调用hal_gpio_pin_init(pin,GPIO_OUTPUT);
hal_gpio_write(GPIO_P07,HAL_HIGH_IDLE); // 点亮RED
hal_gpio_write(GPIO_P11,HAL_HIGH_IDLE); //点亮GREEN
hal_gpio_write(GPIO_P18,HAL_HIGH_IDLE); // 点亮BLUE
hal_gpio_write(GPIO_P34,HAL_HIGH_IDLE); // 点亮WHITE
hal_gpio_write(GPIO_P00,HAL_HIGH_IDLE); // 点亮YELLOW
}
4.程序烧录
1、连接开发板,打开下载的 PhyPlusKit 软件。连接串口,选择 UXTDWU。
2、烧录过程同固件升级的升级方法 类似。
Hex文件: (…\phy6222_v313_0512\example\peripheral\gpio\bin)
3、下载成功后,按RST按键 手动重启开发板,点亮所有的LED灯光。