cancel
Showing results for 
Search instead for 
Did you mean: 

What is DTB0?

Å atov
Associate II

I was looking at the BLE_Sync sample code, when I stumbled upon something I couldn't find documented.

void DTB_Init(void)
{
  /* Enable the peripheral clock of GPIO Port A */
  RCC->AHBENR |= 1<<3;
   
  /* PA1 tx/rx req*/
  GPIOA->MODER   |= (2<<2);   // Alternate Function Mode
  GPIOA->AFR[0]    |= (7<<4);   // Alternate Function Mode 7
  
  /*Access to DTB0_DIG_ENG through RRM register starting from offest 0x100*/
  RRM->DTB0_DIG_ENG = 0x0D; /*Enabling Blue #0 mode*/
}

What is exactly DTB0?

Thanks!

5 REPLIES 5
AndyR1
Senior

Hello @?atov​ 

I couldn't find any specific documention but looking in RM0479 and directly in SDK sources here what I understood :

The RRM stands for Radio Ressource Management of the MR_BLE and DTBx is to change the Radio FSM directly through a test bus, if you have a look in function like RADIO_StopTone and RADIO_StartTone, there is byte like 0x39 which should correspond to a FSM state

0693W00000JQBroQAH.pngAndy.

Å atov
Associate II

Thanks. RADIO_StartTone and RADIO_StopTone fiddle with DTB5_DIG_ENG register, which is more documented in RM0480. The code snippet I posted plays with DTB0_DIG_ENG, which is not documented. I guess that's a way for the firmware to talk to MR_BLE.

Another thing that I find undocumented, is the alternate function 7 for PA1 that seems to be enabled in line 8.

AndyR1
Senior

I didn't know this RM0480, thanks

AndyR1
Senior

4 I/O operating modes in RM0479

"The AF5 and AF7 configurations are ST internal only (for design, validation or engineering

teams) and should not be proposed to external customers"

Å atov
Associate II

ooops :)

That sentence is not in version 2 of RM0479 from July 2021, btw.