BLE-PHY6222

更新时间:2024-04-17 06:15:38下载pdf

本文仅介绍 TuyaOS 开发过程中芯片平台相关的基本信息,有关 TuyaOS 的更多信息请参考 TuyaOS 开发者论坛

硬件环境

芯片手册

hardware\PHY6222\chip_manual\PHY6222_BLE_SoC_Datasheet_v1.2_20210430.pdf 路径下,获取芯片手册。

开发板

目前复用奉加微官方开发板,您可以向奉加微官方申请获取。

您也可以在 涂鸦 IoT 开发平台,获取开发板,开发板对应的 物料编码1.15.17.00173

BLE-PHY6222

外设

UART

该平台支持 2 个 UART,其中串口 0 用于打印 Log,串口 1 用于烧录、授权、测试。

UART 功能 引脚 备注
UART0 TX P2 Log
UART0 RX P0
UART1 TX P9 烧录、授权、测试
UART1 RX P10

SPI

该平台支持 2 个 SPI。

SPI 功能 引脚
SPI0 CS P32
SPI0 CLK P31
SPI0 SDI P18
SPI0 SDO P20
SPI1 CS P14
SPI1 CLK P15
SPI1 SDI P33
SPI1 SDO P34

IIC

该平台支持 2 个 IIC,但是由于 OLED 屏幕为了显示 SDK 信息(TuyaOS Demo)需要预先初始化,所以测试仅支持 1 个 IIC。

IIC 功能 引脚
IIC0 SCL P24
IIC0 SDA P23

PWM

通道 引脚
0 P31
1 P32
2 P26
3 P33
4 P34
5 P7

ADC

仅支持 12 位分辨率。

该平台返回的是电压值。

通道 引脚
0 P11
1 P23
2 P24
3 P14
4 P15
5 P20

按键

P7

  • 短按唤醒设备。

  • 长按 3s,本地恢复出厂设置。

上电启动检测引脚

P1

进入 main 函数后置为高电平。

软件环境

Keil

  1. 请前往 Arm Keil 官方网站 自行安装 Keil 软件,所有安装步骤使用默认配置,推荐使用 mdk528a.exe 版本。

  2. 安装期间若弹出安装驱动,请选择 安装

  3. 打开 Keil 时,若弹出器件包安装,请手动关闭。

  4. 安装 Keil 后,将 UV4.exe 文件所在目录的路径,添加到 环境变量 中。例如:TUYAOS_COMPILE_TOOL: C:\Keil_v5\UV4,结果如下图所示:

    BLE-PHY6222

开发软件

开启扫描功能

BLE-PHY6222
HOST_CONFIG=6

计算 Flash 和 RAM 占用

  1. 关闭测试功能。

    #define TUYA_SDK_TEST 0
    
  2. 关闭 Log。

    #define ENABLE_LOG 0
    #define BOARD_ENABLE_LOG 0
    
  3. 关闭扫描功能。

    HOST_CONFIG=4
    
  4. 重新进行全量编译后,打开 .map 文件可知。

    • 占用的 Flash 空间如下:

      BLE-PHY6222
    • 占用的 RAM 空间如下:

      BLE-PHY6222
    • 剩余的 RAM 大小即为:

      • = 0x1fffffff - (0x1fffaa00 + 0x00001000)
      • = 17919 字节
      • = 17.5K 字节

若打开扫描功能,即

HOST_CONFIG=6

重新进行全量编译后,打开 .map 文件可知

  • 占用的 Flash 空间如下:

    BLE-PHY6222
  • 占用的 RAM 空间如下:

    BLE-PHY6222

    剩余的 RAM 大小即为:

    • = 0x1fffffff - (0x1fffceb8 + 0x00001000)
    • = 8519 字节
    • = 8.3K 字节

计算剩余 RAM 的方法

由于奉加微平台的部分代码可能会放到 RAM 里面,所以剩余可用 RAM 的计算方法和 .map 文件结尾处统计的数据有出入,具体计算方法为:

  1. 打开 Map 文件。

  2. 找到 Memory Map of the image 区域。

  3. 移动到该区域末尾,并查看最后一行,例如下图。

    BLE-PHY6222

    剩余的 RAM 大小即为 = 0x1fffffff - (0x1fffceb8 + 0x00001000)。

    快捷定位:LR_ROM_JT_GC

烧录固件

连线说明

使用串口烧录,所以连线方式如下

USB 转串口工具 设备
VCC VCC
GND GND
TX RX
RX TX

固件说明

BLE-PHY6222

烧录方式

烧录上位机路径为 pc\tools\PHY6222

  1. 通过串口连接设备。

    BLE-PHY6222
  2. 串口连接成功。

    BLE-PHY6222
  3. 选择固件并且擦除烧录。

    BLE-PHY6222

平台特性

启动时间

  • 测试方法:使用逻辑分析仪测量 VCC 引脚启动时间检测引脚 的电平变化时间差。

  • 检测引脚:外设 → 启动时间检测引脚。

    BLE-PHY6222

Flash 分区

BLE-PHY6222

分区调整方法

在原工程中修改以下宏即可调整默认的 Flash 分区:

// Flash
#ifndef BOARD_FLASH_BULK_DATA_START_ADDR
#define BOARD_FLASH_BULK_DATA_START_ADDR        (0x4C000)
#endif

#ifndef BOARD_FLASH_TUYA_INFO_START_ADDR
#define BOARD_FLASH_TUYA_INFO_START_ADDR        (0x50000)
#endif

#ifndef BOARD_FLASH_OTA_INFO_ADDR
#define BOARD_FLASH_OTA_INFO_ADDR               (0x54000)
#endif

#ifndef BOARD_FLASH_OTA_START_ADDR
#define BOARD_FLASH_OTA_START_ADDR              (0x55000)
#endif

#ifndef BOARD_FLASH_OTA_END_ADDR
#define BOARD_FLASH_OTA_END_ADDR                (0x80000)
#endif

#ifndef BOARD_FLASH_OTA_SIZE
#define BOARD_FLASH_OTA_SIZE                    (BOARD_FLASH_OTA_END_ADDR - BOARD_FLASH_OTA_START_ADDR)
#endif

如果想要调整 OTA 区域的位置,除了调整以上宏以外,还需要按照如下方式调整 bootloader 工程:

  1. 打开 bootloader 工程 \vendor\phy6222_ble\sdk\phy62xx-sdk-v3\example\OTA\slboot

  2. 修改 SLB_EXCH_AREA_BASESLB_EXCH_AREA_SIZE 后重新编译 bootloader 工程。

    BLE-PHY6222

功耗

此处测试的功耗为典型的 1s 广播时候的平均功耗。

休眠功耗为 13uA

BLE-PHY6222

RTC 精度

  • 正常状态:20h 误差小于 2s

    BLE-PHY6222
  • 休眠状态:11h 误差在 8s 左右

    BLE-PHY6222