Skip to content

匠芯创 D126 Wi-Fi / BLE 使用 ​

本文以 匠芯创(ArtInChip)D126FxR-DEMO-V1-1 为板卡参考,结合项目提供的 D126 无线调试笔记,说明产品规格、无线硬件连接和软件启动流程。核心流程是先通过 SDIO 初始化 AIC8800DW 并下载蓝牙补丁,再通过 UART3 HCI 启动 NimBLE BLE 示例。

适用范围

板卡规格来自匠芯创官方开发板文档;封装内 AIC8800DW 连接、引脚复用、补丁选择和示例日志来自项目调试笔记。笔记未注明 SDK 提交版本,以下步骤需与实际 Luban-Lite 工程核对,不代表所有 D126 封装或 SDK 版本通用。本次文档整理未进行实板验证。

产品规格 ​

项目官方开发板配置
开发板D126FxR-DEMO-V1-1
封装BGA124
内存与存储8/16 MB PSRAM;16 MB SPI NOR
显示与触控MIPI + CTP
通信RS485、CAN、UART
无线与扩展SDIO WiFi、TF-Card
多媒体Camera、Audio

上述为开发板配置,不应直接视为所有 D126 料号的固定配置。官方页面未列出 Wi-Fi 标准、频段、BLE 版本或射频性能,本文不作推断。来源:匠芯创 D126 开发板文档。

D126FxR-DEMO-V1-1 器件布局

D126FxR-DEMO-V1-1 开发板实物

图片来源:匠芯创官方开发板文档,版权归原权利人。硬件设计请参考官方原理图。

硬件连接 ​

更新后的项目笔记推测 D126 封装内包含 D12P SoC 与 AIC8800DW 射频两块硅片;这属于项目推测,尚未由原厂封装资料确认。CPU 运行 Luban-Lite 和 NimBLE;Wi-Fi 与 BLE 分别使用以下数据链路。这里的端口名是 SoC 信号名,不是开发板排针编号,不要据此直接外接跳线。

链路引脚 / 复用作用
SDMC1 / SDIOPE.12~PE.17,功能 8下载 Wi-Fi 固件、蓝牙补丁,并传输 Wi-Fi 数据
UART3 TXPB.18,功能 7CPU → 蓝牙控制器
UART3 RXPB.19,功能 7蓝牙控制器 → CPU
UART3 流控PB.20、PB.21,功能 7RTS/CTS;两脚具体对应关系需查实际 pinmux
Wi-Fi 电源控制PE.18,功能 1GPIO 电源使能
蓝牙电源控制PE.20,功能 1GPIO 电源使能
唤醒PA.6,功能 1GPIO 唤醒控制

笔记中三根控制 GPIO 拉高后射频工作;应由对应驱动管理,并按实际板卡确认电平及上电时序,不随意增加手动 GPIO 操作。

BLE HCI 使用 UART3、1500000 baud、8N1、H4、RTS/CTS 硬件流控。串口参数必须与下载到射频侧的蓝牙补丁一致。

text
D126 CPU
  ├─ SDMC1 / SDIO ──> AIC8800DW:Wi-Fi 固件、蓝牙补丁、Wi-Fi 数据
  ├─ UART3 / H4  <──> 蓝牙控制器:NimBLE HCI
  └─ GPIO         ──> 电源使能与唤醒

软件 Quickstart ​

1. 选择板级工程 ​

官方开发板页面给出的工程信息如下;应在对应 SDK 中选取配置,而不是把配置名当作终端命令执行。

项目路径 / 名称
工程目录target/d12p/d126-demo124-nor/
默认配置d12p_d126-demo124-nor_rt-thread_helloworld_defconfig
固件路径output/d12p_d126-demo124-nor_rt-thread_helloworld/images/d12p_d126-demo124-nor_v1.0.0.img

此默认工程是板卡起点,不能据此认定已启用 NimBLE 或 ble_hr。先按所用 SDK 的构建、烧录说明跑通串口控制台,再完成以下配置。

2. 配置 pinmux 和 Wi-Fi 驱动 ​

  • PE.12~PE.17 选择功能 8,接到 SDMC1,并将 SDMC1 配置为 SDIO。
  • PB.18~PB.21 选择功能 7,接到 UART3。
  • PE.18、PE.20、PA.6 选择功能 1,交由无线驱动作为 GPIO 控制。
  • Wi-Fi 芯片选择 AIC8800DW,配置上述电源与唤醒脚。
  • 打开 enable BT support,让无线初始化同时下载蓝牙补丁。

菜单层级、配置符号和文件位置可能随 SDK 改变;不要直接套用其他芯片的板级配置。

3. 核对蓝牙补丁分支 ​

项目笔记要求:在 aicbt_patch_trap_data_load() 中,DW 与 DC 使用同一 DC-H 分支,不使用 D80 补丁。记录中的 chip_sub_id=2 对应:

  • fw_adid_8800dc_u02h
  • fw_patch_8800dc_u02h

这是特定芯片版本的记录,不要强制把所有设备的 chip_sub_id 改成 2。先检查实际读出的芯片信息和 SDK 补丁匹配逻辑;补丁不匹配可能导致下载失败或控制器不应答。

4. 配置 NimBLE HCI ​

将 NimBLE HCI 设备指向 uart3,使用 H4,核对 1500000、8N1 和 RTS/CTS。启用包含 ble_hr 命令的心率示例。

项目笔记中特别区分了 D126 的 UART3 与另一份 D133 外置模块示例中的 UART2;本方案不要直接复制 UART2 配置。

5. 先初始化无线,再启动 BLE ​

在板端控制台执行:

sh
wifi -d mode sta wlan0

等待固件与补丁下载完成。笔记中的成功日志为:

text
wifi open ok

随后执行:

sh
ble_hr

期望看到:

text
GAP procedure initiated: advertise

使用手机 BLE 扫描工具查找 blehr_sensor。这是笔记记录的示例名称,固件可修改它。扫描到广播只说明 BLE 广播链路已工作,不代表所有 GATT 功能都已验证。

Wi-Fi 初始化不等于联网成功

wifi -d mode sta wlan0 用于本示例的 STA 初始化。连接路由器、配置凭据、获取 IP 和网络通信测试,应使用当前 SDK 提供的 Wi-Fi 命令说明;本文不假定该命令已经完成这些步骤。

常见问题 ​

匠芯创 D126 的 Wi-Fi 与 BLE 共用 UART 吗? ​

按本项目笔记,Wi-Fi 数据和固件、蓝牙补丁下载走 SDMC1 / SDIO;NimBLE 的蓝牙 HCI 走 UART3。两条链路承担不同任务。

为什么要先运行 wifi 命令,再运行 ble_hr? ​

本示例通过 Wi-Fi 初始化路径下载蓝牙补丁。先等待 wifi open ok,再运行 ble_hr,避免在控制器尚未准备好时启动 BLE。

手机应扫描到什么 BLE 名称? ​

笔记中的心率示例广播名为 blehr_sensor。出现广播不等于 Wi-Fi 已联网,也不代表所有 GATT 功能已验证。

D126 封装内确定有两块硅片吗? ​

目前仅为项目笔记推测,不能当作原厂已确认的封装规格。

相关教程:匠芯创 D125 cJTAG 实板调试:FT232H 与 OpenOCD。

排查顺序 ​

现象优先检查
找不到 wifi 或 ble_hr 命令驱动、命令组件与心率示例是否编入固件
无 wifi open okSDMC1 / SDIO pinmux、电源 GPIO、AIC8800DW 选择及下载日志
补丁下载中断或控制器不应答芯片版本、DC-H / D80 分支、实际补丁文件
Wi-Fi 初始化成功但 BLE 无响应BT support、UART3、1500000、H4、RTS/CTS
已出现 advertise 但手机找不到示例广播名、扫描权限、距离、天线与射频硬件
已广播但无法联网分别检查 BLE 与 Wi-Fi;广播成功不代表 Wi-Fi 已关联或获取 IP

建议保留上电到失败位置的完整日志、SDK 版本、配置差异和实际芯片版本,避免只凭最后一行报错判断原因。

资料与验证边界 ​

  • 匠芯创 D126 开发板文档:板卡规格、工程配置及两张板卡图片。
  • D126FxR-DEMO-V1-1 原理图:硬件核对入口。
  • 项目提供的 D126 无线调试笔记:SDIO / UART3 / GPIO 映射、补丁分支、命令及日志。尚缺 SDK 提交号和可复现实板测试记录。

深圳市优森美科技开发有限公司
欢迎咨询音视频产品方案与芯片选型支持
邮箱:doc@ultrasemi.com · QQ: 2272715136 · 微信/手机: 13342996846

深圳市优森美科技开发有限公司
欢迎咨询音视频产品方案与芯片选型支持
邮箱:doc@ultrasemi.com · QQ: 2272715136 · 微信/手机: 13342996846