 Hello, and welcome to this presentation of the STM32G0 Digital to Analog Converter. This block is used to convert digital signals to analog voltages which can interface with the external world. The STM32G0 Digital to Analog Converter converts 8 or 12-bit digital data to an analog voltage. The DAC module has two converters that can work synchronously or asynchronously. A low power sample and hold mode is also integrated. The DAC can interface with external potentiometers or BIAS circuitry. It can also create voice and arbitrary signals. The Digital to Analog Converter inside STM32G0 microcontrollers offers simple Digital to Analog conversion in an 8 or 12-bit mode. 10-bit monotonosity is guaranteed. The DAC outputs can have a low impedance buffer to drive external loads. Its sample and hold mode can reduce the power consumption significantly. The two converters can be synchronized with each other. The input data can be transferred by DMA which offloads the CPU. The DAC output data can be updated by a timer or an external trigger as well as a software trigger. It also integrates small logic to generate noise waves as well as triangle waves. Here you can see the simplified block diagram of the Digital to Analog converter. This DAC block is supplied by VDDA. The Digital to Analog converter is an APB slave that supports DMA requests to fill the data hold register. Either of the DAC out, X signals can be disconnected from the corresponding output pin which can be used as an ordinary GPIO. DAC out, X signals can use an internal pin to connect to on-chip peripherals such as comparators. DAC output channels are buffered or non-buffered. Sample and hold block in registers use LSI clock source and are operational in stop mode for static conversions. The content of the data hold registers is transferred to the corresponding data output register when a trigger condition is detected. This includes software triggers. Then the content of the data output register is transferred to the converter. Before enabling the output buffer, the voltage offset needs to be calibrated. This calibration is performed at the factory and loaded after reset and can be adjusted by software during application operation. The DAC output can be buffered for low impedance loads. When unbuffered, the output is directly connected to the R2R resistor ladder network type of DAC. The DAC output can also be internally connected to the comp units. The DAC can support different input formats. In 8-bit mode, it's a right aligned 8-bit data format. In dual channel mode, it's an 8-bit plus 8-bit data format in order to provide input data for two DACs. In 12-bits plus 12-bits, either a right or left aligned mode can be used for input data. Data held in these registers are transferred to the related converters either synchronously for instance for stereo audio or asynchronously. This means that the two channels can operate independently. DAC output conversion is started by writing to the data hold register using software. 8 different timer outputs and external IO or software can trigger a DAC conversion. When a software trigger is used, the content of the data hold register is transferred to the corresponding data output register after one APB clock cycle. When a trigger occurs in trigger mode, the content of the data hold register is transferred to the corresponding data output register after three APB clock cycles. The sample and hold feature maintains the DAC output voltage while not actively driving continuously. It relies on an internal or external capacitor that will hold the voltage level at the end of the sample period. Then the DAC output can be set in high impedance. Of course, the capacitor will discharge over time. That is why a refresh period has been defined. Upon expiration of the refresh period, the DAC output will be actively driven again to recharge the capacitor. The digital to analog converter can work intermittently, charge the external or internal capacitor and be powered down while the output voltage is kept on the hold capacitor. After the refresh period, the DAC is powered back on again and recharges the hold capacitor. When the DAC is configured in sample and hold mode, it is able to generate its converted output voltage and active circuitry can be turned off. In this mode, the DAC core and all corresponding logic and registers are driven by the LSI clock named LSI-CK. In addition to the DAC-PCLK clock, allowing the usage of the DAC channels in deep low power modes, such as stop mode. The logic in charge of scheduling refreshes only requires the LSI clock. In doing so, the DAC is only active during very low duty cycles, sample and refresh, resulting in very low power consumption. The duty cycle program is very flexible and autonomous. The capacitor can be external or internal. When it is external, the buffer can be used and the DAC's output can also be routed to internal components, such as embedded comparators. When it is internal, an embedded capacitor is used and the DAC's output is routed only to internal components. The charging time depends on the capacitor value. The timings for the three phases above are in units of LSI-CK clocks. The DAC digital interface integrates two special signal generators. The linear feedback shift register can create the noise signal for the DAC input. Each trigger updates the DAC output data by an LFSR block. The up-down counter with a programmable count value can create triangle wave data, which can update the DAC output data. The data can also be updated by a trigger signal. The DAC can also create DMA requests from the trigger signal. Once a trigger is detected, the data hold register value is then transferred to the data output register. Then the DMA request is generated to obtain the new data for the data hold register. As the update of the output data register is initiated directly by the trigger signal, the DAC output signal will not have jitter, so that it can create a stable sampling time signal output, making it easy to filter out the sampling frequency. To transfer data from memory, a DMA request can be generated. The DAC DMA request is not queued so that if a second external trigger arrives before the acknowledgement of the first external trigger is received, then no new request is issued and an underrun flag is set that causes a maskable interrupt request. The digital to analog converter is active in the following low power modes, run and sleep. In stop zero mode, it remains active when sample and hold mode is selected. In stand by and shutdown modes, the DAC is powered down and it must be reinitialized afterwards. The following table shows some performance parameters for the digital to analog converter. The DAC can work between 1.8 and 3.6 volts, 10-bit monotonicity is guaranteed. Power consumption is 185 microamps when the buffer is enabled and 155 microamps when the buffer is disabled. By using sample and hold mode, the current consumption can be drastically reduced. Depending on the condition and the hold capacitor characteristics, less than 1 microamps current consumption is possible for this mode. The DAC buffered output has a setting time of 1.6 microseconds with 50 picofarads load. The DAC can handle a sampling rate of 1 mega sample per second when using external components. It can support up to 10 mega samples per second. This is described in detail in application note AN-4566. This is a list of peripherals related to the DAC. Please refer to these peripheral trainings for more information if needed. Application notes dedicated to DAC topics are also available.