3. AHB up/down converter

The BlueNRG-LPS device can support several system clock frequencies from 1 MHz to 64 MHz.

The MR_BLE/Radio sub-system IP does not need more than 32 MHz to achieve the processing of the radio transfers while the system (CPU, DMA, memories) may require higher performance for application purpose.

To avoid useless overconsumption, AHB up/down converter block has been added to introduce an adjustable divider by one, two or four on AHB and APB bus of the MR_BLE (linked to AHBRF / APB2 bridge) versus the system bus matrix frequency. This block allows dividing by one, two or four the system clock for the MR_BLE IP of the device.

When the system and the MR_BLE share the same frequency, the AHB up/down converter block only transfers the AHB signals from one clock domain to the other.

Note: The system clock must be at 16/32/64 MHz and always equal or faster than MR_BLE clock when radio is used (no other frequencies).

3.1 AHB up/down converter description

The AHB up/down converter role is to allow the STM32WB05xZ device to support a fast system clock (up to 64 MHz).

The AHBUPCONV block manages:

Figure 3. AHB up/down converter

Block diagram of the AHB up/down converter. The diagram is split by a vertical dashed line into two clock domains. The left domain (MR_BLE IP) runs at 16 MHz or 32 MHz. The right domain (System bus matrix) runs at 16 MHz, 32 MHz, or 64 MHz. The MR_BLE IP connects to an 'Up' converter (1x/2x/4x) via AHB and APB buses. The 'Up' converter connects to the System bus matrix via an AHB bus. Below the MR_BLE IP, an APB/AHB bridge connects to a 'Down' converter (4x/2x/1x), which in turn connects to the System bus matrix via an AHB bus. Control and status data are exchanged between the converters and an RCC block, which sends an interrupt to the CPU.
Block diagram of the AHB up/down converter. The diagram is split by a vertical dashed line into two clock domains. The left domain (MR_BLE IP) runs at 16 MHz or 32 MHz. The right domain (System bus matrix) runs at 16 MHz, 32 MHz, or 64 MHz. The MR_BLE IP connects to an 'Up' converter (1x/2x/4x) via AHB and APB buses. The 'Up' converter connects to the System bus matrix via an AHB bus. Below the MR_BLE IP, an APB/AHB bridge connects to a 'Down' converter (4x/2x/1x), which in turn connects to the System bus matrix via an AHB bus. Control and status data are exchanged between the converters and an RCC block, which sends an interrupt to the CPU.

The management of data transfer versus clock domain and possible clock switch request is done using state machines:

When a CPU/system clock frequency switch is needed (activate or deactivate the divider by two between the system and the MR_BLE), the user must request the new system clock targeted frequency in the RCC_CSCMDR.REQUEST bit (see Section 6.6.6: Clock switch command register (RCC_CSCMDR) for details).

When receiving a new divider ratio to apply (from the RCC), the AHBUPCONV block:

Note: To respect the AHB lite protocol, the HREADY signal is fallen down only after the address phase of a new transfer, the new transfer phase data being stored internally in the converter.