项目简介
本项目是基于nRF Connect SDK开发的nRF5340 Audio应用程序,借助等时通道(ISO),利用LC3编解码器实现音频数据的压缩与解压缩,达成音频播放功能。该应用可作为网关或耳机设备,支持“连接等时流”(CIS)和“广播等时流”(BIS)两种模式,网关和耳机代码库相同但固件不同,测试时需同时使用这两类设备。
项目的主要特性和功能
- 多样音频传输模式:支持CIS和BIS模式。CIS模式可实现立体声播放,当前版本仅支持单向通信;BIS模式能将音频流广播给无限数量未连接接收器,当前版本仅支持单声道声音。
- 音频同步机制:通过专有同步模块,包含演示补偿和漂移补偿,保证所有耳机同时以正确速度播放音频。
- 硬件兼容性:仅适用于nRF5340 Audio DK硬件平台,测试至少需两个开发套件(一个网关和一个耳机),CIS模式实现真无线立体声(TWS)需三个套件。
- 软件编解码器支持:仅支持专为LE Audio开发的LC3软件编解码器。
- 丰富用户界面:利用开发套件上的开关、按钮和LED控制应用程序和显示信息,如开关控制电源和调试功能,按钮调节音量、播放/暂停等,LED指示蓝牙连接、同步状态等。
- 固件升级功能:支持固件空中升级(FOTA),可对应用程序核心和网络核心的应用进行升级,需额外外部闪存屏蔽,并使用特定配置和脚本操作。
安装使用步骤
测试开发套件功能
- 将设备插入USB端口。
- 用开/关开关打开开发套件。
- 若底部中心开口周围的RGB1灯变为实心黄色,OB/EXT灯变为实心绿色,LED3开始闪烁绿色,表明套件功能正常。
构建和编程
使用脚本构建和编程(推荐)
- 准备JSON文件:更新
nrf5340_audio_dk_devices.json
文件,包含开发套件的SEGGER序列号、设备类型(网关或耳机),CIS模式耳机需设置通道。 - 运行脚本:在
buildprog
目录下运行buildprog.py
脚本,按需提供参数,如核心类型(-c
)、应用程序版本(-b
)、设备类型(-d
)、DFU类型(-m
)和网络核心引导加载程序最小尺寸(-M
),示例:python buildprog.py -c app -b debug -d both
。 - 编程:运行脚本时加
-p
参数可在构建文件后对一个或两个核心编程。WSL编程有问题可加-s
参数顺序编程,编程失败可加--recover-on-fail
或-f
参数自动恢复并重新编程。
使用命令行构建和编程
- 构建应用程序:选择构建标志组合(设备类型、应用程序版本和DFU闪存内存布局),用标准构建步骤构建,示例:
west build -b nrf5340_audio_dk_nrf5340_cpuapp --pristine -- -DCONFIG_AUDIO_DEV=1 -DCONF_FILE=prj_release.conf
。 - 编程应用程序:依次插入USB、打开开发套件、打印SEGGER序列号、编程网络核心和应用程序核心。读保护错误致编程失败需先恢复设备再重新编程,CIS模式两个耳机设备需对每个耳机的UICR进行通道填充。
测试
测试默认CIS模式
- 确保开发套件插入USB端口并开启,编程后RGB2和LED3开始闪烁绿色。
- 等待网关的LED1闪烁蓝色,表示已连接至少一个耳机并准备发送数据。
- 在操作系统声音设置中选“nRF5340 USB Audio”(网关)作为输出设备。
- 将耳机连接到两个耳机设备的耳机插孔。
- 在PC上开始音频播放。
- 等待两个耳机的LED1闪烁蓝色,表示音频流已开始。
- 等待耳机的LED2亮起实心绿色,表示音频同步已实现。
- 按耳机“VOL+”按钮,两个耳机音量增加。
- 按网关“VOL-”按钮,两个耳机音量降低。
- 按耳机“PLAY/PAUSE”按钮,该耳机停止播放,另一个继续。
- 按网关“RESET”按钮,网关重置,未暂停耳机停止播放,一段时间后恢复。
- 按暂停耳机“PLAY/PAUSE”按钮,播放恢复并与另一个耳机同步。
- 多次按网关“BTN 4”按钮,音频流停止,网关向两个耳机发送测试音调。
测试BIS模式
与测试CIS模式类似,但需在构建应用程序前手动选择BIS模式,接收器可使用不同音频设置播放音频流。
测试FOTA升级
- 配置应用程序支持FOTA。
- 在Android或iOS设备上安装
nRF Connect Device Manager
应用程序。 - 将外部闪存屏蔽连接到耳机。
- 确保耳机运行支持外部闪存内存DFU的固件。
- 用
buildprog.py
脚本创建包含两个核心新固件的zip文件。 - 将zip文件传输到Android或iOS设备。
- 打开
nRF Connect Device Manager
应用程序,搜索并选择“NRF5340_AUDIO_HL_DFU”设备。 - 按应用程序提示完成DFU过程。
- 验证新的应用程序核心和网络核心固件是否正常工作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】