16. Voltage reference buffer (VREFBUF)
This section applies to STM32U073xx and STM32U083xx devices only.
16.1 Introduction
The devices embed a voltage reference buffer which can be used as voltage reference for the on-chip ADC, and also as voltage reference for external components through the VREF+ pin.
16.2 VREFBUF functional description
The internal voltage reference buffer supports two voltages (a) , which are configured with VRS bits in the VREFBUF_CSR register:
The internal voltage reference can be configured in four different modes depending on ENVR and HIZ bits configuration. These modes are provided in the table below:
Table 86. VREF buffer modes
| ENVR | HIZ | VREF buffer configuration |
|---|---|---|
| 0 | 0 | VREFBUF buffer off mode: – V REF+ pin pulled-down to V SSA |
| 0 | 1 | External voltage reference mode (default value): – VREFBUF buffer off – V REF+ pin input mode |
| 1 | 0 | Internal voltage reference mode: – VREFBUF buffer on – V REF+ pin connected to VREFBUF buffer output |
| 1 | 1 | Hold mode: – VREF is enable without output buffer, VREF+ pin voltage is hold with the external capacitor – VRR detection disabled and VRR bit keeps last state |
After enabling the VREFBUF by setting ENVR bit and clearing HIZ bit in the VREFBUF_CSR register, the user must wait until VRR bit is set, meaning that the voltage reference output has reached its expected value.
a. The minimum V DDA voltage depends on VRS setting, refer to the product datasheet.
16.3 VREFBUF registers
16.3.1 VREFBUF control and status register (VREFBUF_CSR)
Address offset: 0x00
Reset value: 0x0000 0002
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | VRR | VRS | HIZ | ENVR |
| r | rw | rw | rw |
Bits 31:4 Reserved, must be kept at reset value.
Bit 3 VRR : Voltage reference buffer ready
0: the voltage reference buffer output is not ready.
1: the voltage reference buffer output reached the requested level.
Bit 2 VRS : Voltage reference scale
This bit selects the value generated by the voltage reference buffer.
0: Voltage reference set to \( V_{REF\_OUT1} \) (around 2.048 V).
1: Voltage reference set to \( V_{REF\_OUT2} \) (around 2.5 V).
Bit 1 HIZ : High impedance mode
This bit controls the analog switch to connect or not the \( V_{REF+} \) pin.
0: \( V_{REF+} \) pin is internally connected to the voltage reference buffer output.
1: \( V_{REF+} \) pin is high impedance.
Refer to Table 86: VREF buffer modes for the mode descriptions depending on ENVR bit configuration.
Bit 0 ENVR : Voltage reference buffer mode enable
This bit is used to enable the voltage reference buffer mode.
0: Internal voltage reference mode disable (external voltage reference mode).
1: Internal voltage reference mode (reference buffer enable or hold mode) enable.
16.3.2 VREFBUF calibration control register (VREFBUF_CCR)
Address offset: 0x04
Reset value: 0x0000 00XX
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | TRIM[5:0] | |||||
| rw | rw | rw | rw | rw | rw | ||||||||||
Bits 31:6 Reserved, must be kept at reset value.
16.3.3 VREFBUF register map
The following table gives the VREFBUF register map and the reset values.
Table 87. VREFBUF register map and reset values
| Offset | Register name | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x00 | VREFBUF_CSR | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | VRR | VRS | HIZ | |
| Reset value | 0 | 0 | 1 | |||||||||||||||||||||||||||||||
| 0x04 | VREFBUF_CCR | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | TRIM[5:0] | ||||
| Reset value | x | x | x | |||||||||||||||||||||||||||||||
Refer to Section 2.2: Memory organization for the register boundary addresses.