nRF5340 audio sync lost when adding oscillator CONFIG

Hello,

I'm using nRF5340 audio application with nRF Connect SDK v2.6.0 on nrf5340 Audio DK.

Since it will be transplanted to the custom board in the future, I added the oscillator-related config to prj.conf.

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y

After adding these configurations, bis headset cannot sync with bis gateway.

Here is the log.

SEGGER J-Link V7.94e - Real time terminal output
SEGGER J-Link (unknown) V1.0, SN=1050169355
Process: JLink.exe


*** Booting nRF Connect SDK v3.5.99-ncs1 ***

 appAmpAD85020bInit SD:0 

 Amp init finish. 
HL [00:00:00.099,029] <inf> fw_info: 
         nRF5340 Audio nRF5340 Audio DK cpuapp                      
         NCS base version: 2.6.0                            
         Cmake run : Wed Aug 07 13:48:10 2024
HL [00:00:00.099,029] <inf> fw_info: ------- DEBUG BUILD -------
HL [00:00:00.099,029] <inf> fw_info: HEADSET left device
HL [00:00:00.111,602] <inf> bt_mgmt_ctlr_cfg: Controller: SoftDevice: Version 5.4 (0x0d), Revision 8591
HL [00:00:00.111,816] <inf> bt_mgmt: Local identity addr: DF:B5:63:AD:F0:BA (random)
HL [00:00:00.113,830] <inf> bt_mgmt_scan: Local addr: DF:B5:63:AD:F0:BA (random). May time out. Updates not printed
HL [00:00:00.113,861] <inf> bt_mgmt_scan: Scanning successfully started
HL [00:00:16.649,047] <inf> bt_mgmt_scan: Broadcast source NRF5340_BROADCASTER found, id: 0xb8e5c8
HL [00:00:16.847,015] <inf> main: PA synced
HL [00:00:16.847,290] <inf> broadcast_sink: Syncing to broadcast stream index 0
HL [00:00:16.847,442] <inf> main: Presentation delay 10000 us is set
HL [00:00:17.647,094] <inf> main: PA sync lost, reason: 31
HL [00:00:17.648,010] <inf> bt_mgmt_scan: Local addr: DF:B5:63:AD:F0:BA (random). May time out. Updates not printed
HL [00:00:17.648,010] <inf> bt_mgmt_scan: Scanning successfully started
HL [00:00:17.648,010] <inf> main: Restarted scanning for broadcaster
HL [00:00:17.648,071] <inf> broadcast_sink: Stream sync lost
HL [00:00:17.648,132] <inf> broadcast_sink: Stream index 0 stopped. Reason: 62
HL [00:00:17.648,223] <inf> main: Sync lost
HL [00:00:17.713,836] <inf> bt_mgmt_scan: Broadcast source NRF5340_BROADCASTER found, id: 0xb8e5c8
HL [00:00:17.833,862] <inf> main: PA synced
HL [00:00:17.834,045] <inf> broadcast_sink: Syncing to broadcast stream index 0
HL [00:00:17.834,228] <inf> main: Presentation delay 10000 us is set
HL [00:00:18.633,941] <inf> main: PA sync lost, reason: 31
HL [00:00:18.634,826] <inf> bt_mgmt_scan: Local addr: DF:B5:63:AD:F0:BA (random). May time out. Updates not printed
HL [00:00:18.634,826] <inf> bt_mgmt_scan: Scanning successfully started
HL [00:00:18.634,826] <inf> main: Restarted scanning for broadcaster
HL [00:00:18.634,887] <inf> broadcast_sink: Stream sync lost
HL [00:00:18.634,948] <inf> broadcast_sink: Stream index 0 stopped. Reason: 62
HL [00:00:18.635,040] <inf> main: Sync lost
HL [00:00:18.640,228] <inf> bt_mgmt_scan: Broadcast source NRF5340_BROADCASTER found, id: 0xb8e5c8
HL [00:00:18.820,251] <inf> main: PA synced
HL [00:00:18.820,465] <inf> broadcast_sink: Syncing to broadcast stream index 0
HL [00:00:18.820,617] <inf> main: Presentation delay 10000 us is set
HL [00:00:19.620,361] <inf> main: PA sync lost, reason: 31
HL [00:00:19.621,215] <inf> bt_mgmt_scan: Local addr: DF:B5:63:AD:F0:BA (random). May time out. Updates not printed
HL [00:00:19.621,215] <inf> bt_mgmt_scan: Scanning successfully started
HL [00:00:19.621,215] <inf> main: Restarted scanning for broadcaster
HL [00:00:19.621,276] <inf> broadcast_sink: Stream sync lost
HL [00:00:19.621,337] <inf> broadcast_sink: Stream index 0 stopped. Reason: 62
HL [00:00:19.621,459] <inf> main: Sync lost
HL [00:00:19.647,033] <inf> bt_mgmt_scan: Broadcast source NRF5340_BROADCASTER found, id: 0xb8e5c8
HL [00:00:19.806,915] <inf> main: PA synced
HL [00:00:19.807,128] <inf> broadcast_sink: Syncing to broadcast stream index 0
HL [00:00:19.807,281] <inf> main: Presentation delay 10000 us is set
HL [00:00:20.607,025] <inf> main: PA sync lost, reason: 31
HL [00:00:20.607,879] <inf> bt_mgmt_scan: Local addr: DF:B5:63:AD:F0:BA (random). May time out. Updates not printed
HL [00:00:20.607,879] <inf> bt_mgmt_scan: Scanning successfully started
HL [00:00:20.607,879] <inf> main: Restarted scanning for broadcaster
HL [00:00:20.607,940] <inf> broadcast_sink: Stream sync lost
HL [00:00:20.608,001] <inf> broadcast_sink: Stream index 0 stopped. Reason: 62
HL [00:00:20.608,123] <inf> main: Sync lost

When I use NCS v2.2.0, adding the oscillator-related configuration will not cause sync loss problem.

Why does this situation occur when using NCS v2.6.0? Is there any solution?

Parents
  • Hello,

    The first important difference in terms of firmware I can think of between the two versions is that NCS v2.6.0 uses the SoftDevice Controller while the v2.2.0 uses the LE Audio controller for nRF5340. I will ask internally and come back to you before the weekend with more.

    Best regards,

    Maria

  • Hello,

    Yes, sorry about your wait.

    LandyWang said:
    Will the differences between these two versions of firmware require additional steps during burning, or will the software require additional modifications?

    The building procedure is the same, but the flashing has changed for the command line. For NCS v2.6.0 you can use west flash --erase instead of using nrfjprog. The commands used with the buildprog.py script are the same for both NCS versions.

    After adding these configurations, bis headset cannot sync with bis gateway.

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC and CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH are a choice for CONFIG_CLOCK_CONTROL_NRF_SOURCE which means that the last symbol to be set will n-select all the other choices. So in your case, only CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH is selected.

    Based on previous discussions on this topic, it should be compatible with the audio application, but there could be updates which I am not aware about.

    Please double check which clock control source you actually need (RC or SYNTH).

    I was able to reproduce the sync loss with SYNTH, so if this is what you need, I will search for a possible solution for the sync loss.

    Best regards,

    Maria

Reply
  • Hello,

    Yes, sorry about your wait.

    LandyWang said:
    Will the differences between these two versions of firmware require additional steps during burning, or will the software require additional modifications?

    The building procedure is the same, but the flashing has changed for the command line. For NCS v2.6.0 you can use west flash --erase instead of using nrfjprog. The commands used with the buildprog.py script are the same for both NCS versions.

    After adding these configurations, bis headset cannot sync with bis gateway.

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC and CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH are a choice for CONFIG_CLOCK_CONTROL_NRF_SOURCE which means that the last symbol to be set will n-select all the other choices. So in your case, only CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH is selected.

    Based on previous discussions on this topic, it should be compatible with the audio application, but there could be updates which I am not aware about.

    Please double check which clock control source you actually need (RC or SYNTH).

    I was able to reproduce the sync loss with SYNTH, so if this is what you need, I will search for a possible solution for the sync loss.

    Best regards,

    Maria

Children
Related