BLE-BK3431Q

更新时间:2024-07-30 03:10:34下载pdf

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

硬件环境

芯片手册

可在 hardware\bk3431q\chip_manual\BK3431Q Datasheet V1.3.pdf 路径下,获取芯片手册。

开发板

BLE-BK3431Q

硬件外设

  • GPIO

    有两种可选规格,32 引脚和 40 引脚。具有多达 24 个 GPIO 引脚,可以配置为输入或输出。GPIO 引脚可配置用于第二功能。引脚定义详见 hardware\GR551x\chip_manual\BK3431Q Datasheet V1.3.pdf2 Pin Information 以及 3.1 GPIO 章节。

    TuyaOS SDK 中默认定义引脚序号与芯片引脚对应关系如下表所示:

    TUYA_GPIO_NUM 定义 引脚
    TUYA_GPIO_NUM_0 ~ TUYA_GPIO_NUM_07 P00 ~ P07
    TUYA_GPIO_NUM_10 ~ TUYA_GPIO_NUM_17 P10 ~ P17
    TUYA_GPIO_NUM_20 ~ TUYA_GPIO_NUM_27 P20 ~ P27
    TUYA_GPIO_NUM_30 ~ TUYA_GPIO_NUM_37 P30 ~ P37
  • UART

    该平台支持两路串口 UART0 与 UART2,默认串口引脚定义如下表(引脚固定,不支持自由配置)。

    UART 功能 引脚 描述
    UART0 TX P00 作为烧录、授权、上位机测试串口
    默认波特率 9600
    UART0 RX P01 -
    UART2 TX P16 作为 Log 日志口
    默认波特率 115200
    UART2 RX P17 -
  • SPI

    该平台仅支持一路 SPI 接口,支持 SPI Master/Slave 角色,最高速率可达 8 MHz,支持设置的 频率范围为 31.25 KHz ~ 8 MHz

    TuyaOS 中 SPI 初始化默认使用 SPI Master,将 MISO 与 MOSI 通过引线连接(P06 与 P05 短接)即可测试验证。默认引脚定义如下表所示:

    SPI 功能 引脚
    SPI0 CS P07
    SPI0 CLK P04
    SPI0 SDI P05
    SPI0 SDO P06
  • I2C

    该平台仅支持一路 I2C 接口,支持 100 kHz 和 400 kHz 通讯速率可调。SDK 内配置 仅支持 I2C Master 与 7bit 地址。由于 OLED 屏幕为了显示 SDK 信息(TuyaOS Demo)需预先初始化,TuyaOS 中 I2C 初始化默认使用 I2C0。引脚定义如下表所示:

    I2C 功能 引脚
    I2C0 SCL P02
    I2C0 SDA P03
  • PWM

    该平台支持 6 路 PWM 输出,即 Channel 0~5。SDK 内默认采用 16 MHz 主晶振作为时钟,支持设置的 频率范围:245Hz ~ 8MHz。通道与默认引脚定义如下表所示:

    通道 引脚
    0 P10
    1 P11
    2 P12
    3 P13
    4 P14
    5 P15
  • ADC

    10 位 ADC,多达 10 个通道,包括 8 个外部测试通道和 2 个内部单通道,支持单次和连续模式。其中外部通道支持电压范围 0~1.0V(G 版本)/1.2V(D 版本),精度 ±30 mV。通道与引脚定义如下表所示:

    通道 引脚
    0 P30
    1 P31
    2 P32
    3 P33
    4 P34
    5 P35
    6 P36
    7 P37
    8 VCCBAT-pin
    9 Temperature Sensor,Internal Channel
  • 按键

    引脚:P12

    • 短按唤醒设备。
    • 长按 3s,本地恢复出厂设置。
  • 启动时间检测引脚

    引脚:P10

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

软件环境

Keil

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

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

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

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

    BLE-BK3431Q
  5. 安装 Legacy pack for Arm7, Arm9 & Cortex-R devices

烧录工具

烧录工具安装包位于 .\pc\tools\bk3431q\烧录\ 下,有 2 款工具,分别为:

  • BekenHIDTool:SPI 烧录工具
  • bk_writer:串口烧录工具

开发软件

计算 Flash 和 RAM 占用

  1. 关闭测试功能。

    #define TUYA_SDK_TEST 0
    
  2. 关闭涂鸦 Log。

    #define ENABLE_LOG 0
    #define BOARD_ENABLE_LOG 0
    
  3. 重新进行全量编译后,打开 .map 文件可知,占用的 RAM 和 Flash 空间如下:

    BLE-BK3431Q

烧录固件

固件说明

编译输出产物路径位于 .\software\TuyaOS\.log\output\app下,BK3431Q 固件主要由三部分组成:boot + stack + app,其中:

  • tuyaos_demo_ble_peripheral_merge_crc.bin = boot + stack + app,仅支持 SPI 烧录,也就是日常说的 生产固件

  • tuyaos_demo_ble_peripheral_oad.bin = app,支持 UART 烧录,也就是日常说的 应用固件 / OTA 升级固件

  • tuyaos_demo_ble_peripheral_stack_oad.bin = stack + app,支持 UART 烧录。除非有升级 stack 的需求,一般用不到。

    BLE-BK3431Q

烧录工具及说明

工具路径:.\pc\tools\bk3431q\烧录

说明路径:.\hardware\\bk3431q\module_manual\BK3431Q_烧录指南.docx

平台特性

启动时间

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

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

  • 启动时间说明:从上电运行至 main 函数,需要 6 毫秒左右 的时间。

    BLE-BK3431Q

Flash 分区

BLE-BK3431Q

分区调整方法

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

// Flash
#ifndef BOARD_FLASH_TUYA_INFO_START_ADDR
#define BOARD_FLASH_TUYA_INFO_START_ADDR        (0x7B000)
#endif

#ifndef BOARD_FLASH_SDK_TEST_START_ADDR
#define BOARD_FLASH_SDK_TEST_START_ADDR         (0x77000)
#endif

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

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

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

#ifndef BOARD_FLASH_MAC_START_ADDR
#define BOARD_FLASH_MAC_START_ADDR              (0x7F000)
#endif

功耗

测试方法

  1. 将板子所有外接引线全部拆除,仅保留与上位机通信串口。可用 USB 转 TTL 工具接板子的串口,USB 串口的 TX 接 P01,USB 串口的 RX 接 P00

  2. 将带有供电能力的电流表接入,供电电压 3.3V。其中电源正极接 +3V 丝印位置,电源负极接板子 GND。

  3. 通过上位机 功耗管理,即可测试不同模式的功耗数据。

    BLE-BK3431Q

功耗数据

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

    BLE-BK3431Q
  • 此处测试的功耗为典型的系统 Deep Sleep 模式 平均功耗。关闭所有外设,关闭广播,RTC 保持,支持 GPIO 唤醒,RAM 数据保持

    BLE-BK3431Q

本地时钟挂测

测试硬件:开发板,16 MHz 晶体 20ppm 精度,外接 32K 晶体。上位机设置进入低功耗-模式 1(带广播),本地时钟长运挂机 15 小时,误差在 2~3 秒左右。

BLE-BK3431Q