杰理 SDK 文档中心
首页
首页
  • 项目概览

    • SDK 简介与核心特性
    • 芯片平台与硬件资料
    • SDK 版本与发布信息
  • 快速开始

    • 环境搭建与工具链
    • 编译工程
    • 烧录与量产工具
  • 工程结构与构建系统

    • 工程目录布局
    • 构建与链接配置
  • 应用层开发

    • mbox_flash 应用框架
    • 板级支持包 (BSP)
    • 公共应用模块
    • UI 显示子系统
  • 蓝牙子系统

    • BLE 控制器、链路层与 HCI 传输
    • GATT 服务框架
    • BLE 应用示例:遥控器 / Dongle / 对讲机
    • 经典蓝牙支持
  • 音频子系统

    • 音频编解码器
    • 音频设备接口 (DAC / ADC / APA)
    • 音效处理与 EQ
    • 播放、录音与 MIO 工作流
  • 设备与文件系统

    • 存储设备驱动 (NorFlash / SDMMC / USB)
    • 文件系统 (FAT / nor_fs / SYDF)
    • 设备管理框架 (dev_mg)
  • 系统服务与电源管理

    • 消息机制 (msg / hot_msg)
    • 配置与参数存储 (app_config / VM)
    • 电源管理 (SOFT OFF / POWER DOWN)
  • 固件升级

    • 升级框架总览 (code_v1 / code_v2)
    • 双 Bank 升级机制
    • 升级通道:UART / 测试盒 / BLE OTA / USB / SD
  • 补丁包与版本维护

    • 版本升级补丁链 (v1.1.0 → v1.4.0)
    • 问题修复补丁
    • 固件裁剪与资源优化
  • 开发工具与支持

    • 辅助工具与脚本
    • 文档、配置说明与常见问题

芯片平台与硬件资料

本文介绍杰理科技 AW30N 系列芯片平台(32bit DSP MCU + BLE 5.4)的硬件特性、芯片型号体系,以及仓库 doc/ 目录下配套的硬件资料(数据手册、参考原理图、芯片手册、硬件设计指南与选型表),并说明 SDK 中与硬件强相关的板级支持包(BSP)层结构。

Purpose and Scope

本页面覆盖以下内容:

  • AW30N 系列 SoC 的平台定位、核心硬件特性与典型应用场景;
  • doc/ 目录下的硬件资料体系:芯片规格书(datasheet)、参考原理图(schematic)、芯片手册、硬件设计指南、芯片选型表;
  • 芯片型号族(AW302A / AW302C / AW305A / AW306A)与配套参考设计;
  • 音频外设(DAC / APA / ADC)、电源管理(SOFT OFF / POWER DOWN)、存储与升级通道等硬件能力;
  • SDK 中与硬件直接相关的板级支持包(sdk/apps/app/bsp/)组织方式。

以下内容不属于本页面范围,请参见对应目录页:BLE 协议栈与 GATT 服务的软件实现、音频解码/编码算法细节、OTA 升级流程的软件实现、具体应用(遥控器/对讲机/Dongle)的功能开发。

概述

fw-AW30N_BLE_SDK 是杰理科技为 AW30N 系列芯片提供的 BLE 通用 MCU SDK 开发包。AW30N 系列是带 BLE 5.4 蓝牙功能的 32bit DSP MCU,一颗芯片即可同时承担蓝牙协议处理、音频编解码与通用控制逻辑,主要面向以下产品形态:

应用类型典型产品
BLE 蓝牙蓝牙遥控器、蓝牙对讲机、BLE Dongle
语音玩具故事机、学习机、发声玩具
小音箱音乐播放器、扩音器
通用 MCU智能控制、传感器采集、USB 音频设备

从硬件视角看,该平台的定位是"低成本、低功耗、音频能力突出"的蓝牙 SoC:BLE 从机遥控器未连接广播功耗 290uA+、已连接待机功耗 130uA+,关机(SOFT OFF)功耗 2uA+、休眠(POWER DOWN)功耗 61uA+。这些数字决定了其典型场景是电池供电的便携音频与遥控类产品。

架构

下图展示 AW30N 芯片平台、硬件资料与 SDK 软件层之间的关系:硬件资料文档直接服务芯片选型与电路设计,BSP 层则是对芯片外设(音频、射频、电源)的板级封装,上层应用通过 include_lib 提供的平台头文件与库访问硬件能力。

flowchart TD
    subgraph sg_HW["硬件层(AW30N 芯片平台)"]
        AW30N["AW30N SoC 系列<br/>32bit DSP MCU + BLE 5.4"]
        PERIPH["音频外设<br/>AUDIO_DAC / AUDIO_APA / AUDIO_ADC"]
        RF["BLE 射频 2.4GHz"]
        PMU["电源管理<br/>SOFT OFF / POWER DOWN"]
        STORAGE["存储<br/>系统 FLASH / 资源 FLASH / SDMMC / U 盘"]
    end

    subgraph sg_DOC["硬件资料(doc/)"]
        DS["datasheet/ 芯片规格书<br/>AW302A / AW302C / AW305A / AW306A"]
        SCH["schematic/ 参考原理图<br/>遥控器 / 对讲机 / Dongle / 最小系统"]
        MANUAL["AW30N_芯片手册_V1.1.pdf"]
        GUIDE["AW30N硬件设计指南V1.2.pdf"]
        SEL["杰理科技AW30N系列芯片选型表"]
    end

    subgraph sg_BSP["板级支持包(BSP)"]
        BSP["sdk/apps/app/bsp"]
        AUDIO["common/audio"]
        RFTRANS["common/audio_rf_trans"]
        BT["common/bt_common"]
    end

    subgraph sg_SDK["SDK 软件层"]
        APP["应用层 apps/app/src/mbox_flash"]
        CPU["include_lib/cpu 平台头文件"]
        LIBA["include_lib/liba 预编译库"]
    end

    DS --> AW30N
    SCH --> AW30N
    MANUAL --> AW30N
    GUIDE --> AW30N
    SEL --> AW30N

    BSP --> PERIPH
    BSP --> RF
    BSP --> PMU
    AUDIO --> PERIPH
    RFTRANS --> RF
    BT --> RF

    CPU --> AW30N
    APP --> CPU
    APP --> BSP
    APP --> LIBA
    LIBA --> AW30N

各组成部分的职责:

  • AW30N SoC:平台核心,集成了 BLE 5.4 射频(QDID 223418)、32bit DSP 内核与音频编解码硬件加速单元;
  • 音频外设:AUDIO_DAC(单声道单端输出,8K~96k 共 12 种采样率)、AUDIO_APA(Class-D 直驱喇叭,单声道差分输出,32K~48k 共 3 种采样率)、AUDIO_ADC(单声道单端/差分输入,8K~48k 共 9 种采样率),并支持硬件重采样;
  • 电源管理:SOFT OFF 软关机(2uA+)与 POWER DOWN 休眠(61uA+)两级低功耗模式,面向电池供电产品;
  • doc/ 硬件资料:为硬件工程师提供从选型(选型表、datasheet)到电路设计(参考原理图、硬件设计指南)的完整输入;
  • BSP 板级支持包:位于 sdk/apps/app/bsp/,将芯片外设封装为板级驱动,是应用层与硬件之间的桥梁;
  • include_lib:cpu/ 目录存放 CPU 平台头文件,liba/ 存放按命名规则配套的预编译库(lib.a),应用代码需与库文件配合编译。

芯片型号体系与选型

AW30N 全系主推 BLE 蓝牙语音遥控器、BLE 对讲机、小音箱、语音玩具。仓库 doc/datasheet/ 目录收录了四个具体型号的芯片规格书(Datasheet V2.0):

型号配套规格书配套标准原理图
AW302AAW302A Datasheet V2.0.pdfAW302A BLE 参考原理图 V1.0(最小系统)
AW302CAW302C Datasheet V2.0.pdfAW302C BLE 参考原理图 V1.0(最小系统)
AW305AAW305A Datasheet V2.0.pdfBLE 蓝牙语音遥控器标准原理图 V1.2 · BLE 对讲机标准原理图 V1.2
AW306AAW306A Datasheet V2.0.pdfBLE 蓝牙语音遥控器标准原理图 V1.3 · BLE 对讲机标准原理图 V1.2 · BLE 蓝牙 Dongle 标准原理图 V1.2

选择型号时,建议先参考 杰理科技AW30N系列芯片选型表 确定资源(FLASH/RAM/引脚/外设)是否满足产品需求,再依据 AW30N_芯片手册_V1.1.pdf 核对引脚定义与电气特性,最终以对应型号的 Datasheet 为准进行原理图设计。

硬件设计参考资料

设计文档总览

doc/ 目录集中存放硬件与 SDK 配套资料,除上述 datasheet 与 schematic 外,还包括:

资料文件用途
芯片手册AW30N_芯片手册_V1.1.pdf引脚定义、电气参数、封装信息、系统框图
硬件设计指南AW30N硬件设计指南V1.2.pdf电源、时钟、射频天线、音频电路布局布线规范
SDK 手册AW30N_SDK手册_V1.7.pdfSDK 工程结构、编译烧录、API 使用说明
版本信息AW30N_SDK_发布版本信息.pdfSDK Release 版本历史与变更记录
开发板AW30N开发板原理图与PCB资料(暂配套AD16N底板).pdf开发调试用底板参考设计
选型表杰理科技AW30N系列芯片选型表_20240816.pdf全系型号资源对比与选型依据

最小系统参考设计

针对资源精简的应用,doc/schematic/BLE参考原理图(最小系统)/ 提供 AW302A / AW302C / AW305A / AW306A 四款芯片的最小系统参考原理图,仅包含芯片正常运行所必需的电源、晶振、复位与射频匹配电路,可作为从零设计主板的基础模板。

典型产品参考设计

对于量产产品,仓库提供了三种典型产品形态的标准原理图:

  • BLE 蓝牙语音遥控器:AW305A(V1.2)、AW306A(V1.3)——含按键矩阵、语音采集(AUDIO_ADC)与喇叭驱动(AUDIO_APA/DAC)电路;
  • BLE 对讲机:AW305A、AW306A(V1.2)——含音频收发通路与 2.4GHz 射频设计;
  • BLE Dongle:AW306A(V1.2)——USB 接口 + BLE 主机的典型应用。

设计意图:标准原理图与 SDK 中的 BSP 配置一一对应,硬件工程师可直接照抄标准设计以缩短研发周期;改动外设电路时,需要同步修改 BSP 层的对应驱动与引脚配置。

硬件关键特性

音频子系统

  • AUDIO_DAC:单声道单端输出,支持 8K~96k 共 12 种采样率;
  • AUDIO_APA(Class-D 直驱喇叭):单声道差分输出,支持 32K~48k 共 3 种采样率;
  • AUDIO_ADC:单声道单端/差分输入,支持 8K~48k 共 9 种采样率;
  • 硬件重采样:支持采样率转换,由硬件完成,降低 CPU 负载;
  • 支持 FLASH、资源 FLASH、SDMMC、U 盘等设备的解码播放和编码录音,最多支持同时三路解码;支持 a/b/e、ump3、f1a/f1b/f1c/f1x、midi、标准 mp3、wav、opus 七种解码,mp2、a、ump2、opus 四种编码;
  • 音效能力:变速变调、echo、变音、啸叫抑制、PCM_EQ,并支持解码 MIO 功能。

电源管理

模式功耗说明
广播(未连接)290uA+BLE 从机遥控器广播场景
已连接待机130uA+BLE 连接保持、等待事件
SOFT OFF 关机2uA+软关机,保留必要唤醒源
POWER DOWN 休眠61uA+深度休眠,官方标注后续将大幅优化

电源设计时需结合硬件设计指南中的去耦、上电时序与唤醒电路要求,否则实测功耗会偏离上述典型值。

存储与升级通道

平台支持系统 FLASH 与资源 FLASH 分区,以及 SDMMC、U 盘等外部存储。固件升级支持多种通道:U 盘/SD 卡设备升级、测试盒串口升级、测试盒蓝牙升级、手机蓝牙 OTA 升级、手机 USB 升级——多通道设计便于量产产线与终端用户两种场景分别使用。

板级支持包(BSP)

sdk/apps/app/bsp/ 是 SDK 中与硬件最贴近的一层,按功能模块组织:

sdk/apps/app/bsp/
├── common/
│   ├── audio_rf_trans/     # 音频-射频传输(对讲机通路:收发、打包解包、射频PA端口)
│   ├── audio/              # 音频板级驱动(ADC API、DAC 淡入淡出、填充、触发音)
│   └── bt_common/          # 蓝牙公共定义(app_action、ble_test_api)
  • audio_rf_trans/:实现 2.4GHz 私有协议对讲机的音频收发链路,包含 audio2rf_send(发送)、rf2audio_recv(接收)、trans_packet/trans_unpacket(打包解包)、rf_send_queue(发送队列)与 rf_pa_port(射频 PA 端口控制);
  • audio/:封装芯片音频外设,audio_adc_api.c 提供录音采集接口,audio_dac_fade.c 实现 DAC 淡入淡出以消除开关机爆音,fill_audac.c 与 sound_kick.c 负责缓冲填充与触发音;
  • bt_common/:定义蓝牙应用动作与 BLE 测试 API。

BSP 是硬件差异与上层应用之间的隔离层:更换板卡(不同引脚/外设配置)时,优先修改 BSP 内的驱动与配置,应用层代码无需大改。

硬件开发到固件量产的核心流程

从硬件选型到固件量产,整个链路以芯片平台与硬件资料为起点,依次经过原理图设计、环境搭建、应用开发、编译烧录与功耗调试。下图展示了该流程及每阶段对应的仓库资源:

flowchart TD
    Start([开始]) --> Sel["芯片选型<br/>选型表 + datasheet/"]
    Sel --> Sch["原理图设计<br/>schematic/ 参考原理图 + 硬件设计指南"]
    Sch --> Env["搭建开发环境<br/>杰理编译工具链(pi32 clang)"]
    Env --> Dev["SDK 应用开发<br/>apps/app/src/mbox_flash"]
    Dev --> Build["编译固件<br/>Code::Blocks 或 make -j4"]
    Build --> Flash{"选择烧录/升级通道"}
    Flash -->|"USB 升级工具"| U1["USB 烧录(开发调试)"]
    Flash -->|"测试盒"| U2["串口升级 / 蓝牙升级(量产)"]
    Flash -->|"手机"| U3["蓝牙 OTA / USB 升级(终端用户)"]
    U1 --> Measure["功耗与射频测试<br/>参考 SOFT OFF / 广播功耗指标"]
    U2 --> Measure
    U3 --> Measure
    Measure --> End([量产])

流程要点:

  1. 选型:依据选型表对比各型号的 FLASH/RAM/外设资源,结合目标功耗与成本确定型号;
  2. 原理图设计:优先参考对应型号的标准原理图或最小系统参考设计,遵循硬件设计指南的电源、时钟、射频与音频布线规范;
  3. 环境搭建:安装杰理编译工具链,Linux 下解压至 /opt/jieli 并确保 /opt/jieli/pi32/bin/clang 存在;
  4. 应用开发:以 AW30N_mbox_flash.cbp 工程为入口,在 sdk/apps/app/src/mbox_flash/ 下开发应用逻辑,硬件相关能力通过 BSP 与 include_lib 访问;
  5. 编译:Windows 推荐 Code::Blocks(Build → Build),命令行环境使用 Makefile;
  6. 烧录/升级:开发期用 USB 升级工具,产线用测试盒(串口/蓝牙),终端用户用手机 OTA;
  7. 功耗与射频测试:对照广播 290uA+、连接待机 130uA+、关机 2uA+ 等指标验证硬件设计,异常时回溯原理图与 BSP 配置。

使用示例

以下示例均来自仓库 README,演示如何获取平台、搭建环境并完成首次编译。

克隆仓库并进入 SDK

git clone https://gitee.com/Jieli-Tech/AW30N.git
cd AW30N/sdk

Source: README.md

验证编译工具链

# 验证工具链是否安装成功
clang --version

Source: README.md

Makefile 命令行编译

# Windows 用户
双击 sdk/make_prompt.bat 打开命令行环境

# 编译
make -j4

# 显示编译详情
make VERBOSE=1 -j4

Source: README.md

仓库工程结构(硬件相关资料位置)

fw-AW30N/
├── sdk/                           # SDK 主目录
│   ├── apps/                      # 应用层代码
│   │   ├── app/                   #   应用入口源码
│   │   │   ├── src/               #     应用源码
│   │   │   │   └── mbox_flash/    #       BLE 蓝牙/小音箱/音频播放应用
│   │   │   ├── bsp/               #     板级支持包(BSP)
│   │   │   └── post_build/        #     编译后处理脚本与工具
│   │   └── include_lib/           #   头文件与预编译库
│   │       ├── cpu/               #     CPU 平台头文件
│   │       ├── decoder/           #     解码器 API 头文件
│   │       ├── encoder/           #     编码器 API 头文件
│   │       ├── audio/             #     音频 API 头文件
│   │       ├── device/            #     设备驱动头文件
│   │       ├── common/            #     公共头文件
│   │       ├── config/            #     配置头文件
│   │       ├── msg/               #     消息机制
│   │       ├── update/            #     固件升级
│   │       └── liba/              #     预编译库 (.a)
│   ├── tools/                     # 编译工具与脚本
│   │   ├── make_prompt.bat        #   Windows 编译命令行入口
│   │   └── utils/                 #   工具集(make、rm 等)
│   ├── Makefile                   # 顶层 Makefile
│   └── *.cbp                      # Code::Blocks 工程文件
├── doc/                           # 文档
│   ├── datasheet/                 #   芯片规格书
│   ├── schematic/                 #   原理图
│   ├── stuff/                     #   杂项(钉钉群等)
│   ├── AW30N_SDK手册_V1.7.pdf     #   SDK 手册
│   ├── AW30N_SDK_发布版本信息.pdf  #   SDK 发布版本信息
│   ├── AW30N_芯片手册_V1.1.pdf     #   芯片手册
│   ├── AW30N硬件设计指南V1.2.pdf    #   硬件设计指南
│   └── 杰理科技AW30N系列芯片选型表_20240816.pdf  # 芯片选型表
└── README.md                      # 本文件

Source: README.md

对硬件开发而言,重点关注 doc/datasheet/、doc/schematic/、芯片手册与硬件设计指南(选型与设计阶段),以及 sdk/apps/app/bsp/(BSP 驱动修改阶段)。

平台与工具链配置

项目说明
目标芯片AW30N 系列(AW302A / AW302C / AW305A / AW306A)
蓝牙规范Core v5.4(QDID 223418)
内核32bit DSP MCU(杰理 pi32 工具链,clang 驱动)
Windows 开发Code::Blocks IDE,工程文件 AW30N_mbox_flash.cbp
Linux 开发Makefile 命令行编译,需重写 download_sh.c 适配 Linux 环境
macOS 开发需自行配置交叉编译工具链
工具链位置/opt/jieli/pi32/bin/clang(Linux 默认)
烧录工具USB 升级工具(开发)、生产烧写工具(量产裸片)、无线测试盒(空中升级/射频标定/产品测试)

失败模式、边界情况与注意事项

以下结论基于仓库 README 中明确披露的平台特性与工程约束,完整电气参数请以 Datasheet 与硬件设计指南为准。

功耗相关的边界情况

  • 广播功耗 290uA+ / 连接待机 130uA+ 为"+"指标,即典型值下限;实际功耗取决于广播间隔、连接参数、外设漏电与电源设计,产品标称续航前必须实测;
  • POWER DOWN 休眠 61uA+ 为当前版本指标,官方注明"后续将会大幅度优化",因此量产选型评估时不应以 61uA 作为长期承诺值;
  • SOFT OFF 关机功耗 2uA+,要求电源设计具备相应唤醒通路,否则关机后无法被外部事件唤醒。

音频外设的通道限制

  • AUDIO_DAC 为单声道单端、AUDIO_APA 为单声道差分、AUDIO_ADC 为单声道输入——均为单声道能力,立体声产品需要通过两路外设组合或外置方案实现;
  • 各外设采样率档位不同(DAC 12 档、APA 3 档、ADC 9 档),跨外设的采样率匹配依赖硬件重采样,配置音效与编解码参数时需注意采样率一致性;
  • 解码播放最多同时三路,超出后需在应用层排队或降级。

编译与工具链约束

  • 本仓库为 SDK Release 代码 + 示例工程,必须配合对应命名规则的库文件(lib.a)编译;库与代码版本不匹配是常见编译/链接失败原因,升级 SDK 时应同时更新 include_lib/liba/;
  • Linux 下编译需要重写 download_sh.c 脚本适配环境;macOS 需自行配置交叉编译工具链,官方只保证 Windows(Code::Blocks)与 Linux(Makefile)两条路径;
  • 工具链安装不完整(如缺少 /opt/jieli/pi32/bin/clang)会导致编译直接失败,安装后应先用 clang --version 验证。

硬件参考设计的版本差异

  • 同一型号在不同版本的标准原理图(如 AW306A 遥控器 V1.3 vs AW305A V1.2)之间存在差异,不可跨型号/跨版本混用;
  • 开发板原理图"暂配套 AD16N 底板",即开发板底板沿用 AD16N 平台设计,评估外设兼容性时需注意底板与 AW30N 主控之间的差异。

扩展点

  • BSP 板级支持包:sdk/apps/app/bsp/common/ 是硬件适配的主入口。新增板卡时,在 audio/、audio_rf_trans/、bt_common/ 中扩展对应驱动与引脚配置,应用层通过统一 API 访问,无需感知硬件差异;
  • 解码/编码/音效:平台支持七种解码、四种编码及变速变调、echo、PCM_EQ 等音效,应用可通过 include_lib/decoder/、encoder/、audio/ 提供的 API 扩展产品功能;
  • 升级通道:U 盘/SD、测试盒串口/蓝牙、手机蓝牙 OTA/USB 六种升级方式可组合使用,满足产线与终端不同的升级场景;
  • 工程组织:post_build/ 提供编译后处理脚本与工具(如 AW30N_config_tool),可在此扩展量产配置注入与固件打包流程。

性能与运维建议

  • 音频路径是性能热点:三路解码 + 编码录音 + 音效处理同时开启时,应优先使用硬件重采样与硬件编解码单元,避免 DSP 负载过高导致音频卡顿;
  • 量产烧录优先使用生产烧写工具(裸片烧写)与无线测试盒(空中升级/射频标定/产品测试),两者需从代理商处申请并配套专用上位机;
  • 射频标定与产品测试依赖无线测试盒,产线射频一致性验证是 BLE 产品出货前的必要环节;
  • SDK 版本迭代信息记录在 AW30N_SDK_发布版本信息.pdf,升级前后应核对版本差异与配套库文件。

相关链接

  • README(仓库总览与快速开始)
  • README-en(英文版)
  • AW30N 芯片手册 V1.1
  • AW30N 硬件设计指南 V1.2
  • AW30N SDK 手册 V1.7
  • AW30N 系列芯片选型表
  • AW30N 开发板原理图与 PCB 资料
  • 杰理文档中心:https://doc.zh-jieli.com/AW30/zh-cn/master/index.html
Prev
SDK 简介与核心特性
Next
SDK 版本与发布信息