无线麦系列从入门到进阶开发指导
📎 原始文档:https://www.kdocs.cn/l/csyEM1XWisnE 无线麦系列从入门到进阶开发指导
- 入门准备(必看) 新手入门前,需准备好硬件、软件和相关资料,避免操作中因缺少物品卡壳。
由于所使用到的工具与音箱等sdk 应用开发用到的工具安装和使用方式完全一致,所以直接查看下面文档中 sdk 介绍及常规功能开发” 章节前面的基本入门介绍的内容即可。
音箱入门到进阶指导文档(编写中).otl
文档前言:由于sdk 发展问题,旧版本sdk与版本sdk软件框架存在过多差异,为了更好地区分由于为了区分三种有明显差异的sdk才做的命名区分,
- 用来开发AC697N /JL701N 芯片做无线麦产品的sdk系列软件框架,命名为“传统无线麦软件框架”。
- 用来开发AC706N/AW32N 芯片做无线麦产品的sdk系列软件框架,命名为“音箱无线麦软件框架”。
- 基于JLStudio 可视化平台开发的无线麦系列,比如aw36N/AW710N 等芯片做无线麦产品的sdk系列软件框架,命名为“可视化JLstudio无线麦框架”。
- SDK介绍以及常规功能开发 这部分也可以看:项目帮助文档
- 传统无线麦软件框架: AC697N /JL701N wireless_mic_sdk 无线麦sdk系列的软件开发指导:
该章节只对SDK部分机制进行简单指导,详情请参阅SDK目录下的doc文件夹中的《wireless_mic_SDK_介绍.pdf》:
- 文件架构 注意:
wireless_mic_sdk-v1.4.0_xxx之前的SDK版本codeblock打开的工程入口: 都在sdk 第一级路径下
wireless_mic_sdk-v1.4.0_xxx以及后面的SDK版本支持701N系列,对应的codeblock打开的工程入口
在路径..\apps\adapter\board\brxx中,使用697N系列选择br30中的codeblock,使用
701N系列选择br28中的codeblock。

- 板级配置 传统无线麦软件框架sdk包对应形态说明:
传统无线麦软件框架sdk包中每一个sdk 包的工程都已经默认选好了板级,不需要更改,固定的sdk 就用来开发固定的功能,并且TX(发射端)和RX(接收端)从代码旧已然固定sdk充当的角色:
如下列举例说明:
wireless_mic_sdk-v1.4.4_2t1 中的tx 工程就是两发一收的发射端代码。
wireless_mic_sdk-v1.4.4_2t1 中的rx 工程就是两发一收的接收端代码。
wireless_mic_sdk-v1.4.2_duplex_patch1 中的 dongle 工程 就是 游戏耳机中的 dongle 端代码
wireless_mic_sdk-v1.4.2_duplex_patch1 中的 dongle 工程 就是 游戏耳机中的 earphone端代码
下图以wireless_mic_sdk-v1.4.4_2t1 中的tx 工程 为例说明默认固定的选择配置。
注意:如果使用默认sdk 去修改别的数据流向应用,则需要具体功能具体评估并修改使用。已有实现的音频流程实现的demo会在后续的章节做汇总展示。 - 软件流程
SDK启动流程:
- 程序的入口函数main( )位于init.c文件,而main主函数中调用setup_arch( )进行了内存/时钟等初始化,并创建了模式任务处理,并在任务处理app_task_handler( )中分别分别进行了任务的初始化app_init( )和任务的调度处理app_main( )。
- steup_arch( )函数:该函数主要进行内存的初始化、看门狗初始化、时钟的初始化、初始io及系统时间的初始化等芯片的初始化功能(大致理解为程序的运行环境做准备)。
- app_init( )函数:该函数则是为任务(模式)进行准备,进行解码初始化、按键开机检测和CUP复位部分操作等。
- app_main( )函数:任务主函数app_main则在app_mian.c中进行处理,其中比较重要的是对开机初始模式进行设置跑充电模式还是无线麦主流程模式,主流程app_main_run()则是该sdk主要无线麦功能部分流程。 SDK主要工作流程:
无线麦sdk的主要工作流程分为 设备的连接、连接后的音频流处理 - adapter_idev_open 和 adapter_odev_open 分别是输入设备和输出设备的选择初始化,并根据ID对应注册操作回调函数。

- adapter_media_open 主要是注册音频流的所有处理节点。

- 事件管理 主要分为无线麦主流程事件处理 adapter_process_event_parse和自行注册的 拦截事件处理

- 日志机制 由于传统无线麦软件框架 的日志总开关存放文件不同,所以特意标明,其余IO或者uart 的开关与其他sdk一致,就不再重复赘述。
①日志总开关
注意:传统无线麦软件框架 的SDK 中的 user_config.h 文件里面的 CONFIG_DEBUG_ENABLE(注释掉=关掉所有打印)
②连接过程信息日志开关
le_common.h里面的LE_DEBUG_PRINT_EN(0=关掉连接过程时候的相关打印)
6. 基本功能配置说明 可直接查看资料:wireless_mic_SDK_介绍(Rev 1.4.2).pdf
- 基本功能的配置,自带的DOC文件夹中的wireless_mic_SDK_介绍.pdf ,已有详细介绍,就不展开大的篇幅重复赘述。

音效处理配置
变音效果或drc 参数等设置,都是通过工具设置参数,具体使用可以参考:自定义命令传输或命令回传的使用方式 由此点击跳转查看第2点介绍无线麦相关应用.otl
无线OTA升级配置 由此点击跳转查看第2点介绍无线麦无线升级方法步骤.otl
测试频偏值方式配置方式与无线OTA升级配置相同点击跳转说明无线麦升级问题专栏.otl音箱无线麦软件框架: AC706N/AW32N wireless_mic_sdk 无线麦sdk系列的开发
【金山文档 | WPS云文档】 无线音频产品开发指南
https://kdocs.cn/l/cmXxuuS3Pujt
功能模块、FAQ):
内含杰理FAQ文档,积累了很多常见问题的解决方案,各位客户请遵循先自查后咨询的流程,提高技术咨询的效率和质量。
芯片选型(对应的芯片)
产品加对应的sdk 开发
尽可能使用新技术
SDK 框架入门:
sdk 详细介绍,代码细节部分的讲解
代码框架的介绍
传统无线麦框架(AC697N /JL701N/AC706N/AW32N)
测试盒升级流程注意:
连接声音问题debug流程:
底噪问题排查debug流程:
706配置参数对齐
连接问题debug流程:
两个芯片之间的干扰问题处理debug方式:
无线麦芯片与别的芯片一起使用时候的 同频干扰处理:
TX和RX之间的配对连接名字和绑定功能的解释:
无线升级、串口升级的使用办法和注意事项:
710、706sdk 的下载和使用,
各个芯片及应用的命令传输机制的讲解
- 可视化JLstudio无线麦框架
四、无线麦典型常见问题FQA:
- 无线麦产品无声问题debug 流程 总体的思路:默认公版sdk 的连接是可以直接连接上的,可以看打印有连接信息,连接上之后,可以通过让TX全部都发送正弦波音频数据给到RX,RX听声音即可判断音频流传输通路是否搭通。
传统无线麦软件框架:
可以打开 get_sine_data(&tx_s_cnt, data, olen / 2, 1);这句代码的注释,会将mic 采集回来的数据替换成正弦波信号去debug.
音箱无线麦软件框架:
可以打开 #define TCFG_SOUND_PCM_DELAY_TEST 1 宏,会将mic 采集回来的数据替换成正弦波信号去debug.
📂技术文档指引:
📌JL701N/AC697N 传统无线麦软件框架sdk技术文档(功能模块、FAQ):
JL701N/AC697N 传统无线麦软件框架sdk中已处理的问题和可以实现的功能demo 参考文档:
无线音频产品开发指南.otl
📌JL706N 音箱无线麦软件框架sdk技术文档(功能模块、FAQ):
AC706N无线麦问题整理:AC706N无线麦问题整理.otl
AC706N音箱入门到进阶指导文档:AC706N音箱问题整理.otl
📌AW32N 音箱无线麦软件框架sdk技术文档(功能模块、FAQ):
AW32N无线麦问题整理:AW32N无线麦问题整理.otl
FAQ: 经常提及的 无线麦的 延时及信噪比指标的公版测试数据:有新的SDK 包的测试数据会同步持续更新上去