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

    • 项目概述与能力地图
    • 构建系统与编译流程
    • 芯片系列与规格
  • 应用示例

    • SPP 与 BLE 双模透传
    • AT 指令串口协议
    • HID 设备应用
    • 蓝牙 Mesh 应用
    • 公共组件与第三方协议
  • 芯片平台支持

    • 外设驱动
    • 电源与充电管理
    • 启动与链接脚本
    • 配置工具与 OTA 资源
  • 协议栈与系统库

    • 蓝牙控制器
    • BTStack 协议栈接口
    • 系统内核与服务
    • OTA 升级机制
  • 文档与参考

    • 蓝牙 AT 协议参考
    • 开发文档与认证信息

芯片系列与规格

本页介绍 fw-AC630N_BT_SDK 所支持的 AC630/1N 系列蓝牙 SoC 芯片家族:涵盖各型号(AC6311A / AC6313A / AC6318A / AC6319A 等)的核心规格对比、蓝牙协议能力、应用场景,以及 SDK 中如何通过板级配置(board_config)选择目标芯片。

Purpose and Scope

本页聚焦于芯片系列本身的规格与 SDK 对芯片的适配方式,包括:

  • AC630/1N 系列芯片型号总览与选型对比
  • 各型号的 CPU、RAM、Flash、电源、功耗、工作电压/温度等硬件规格
  • 蓝牙协议栈能力(Classic + LE)与蓝牙 5.0 特性支持
  • SDK 中芯片/板级选择机制(CONFIG_BOARD_* 宏、board 目录结构)与构建流程

以下主题属于其他页面的范围,本页不做展开:

  • 具体应用示例的完整实现(SPP/LE、HID、Mesh),请参见对应应用页面
  • 蓝牙 AT 协议指令细节,请参见「蓝牙 AT 协议」相关文档
  • SDK 发布版本信息与构建环境搭建,请参见 SDK 介绍文档与发布说明

Overview

fw-AC630N_BT_SDK 是杰理科技(Jieli)面向 AC630/1N 系列蓝牙 SoC 的开源固件 SDK。根据 README.md 的描述,该仓库在 Zephyr RTOS 开源项目之上增加了杰理的源码扩展,需要配合 lib.a 以及遵循相同命名约定的仓库共同构建示例工程,并使用额外的子系统与库。

AC630/1N 系列芯片定位为低功耗、低成本的双模蓝牙(Classic + LE)SoC,典型应用包括:

  • 蓝牙防丢器 / Tag
  • Beacon 广播
  • 蓝牙 HID 设备(如鼠标、键盘)
  • 蓝牙透传(数据透传,SPP / LE)

芯片采用 32bit CPU(最高 120MHz),内置 48~56KB RAM 与 256KB Flash,支持 LDO/DCDC 电源方案,睡眠功耗可低至 30µA、系统关机功耗约 1µA,非常适合纽扣电池供电的便携设备。协议栈实现 Bluetooth 5.0 规范,支持 1Mbps / 2Mbps / Coded PHY,并通过 QDID 134104 认证。

SDK 中的示例应用(apps 目录)包括 spp_and_le(SPP 与 LE 透传)、hid(鼠标/键盘等 HID 设备)和 mesh(蓝牙 Mesh),分别对应不同的应用场景,可运行在本页介绍的 AC630/1N 系列芯片上。

架构

下图展示 AC630/1N 芯片系列与 SDK 各层之间的关系:芯片型号 → 板级配置 → 应用工程 → Zephyr 内核与蓝牙协议栈。

flowchart TD
    subgraph sg_ChipFamily["AC630/1N 芯片家族"]
        C1["AC6311A<br/>内置充电 250mA / LDO+DCDC / 1.8~5.5V"]
        C2["AC6313A<br/>内置充电 250mA / LDO+DCDC / 1.8~5.5V"]
        C3["AC6318A<br/>无充电 / LDO / 1.8~3.6V"]
        C4["AC6319A<br/>无充电 / LDO+DCDC / 1.8~3.6V"]
        C5["AC6302A<br/>HID 鼠标示例默认板"]
    end

    subgraph sg_Board["板级配置层 apps/*/board/bd29/"]
        B1["board_config.h<br/>CONFIG_BOARD_* 选择宏"]
        B2["board_ac6319a_mouse_cfg.h"]
        B3["board_ac6313_demo_cfg.h"]
        B4["board_ac6318_demo_cfg.h"]
        B5["board_ac6302a_mouse_cfg.h"]
    end

    subgraph sg_Apps["应用工程 apps/"]
        A1["spp_and_le<br/>SPP + LE 透传"]
        A2["hid<br/>HID 鼠标/键盘"]
        A3["mesh<br/>蓝牙 Mesh"]
    end

    subgraph sg_Stack["基础软件栈"]
        S1["Zephyr RTOS"]
        S2["蓝牙 5.0 协议栈<br/>Classic: SDP/RFCOMM/SPP<br/>LE: ATT/SM/HOGP/Mesh"]
        S3["lib.a + 杰理子系统库"]
    end

    C1 --> B2
    C2 --> B3
    C4 --> B2
    C3 --> B4
    C5 --> B5
    B1 --> B2
    B1 --> B3
    B1 --> B4
    B1 --> B5
    B2 --> A1
    B3 --> A1
    B4 --> A1
    B5 --> A2
    A1 --> S3
    A2 --> S3
    A3 --> S3
    S3 --> S2
    S2 --> S1

架构说明:

  • 芯片家族(AC630/1N):同一 SDK 覆盖多个型号,型号间主要差异体现在内置充电、电源方案(LDO/DCDC)与工作电压范围,详见下文规格表。此外在 HID 示例中还出现了 AC6302A 型号(board_config.h 中默认使能 CONFIG_BOARD_AC6302A_MOUSE)。
  • 板级配置层:每个应用(apps/<app>/board/bd29/)下存在一组 board_acXXX_cfg.h 配置文件,由 board_config.h 中的条件编译宏决定编译哪一块板级初始化代码。
  • 应用工程:spp_and_le、hid、mesh 三个可构建工程,共享同一套芯片支持与底层软件栈。
  • 基础软件栈:Zephyr RTOS 之上叠加杰理扩展子系统与 lib.a 静态库,蓝牙协议栈实现 Bluetooth 5.0 双模协议。

这种「一个 SDK、多型号复用、板级宏切换」的设计意图在于:AC630/1N 系列同属 32bit@120MHz + 256KB Flash 的硬件平台,外设与内存布局高度一致,通过条件编译宏即可在不同型号间切换,无需维护多份 SDK 副本。

芯片系列详细规格

官方规格总表

根据 doc/README.md(630/1N Brief)中的官方规格表,AC630/1N 系列主要型号规格如下:

参数AC6311AAC6313AAC6318AAC6319A
CPU32bit @ 120MHz32bit @ 120MHz32bit @ 120MHz32bit @ 120MHz
RAM48~56KB48~56KB48~56KB48~56KB
内置充电是(250mA)是(250mA)否否
Flash256KB256KB256KB256KB
电源方案LDO/DCDCLDO/DCDCLDOLDO/DCDC
睡眠功耗Sleep @ 30µASleep @ 30µASleep @ 30µASleep @ 30µA
关机功耗Systemoff @ 1µASystemoff @ 1µASystemoff @ 1µASystemoff @ 1µA
工作电压1.8~5.5V1.8~5.5V1.8~3.6V1.8~3.6V
工作温度-40°C ~ 85°C-40°C ~ 85°C-40°C ~ 85°C-40°C ~ 85°C
经典蓝牙SDP / RFCOMM / SPPSDP / RFCOMM / SPPSDP / RFCOMM / SPPSDP / RFCOMM / SPP
BLEATT / SM / HOGP / MeshATT / SM / HOGP / MeshATT / SM / HOGP / MeshATT / SM / HOGP / Mesh
蓝牙版本SmartReady v5.0SmartReady v5.0SmartReady v5.0SmartReady v5.0
蓝牙速率1Mbps / 2Mbps / Coded PHY1Mbps / 2Mbps / Coded PHY1Mbps / 2Mbps / Coded PHY1Mbps / 2Mbps / Coded PHY
应用场景防丢 / Beacon / HID / 透传防丢 / Beacon / HID / 透传防丢 / Beacon / HID / 透传防丢 / Beacon / HID / 透传
OTA支持支持支持支持

选型要点分析

CPU 与存储平台一致性:四个型号的 CPU 主频(120MHz)、RAM(48~56KB)与 Flash(256KB)完全相同,说明它们是同一颗 SoC 的不同封装/功能裁剪版本。对 SDK 开发者而言,编译产物与内存布局在型号间可以高度复用,这是 board_config.h 用宏切换即可换芯片的硬件基础。

电源域差异是选型关键:

  • AC6311A / AC6313A:内置 250mA 线性充电,工作电压 1.8~5.5V,可直接接锂电池并通过芯片内部充电管理充电;DCDC 模式有利于降低运行功耗,适合需要充电管理的便携产品(如防丢器、Beacon、TWS 周边)。
  • AC6318A / AC6319A:无内置充电,工作电压 1.8~3.6V,需要外部电源管理;其中 AC6318A 仅支持 LDO 电源方案,AC6319A 支持 LDO/DCDC。适合由系统端统一供电、已有外部充电方案的场景(如 HID 鼠标、玩具)。

功耗特性:全系列 Sleep 30µA / Systemoff 1µA,配合 1.8V 低压工作,非常适合纽扣电池或小容量锂电池供电的长期待机设备。这也是 SDK 定位防丢、Beacon 类产品的原因。

蓝牙双模与 5.0 特性:全系列支持 SmartReady v5.0(Classic + LE 双模),PHY 覆盖 1Mbps / 2Mbps / Coded PHY(长距离模式)。LE 侧包含 HOGP(HID over GATT)与 Mesh,因此同一颗芯片既可做经典 SPP 透传,也可做 LE HID 设备或 Mesh 节点。

其他在源码中出现的型号

除规格表中的四款外,SDK 源码中还出现了 AC6302A 型号:

  • apps/hid/board/bd29/board_config.h#L8 默认使能 CONFIG_BOARD_AC6302A_MOUSE,对应 HID 鼠标示例的默认评估板。
  • apps/hid/board/bd29/AC631X_hid.cbp#L168 的 CodeBlocks 工程同时引用了 board_ac6319a_mouse.c。

说明 AC630/1N 系列(630 系列与 631X 系列)共享同一 SDK 框架,且同一工程内可以同时存在多型号的板级文件,通过宏择一编译。

板级文件与型号对应关系

板级源文件对应芯片/板启用宏
board_ac630x_demo_cfg.hAC630X 系列评估板CONFIG_BOARD_AC630X_DEMO
board_ac6302a_mouse_cfg.hAC6302A 鼠标板CONFIG_BOARD_AC6302A_MOUSE
board_ac6313_demo_cfg.hAC6313 评估板CONFIG_BOARD_AC6313_DEMO
board_ac6318_demo_cfg.hAC6318 评估板CONFIG_BOARD_AC6318_DEMO
board_ac6319a_mouse_cfg.hAC6319A 鼠标板CONFIG_BOARD_AC6319A_MOUSE

板级配置机制(芯片选择)

SDK 通过条件编译宏 + 集中配置头文件的方式在构建期选择目标芯片/评估板,这是理解芯片适配方式的核心入口。

board_config.h 选择入口

每个应用的 board/bd29/ 目录下都有一个 board_config.h,其中注释掉了未使用的板,取消注释某个宏即切换到对应芯片的板级配置:

#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H

/*
 *  板级配置选择
 */
// #define CONFIG_BOARD_AC630X_DEMO
#define CONFIG_BOARD_AC6302A_MOUSE
// #define CONFIG_BOARD_AC6319A_MOUSE
// #define CONFIG_BOARD_AC6313_DEMO
// #define CONFIG_BOARD_AC6318_DEMO

#include "board_ac630x_demo_cfg.h"
#include "board_ac6302a_mouse_cfg.h"
#include "board_ac6319a_mouse_cfg.h"
#include "board_ac6313_demo_cfg.h"
#include "board_ac6318_demo_cfg.h"

#endif

Source: board_config.h

设计要点:

  1. 先选择、再包含:所有候选板的配置文件被无条件 #include,但每个配置文件内部用对应的 CONFIG_BOARD_* 宏做 #ifdef 守卫,因此只有被启用的板配置实际生效。
  2. 避免重复定义冲突:板级文件(如 board_ac6319a_mouse.c)同样用 #ifdef CONFIG_BOARD_AC6319A_MOUSE 包裹,保证任意时刻只有一个板的初始化代码被编译进固件。
  3. 宏即文档:board_config.h 顶部注释直接列出全部可选板,开发者只需改动一行即可切换芯片目标。

板级源文件的宏守卫

板级初始化源文件与头文件一一对应,均以目标板宏作为编译开关。以 AC6319A 鼠标板为例:

#ifdef CONFIG_BOARD_AC6319A_MOUSE

/* AC6319A 鼠标板:IO 配置、电源配置、外设初始化等 */

#endif /* CONFIG_BOARD_AC6319A_MOUSE */

Source: board_ac6319a_mouse.c

对应的配置头文件也使用完全相同的守卫结构:

#ifndef __BOARD_AC6319A_MOUSE_CFG_H__
#define __BOARD_AC6319A_MOUSE_CFG_H__

#ifdef CONFIG_BOARD_AC6319A_MOUSE
...
#endif /* CONFIG_BOARD_AC6319A_MOUSE */

#endif /* __BOARD_AC6319A_MOUSE_CFG_H__ */

Source: board_ac6319a_mouse_cfg.h

构建系统对板级文件的引用

CodeBlocks 工程(.cbp)与 Makefile 均把全部候选板文件列入编译单元,由宏守卫决定实际内容,例如 AC631X_hid.cbp#L168 引用了 board_ac6319a_mouse.c;board/bd29/Makefile#L17 同样将 board_ac6319a_mouse.o 加入目标文件列表。这种「工程引用全部、宏守卫择一」的模式保证了两种构建方式(CodeBlocks / Make)行为一致。

核心流程:从芯片选择到固件构建

下图展示从选择芯片型号到生成固件的完整流程:

flowchart TD
    Start([开发者选择芯片]) --> Step1["编辑 board_config.h<br/>启用对应 CONFIG_BOARD_* 宏"]
    Step1 --> Step2{"使用哪种构建方式?"}
    Step2 -->|"CodeBlocks"| CB["打开应用目录下 .cbp 工程<br/>(如 AC631X_hid.cbp)"]
    Step2 -->|"Makefile"| MK["进入 apps/app_cfg 选择目标<br/>执行 make"]
    CB --> Step3["预处理器按宏展开<br/>仅编译被选中的板级文件"]
    MK --> Step3
    Step3 --> Step4["链接 lib.a 与杰理子系统库"]
    Step4 --> Step5["生成目标芯片固件<br/>+ OTA 升级包"]
    Step5 --> Step6["烧录/OTA 到 AC630/1N 芯片"]
    Step6 --> End([运行])

    subgraph sg_Notes["说明"]
        N1["README 提示:v0.2.0 中 AC630/1N 为预量产芯片<br/>用于原型与评估"]
    end

流程说明:

  1. 选择芯片:在 apps/<app>/board/bd29/board_config.h 中启用目标芯片对应的 CONFIG_BOARD_* 宏(如切换 HID 鼠标示例从 AC6302A 到 AC6319A,只需把 CONFIG_BOARD_AC6302A_MOUSE 注释、CONFIG_BOARD_AC6319A_MOUSE 取消注释)。
  2. 构建方式二选一:按 README.md 说明,Codeblocks 方式直接打开工程目录下的 .cbp 文件双击构建;Makefile 方式在 apps/app_cfg 选择目标后执行 make。
  3. 条件编译裁剪:预处理器根据启用的宏只展开对应板级文件的代码,其余板的初始化代码被排除,避免 IO 冲突与代码膨胀。
  4. 链接与产出:与 lib.a 及同命名约定的仓库链接后生成固件与 OTA 包(芯片均支持 OTA)。
  5. 烧录运行:通过烧录器或 OTA 部署到目标芯片。

使用示例

示例 1:切换 HID 示例的目标芯片

以下代码展示了在同一工程中如何从 AC6302A 鼠标板切换到 AC6319A 鼠标板:

// #define CONFIG_BOARD_AC630X_DEMO
// #define CONFIG_BOARD_AC6302A_MOUSE   // 注释掉当前默认板
#define CONFIG_BOARD_AC6319A_MOUSE      // 启用 AC6319A 鼠标板
// #define CONFIG_BOARD_AC6313_DEMO
// #define CONFIG_BOARD_AC6318_DEMO

Source: board_config.h

切换后重新构建,编译器仅会编译 board_ac6319a_mouse.c 及其配置头文件中的内容。

示例 2:查看 CodeBlocks 工程中板级文件的组织

AC631X HID 工程把多个型号的板级源文件都列入工程,由宏守卫控制实际编译内容:

<Unit filename="../../../../apps/hid/board/bd29/board_ac6318_demo_cfg.h" />
<Unit filename="../../../../apps/hid/board/bd29/board_ac6319a_mouse.c"><Option compilerVer="CC"/></Unit>
<Unit filename="../../../../apps/hid/board/bd29/board_ac6319a_mouse_cfg.h" />

Source: AC631X_hid.cbp

这种组织方式的好处是:新增一款芯片/评估板时,只需添加一对 board_acXXX.c / board_acXXX_cfg.h 文件并注册进 board_config.h 与工程文件,无需改动应用层逻辑。

配置选项

板级选择宏(CONFIG_BOARD_*)

在 apps/<app>/board/bd29/board_config.h 中通过启用/注释宏来选择目标芯片评估板:

配置宏类型默认状态说明
CONFIG_BOARD_AC630X_DEMO编译开关注释(未启用)启用 AC630X 系列评估板配置
CONFIG_BOARD_AC6302A_MOUSE编译开关启用(HID 示例默认)启用 AC6302A 鼠标板配置
CONFIG_BOARD_AC6319A_MOUSE编译开关注释(未启用)启用 AC6319A 鼠标板配置
CONFIG_BOARD_AC6313_DEMO编译开关注释(未启用)启用 AC6313 评估板配置
CONFIG_BOARD_AC6318_DEMO编译开关注释(未启用)启用 AC6318 评估板配置

注意:同一时间只能启用一个 CONFIG_BOARD_* 宏,否则多个板的初始化代码会同时编译,可能产生 IO 配置冲突或链接重复符号。

芯片硬件规格速查

参数可选值/范围
内置充电有(AC6311A/AC6313A,250mA)/ 无(AC6318A/AC6319A)
电源方案LDO 或 LDO/DCDC(按型号)
工作电压1.8~5.5V(带充电型号)/ 1.8~3.6V(无充电型号)
蓝牙 PHY1Mbps、2Mbps、Coded PHY
工作温度-40°C ~ 85°C(全系列)

失败模式、边界情况与并发注意

  • 预量产芯片声明:根据 README.md 的免责声明,AC630/1N 系列为**预量产(pre-production)**器件,v0.2.0 中仅供原型与评估使用,量产部署支持即将到来。选型量产时需关注后续版本支持状态。
  • 构建配置冲突:同时启用多个 CONFIG_BOARD_* 宏是常见错误,会导致板级初始化重复定义、IO 引脚冲突。切换芯片后应全量重建(clean build),避免旧宏产物残留。
  • 电源方案选择:AC6318A 仅支持 LDO,若沿用 AC6319A 的 DCDC 配置会引入未定义行为;不同型号的电源/充电寄存器配置由各自板级文件维护,不可跨型号混用板级文件。
  • Flash/RAM 预算:全系列 Flash 均为 256KB、RAM 48~56KB,启用 Mesh 等较大功能时需注意代码与数据空间占用,超出则链接失败——这是平台统一带来的硬约束。
  • BLE 并发角色:芯片支持 Classic SPP 与 LE 同时工作(双模),但经典蓝牙与 BLE 共享射频资源,高吞吐透传与 LE 广播并发时需评估空中调度,SDK 底层(lib.a)负责仲裁,上层不应假设独占射频。

性能与运维注意事项

  • 功耗优化路径:芯片提供 Sleep@30µA 与 Systemoff@1µA 两级低功耗模式,产品设计时应按待机时长需求选择:需要快速唤醒的防丢/Beacon 场景用 Sleep,长期关机场景用 Systemoff。
  • OTA 能力:全系列支持 OTA,SDK 构建产物中包含升级包,出厂固件应预留 OTA 分区与升级入口,便于产品上市后远程维护。
  • 构建环境:SDK 支持 Codeblocks 与 Makefile 两种构建方式(README.md#L31-L45),JL Toolchain 从百度网盘获取(提取码 ukgx)。两种方式产出一致,团队可按习惯选择。

扩展点

  • 新增芯片/评估板:在 apps/<app>/board/bd29/ 下新增 board_acXXX.c 与 board_acXXX_cfg.h 一对文件,参照现有 board_ac6319a_mouse.c 的 #ifdef CONFIG_BOARD_XXX 守卫结构;然后在 board_config.h 中注册新的 CONFIG_BOARD_XXX 宏并 #include 新配置文件;最后将新文件加入 .cbp 工程与 Makefile 的源文件列表。
  • 新增应用场景:同系列芯片支持防丢、Beacon、HID、透传四类官方场景,新场景可在现有 apps 工程基础上复制改造,板级层无需改动。
  • 协议扩展:蓝牙协议栈在 Zephyr 基础上由杰理扩展子系统与 lib.a 提供,扩展协议能力(如自定义 GATT Service)通过应用层 API 实现,本页不展开。

相关链接

  • README.md — SDK 总览与构建说明
  • doc/README.md — 630/1N Brief 芯片规格表
  • board_config.h — 板级/芯片选择入口
  • board_ac6319a_mouse.c — AC6319A 鼠标板实现示例
  • AC631X_hid.cbp — HID 工程板级文件组织
  • SDK 介绍文档与发布版本信息:doc/AC630N_bt_data_transfer_sdk介绍.pdf、doc/AC630N_bt_data_transfer_sdk_发布版本信息.pdf
Prev
构建系统与编译流程