本帖最后由 Wallytina 于 2025-4-10 15:59 编辑
CIS&BIS
|
| | CIS | Connected Isochronous Stream | 多连接,双向,左右声道同步。将来的应用场景有TWS耳机,头戴式耳机等等。 | BIS | Broadcast Isochronous Stream | 广播,单向,单声道。应用场景大多为公共场所收听,如机场广播,校园广播,导游广播等。 | LE Audio DK
|
| nRF5340 | 主控 | nRF5340 | 第二个5340, 用于DEBUG, 烧录。 | nPM1100 | PMIC | CS47L63 | Cirrus logic AD/DA, 立体声输入,单声道输出。 | PDM MIC |
| USB-C | gateway USB 音频输入接口/供电 | LINE IN | gateway 3.5mm 音频输入接口 | SD卡 |
| 按键/LED |
| 锂电池接口 |
| 双向音频双向音频是基于CIS的应用,做测试时,只需要将如下两个宏打开即可。 - CONFIG_STREAM_BIDIRECTIONAL
- CONFIG_WALKIE_TALKIE_DEMO
打开对讲机功能之后,MIC作为声音的输入,HEADPHONE作为声音的输出,这两个接口均接到cirrus logic芯片上,然后通过I2S与nRF5340连接,传输音频。
FOTA
在编译时我们在脚本后增加参数-m internal/external 即可打开FOTA功能 python buildprog.py -c both -b debug -d both -m internal -M
烧录完成之后要进入FOTA模式需要长按BTN4 &RESET,接着松开RESET,BTN4保持按着。
过1~2s后空中将会看到广播名称带有DFU的设备,如下:
- Gateway: NRF5340_AUDIO_GW_DFU
- Left Headset: NRF5340_AUDIO_HL_DFU
- Right Headset: NRF5340_AUDIO_HR_DFU
手机连接之后,即可进行OTA升级 dfu_application.zip 是带有多个image的压缩包app_update.bin 是用于升级appcore的文件net_core_app_update.bin 是用于升级netcore的文件当我们选择使用external flash时,由于Audio DK上没有自带外部flash,
所以我们需要外接一个MX25R6435F
DK pin | SPI NOR Flash pin | Arduino pin | P0.08 | SCK | D13 | P0.09 | MOSI | D11 | P0.10 | MISO | D12 | P1.10 | CS | D8 |
双BIS gateway- CONFIG_TRANSPORT_BIS=y
- CONFIG_BT_AUDIO_USE_BROADCAST_NAME_ALT=y
- CONFIG_BT_AUDIO_BROADCAST_NAME_ALT=”string name”
音频数据流解析
重要API及其所在的文件位置 |
| Audio_datapath.c | audio_datapath_i2s_blk_complete() | Audio_system.c | encoder_thread() | Streamctrl.c | streamctrl_encoded_data_send() | Streamctrl.c | le_audio_rx_data_handler() | Streamctrl.c | audio_datapath_thread() | Audio_datapath.c | audio_datapath_stream_out() | Audio_datapath.c | audio_datapath_i2s_blk_complete() | Audio_usb.c | data_received() | Audio_system.c | audio_decode() |
TIPS - nRF Connect SDK 2.4.0要使用自带的toolchain,否则可能出现一些奇怪的问题。
- 如果出现无法找到某某文件的话,可能是目录地址太长。
- 如果出现找不到network.hex时,可能是因为你在其它目录创建了LE Audio工程,因为脚本在寻找network.hex时是以[color=rgb(0 119 200/var(--tw-text-opacity,1))]nRF Connect SDK工程为相对位置的。
- docs.nordicsemi.com
|