STM32L4x2 Advanced ARM® Based 32 Bit MCUs Reference Manual
User Manual:
Open the PDF directly: View PDF
Page Count: 1418 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- 1 Documentation conventions
- 2 System and memory overview
- 3 Embedded Flash memory (FLASH)
- 3.1 Introduction
- 3.2 FLASH main features
- 3.3 FLASH functional description
- 3.4 FLASH option bytes
- 3.5 FLASH memory protection
- 3.6 FLASH interrupts
- 3.7 FLASH registers
- 3.7.1 Flash access control register (FLASH_ACR)
- 3.7.2 Flash Power-down key register (FLASH_PDKEYR)
- 3.7.3 Flash key register (FLASH_KEYR)
- 3.7.4 Flash option key register (FLASH_OPTKEYR)
- 3.7.5 Flash status register (FLASH_SR)
- 3.7.6 Flash control register (FLASH_CR)
- 3.7.7 Flash ECC register (FLASH_ECCR)
- 3.7.8 Flash option register (FLASH_OPTR)
- 3.7.9 Flash PCROP Start address register (FLASH_PCROP1SR)
- 3.7.10 Flash PCROP End address register (FLASH_PCROP1ER)
- 3.7.11 Flash WRP area A address register (FLASH_WRP1AR)
- 3.7.12 Flash WRP area B address register (FLASH_WRP1BR)
- 3.7.13 FLASH register map
- 4 Firewall (FW)
- 4.1 Introduction
- 4.2 Firewall main features
- 4.3 Firewall functional description
- 4.4 Firewall registers
- 4.4.1 Code segment start address (FW_CSSA)
- 4.4.2 Code segment length (FW_CSL)
- 4.4.3 Non-volatile data segment start address (FW_NVDSSA)
- 4.4.4 Non-volatile data segment length (FW_NVDSL)
- 4.4.5 Volatile data segment start address (FW_VDSSA)
- 4.4.6 Volatile data segment length (FW_VDSL)
- 4.4.7 Configuration register (FW_CR)
- 4.4.8 Firewall register map
- 5 Power control (PWR)
- 5.1 Power supplies
- 5.2 Power supply supervisor
- 5.3 Low-power modes
- Table 20. Low-power mode summary
- Table 21. Functionalities depending on the working mode
- Debug mode
- 5.3.1 Run mode
- 5.3.2 Low-power run mode (LP run)
- 5.3.3 Low power modes
- 5.3.4 Sleep mode
- 5.3.5 Low-power sleep mode (LP sleep)
- 5.3.6 Stop 0 mode
- 5.3.7 Stop 1 mode
- 5.3.8 Stop 2 mode
- 5.3.9 Standby mode
- 5.3.10 Shutdown mode
- 5.3.11 Auto-wakeup from low-power mode
- 5.4 PWR registers
- 5.4.1 Power control register 1 (PWR_CR1)
- 5.4.2 Power control register 2 (PWR_CR2)
- 5.4.3 Power control register 3 (PWR_CR3)
- 5.4.4 Power control register 4 (PWR_CR4)
- 5.4.5 Power status register 1 (PWR_SR1)
- 5.4.6 Power status register 2 (PWR_SR2)
- 5.4.7 Power status clear register (PWR_SCR)
- 5.4.8 Power Port A pull-up control register (PWR_PUCRA)
- 5.4.9 Power Port A pull-down control register (PWR_PDCRA)
- 5.4.10 Power Port B pull-up control register (PWR_PUCRB)
- 5.4.11 Power Port B pull-down control register (PWR_PDCRB)
- 5.4.12 Power Port C pull-up control register (PWR_PUCRC)
- 5.4.13 Power Port C pull-down control register (PWR_PDCRC)
- 5.4.14 Power Port D pull-up control register (PWR_PUCRD)
- 5.4.15 Power Port D pull-down control register (PWR_PDCRD)
- 5.4.16 Power Port E pull-up control register (PWR_PUCRE)
- 5.4.17 Power Port E pull-down control register (PWR_PDCRE)
- 5.4.18 Power Port H pull-up control register (PWR_PUCRH)
- 5.4.19 Power Port H pull-down control register (PWR_PDCRH)
- 5.4.20 PWR register map and reset value table
- 6 Reset and clock control (RCC)
- 6.1 Reset
- 6.2 Clocks
- 6.2.1 HSE clock
- 6.2.2 HSI16 clock
- 6.2.3 MSI clock
- 6.2.4 HSI48 clock
- 6.2.5 PLL
- 6.2.6 LSE clock
- 6.2.7 LSI clock
- 6.2.8 System clock (SYSCLK) selection
- 6.2.9 Clock source frequency versus voltage scaling
- 6.2.10 Clock security system (CSS)
- 6.2.11 Clock security system on LSE
- 6.2.12 ADC clock
- 6.2.13 RTC clock
- 6.2.14 Timer clock
- 6.2.15 Watchdog clock
- 6.2.16 Clock-out capability
- 6.2.17 Internal/external clock measurement with TIM15/TIM16
- 6.2.18 Peripheral clock enable register (RCC_AHBxENR, RCC_APBxENRy)
- 6.3 Low-power modes
- 6.4 RCC registers
- 6.4.1 Clock control register (RCC_CR)
- 6.4.2 Internal clock sources calibration register (RCC_ICSCR)
- 6.4.3 Clock configuration register (RCC_CFGR)
- 6.4.4 PLL configuration register (RCC_PLLCFGR)
- 6.4.5 PLLSAI1 configuration register (RCC_PLLSAI1CFGR)
- 6.4.6 Clock interrupt enable register (RCC_CIER)
- 6.4.7 Clock interrupt flag register (RCC_CIFR)
- 6.4.8 Clock interrupt clear register (RCC_CICR)
- 6.4.9 AHB1 peripheral reset register (RCC_AHB1RSTR)
- 6.4.10 AHB2 peripheral reset register (RCC_AHB2RSTR)
- 6.4.11 AHB3 peripheral reset register (RCC_AHB3RSTR)
- 6.4.12 APB1 peripheral reset register 1 (RCC_APB1RSTR1)
- 6.4.13 APB1 peripheral reset register 2 (RCC_APB1RSTR2)
- 6.4.14 APB2 peripheral reset register (RCC_APB2RSTR)
- 6.4.15 AHB1 peripheral clock enable register (RCC_AHB1ENR)
- 6.4.16 AHB2 peripheral clock enable register (RCC_AHB2ENR)
- 6.4.17 AHB3 peripheral clock enable register(RCC_AHB3ENR)
- 6.4.18 APB1 peripheral clock enable register 1 (RCC_APB1ENR1)
- 6.4.19 APB1 peripheral clock enable register 2 (RCC_APB1ENR2)
- 6.4.20 APB2 peripheral clock enable register (RCC_APB2ENR)
- 6.4.21 AHB1 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB1SMENR)
- 6.4.22 AHB2 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB2SMENR)
- 6.4.23 AHB3 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB3SMENR)
- 6.4.24 APB1 peripheral clocks enable in Sleep and Stop modes register 1 (RCC_APB1SMENR1)
- 6.4.25 APB1 peripheral clocks enable in Sleep and Stop modes register 2 (RCC_APB1SMENR2)
- 6.4.26 APB2 peripheral clocks enable in Sleep and Stop modes register (RCC_APB2SMENR)
- 6.4.27 Peripherals independent clock configuration register (RCC_CCIPR)
- 6.4.28 Backup domain control register (RCC_BDCR)
- 6.4.29 Control/status register (RCC_CSR)
- 6.4.30 Clock recovery RC register (RCC_CRRCR)
- 6.4.31 RCC register map
- 7 Clock recovery system (CRS)
- 8 General-purpose I/Os (GPIO)
- 8.1 Introduction
- 8.2 GPIO main features
- 8.3 GPIO functional description
- Table 36. Port bit configuration table
- 8.3.1 General-purpose I/O (GPIO)
- 8.3.2 I/O pin alternate function multiplexer and mapping
- 8.3.3 I/O port control registers
- 8.3.4 I/O port data registers
- 8.3.5 I/O data bitwise handling
- 8.3.6 GPIO locking mechanism
- 8.3.7 I/O alternate function input/output
- 8.3.8 External interrupt/wakeup lines
- 8.3.9 Input configuration
- 8.3.10 Output configuration
- 8.3.11 Alternate function configuration
- 8.3.12 Analog configuration
- 8.3.13 Using the HSE or LSE oscillator pins as GPIOs
- 8.3.14 Using the GPIO pins in the RTC supply domain
- 8.3.15 Using PH3 as GPIO
- 8.4 GPIO registers
- 8.4.1 GPIO port mode register (GPIOx_MODER) (x =A..E and H)
- 8.4.2 GPIO port output type register (GPIOx_OTYPER) (x = A..E and H)
- 8.4.3 GPIO port output speed register (GPIOx_OSPEEDR) (x = A..E and H)
- 8.4.4 GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A..E and H)
- 8.4.5 GPIO port input data register (GPIOx_IDR) (x = A..E and H)
- 8.4.6 GPIO port output data register (GPIOx_ODR) (x = A..E and H)
- 8.4.7 GPIO port bit set/reset register (GPIOx_BSRR) (x = A..E and H)
- 8.4.8 GPIO port configuration lock register (GPIOx_LCKR) (x = A..E and H)
- 8.4.9 GPIO alternate function low register (GPIOx_AFRL) (x = A..E and H)
- 8.4.10 GPIO alternate function high register (GPIOx_AFRH) (x = A..E and H)
- 8.4.11 GPIO port bit reset register (GPIOx_BRR) (x =A..E and H)
- 8.4.12 GPIO register map
- 9 System configuration controller (SYSCFG)
- 9.1 SYSCFG main features
- 9.2 SYSCFG registers
- 9.2.1 SYSCFG memory remap register (SYSCFG_MEMRMP)
- 9.2.2 SYSCFG configuration register 1 (SYSCFG_CFGR1)
- 9.2.3 SYSCFG external interrupt configuration register 1 (SYSCFG_EXTICR1)
- 9.2.4 SYSCFG external interrupt configuration register 2 (SYSCFG_EXTICR2)
- 9.2.5 SYSCFG external interrupt configuration register 3 (SYSCFG_EXTICR3)
- 9.2.6 SYSCFG external interrupt configuration register 4 (SYSCFG_EXTICR4)
- 9.2.7 SYSCFG SRAM2 control and status register (SYSCFG_SCSR)
- 9.2.8 SYSCFG configuration register 2 (SYSCFG_CFGR2)
- 9.2.9 SYSCFG SRAM2 write protection register (SYSCFG_SWPR)
- 9.2.10 SYSCFG SRAM2 key register (SYSCFG_SKR)
- 9.2.11 SYSCFG register map
- 10 Peripherals interconnect matrix
- 10.1 Introduction
- 10.2 Connection summary
- 10.3 Interconnection details
- 10.3.1 From timer (TIM1/TIM2/TIM15/TIM16) to timer (TIM1/TIM2/TIM15/TIM16)
- 10.3.2 From timer (TIM1/TIM2/TIM6/TIM15) and EXTI to ADC (ADC1)
- 10.3.3 From ADC (ADC1) to timer (TIM1)
- 10.3.4 From timer (TIM2/TIM6/TIM7) and EXTI to DAC (DAC1/DAC2)
- 10.3.5 From HSE, LSE, LSI, MSI, MCO, RTC to timer (TIM2/TIM15/TIM16)
- 10.3.6 From RTC, COMP1, COMP2 to low-power timer (LPTIM1/LPTIM2)
- 10.3.7 From timer (TIM1/TIM2/TIM15) to comparators (COMP1/COMP2)
- 10.3.8 From USB to timer (TIM2)
- 10.3.9 From internal analog source to ADC (ADC1) and OPAMP (OPAMP1)
- 10.3.10 From comparators (COMP1/COMP2) to timers (TIM1/TIM2/TIM15/TIM16)
- 10.3.11 From system errors to timers (TIM1/TIM15/TIM16)
- 10.3.12 From timers (TIM16) to IRTIM
- 11 Direct memory access controller (DMA)
- 11.1 Introduction
- 11.2 DMA main features
- 11.3 DMA implementation
- 11.4 DMA functional description
- 11.5 DMA registers
- 11.5.1 DMA interrupt status register (DMA_ISR)
- 11.5.2 DMA interrupt flag clear register (DMA_IFCR)
- 11.5.3 DMA channel x configuration register (DMA_CCRx) (x = 1..7 , where x = channel number)
- 11.5.4 DMA channel x number of data register (DMA_CNDTRx) (x = 1..7, where x = channel number)
- 11.5.5 DMA channel x peripheral address register (DMA_CPARx) (x = 1..7, where x = channel number)
- 11.5.6 DMA channel x memory address register (DMA_CMARx) (x = 1..7, where x = channel number)
- 11.5.7 DMA1 channel selection register (DMA1_CSELR)
- 11.5.8 DMA2 channel selection register (DMA2_CSELR)
- 11.5.9 DMA register map
- 12 Nested vectored interrupt controller (NVIC)
- 13 Extended interrupts and events controller (EXTI)
- 13.1 Introduction
- 13.2 EXTI main features
- 13.3 EXTI functional description
- 13.4 EXTI interrupt/event line mapping
- 13.5 EXTI registers
- 13.5.1 Interrupt mask register 1 (EXTI_IMR1)
- 13.5.2 Event mask register 1 (EXTI_EMR1)
- 13.5.3 Rising trigger selection register 1 (EXTI_RTSR1)
- 13.5.4 Falling trigger selection register 1 (EXTI_FTSR1)
- 13.5.5 Software interrupt event register 1 (EXTI_SWIER1)
- 13.5.6 Pending register 1 (EXTI_PR1)
- 13.5.7 Interrupt mask register 2 (EXTI_IMR2)
- 13.5.8 Event mask register 2 (EXTI_EMR2)
- 13.5.9 Rising trigger selection register 2 (EXTI_RTSR2)
- 13.5.10 Falling trigger selection register 2 (EXTI_FTSR2)
- 13.5.11 Software interrupt event register 2 (EXTI_SWIER2)
- 13.5.12 Pending register 2 (EXTI_PR2)
- 13.5.13 EXTI register map
- 14 Cyclic redundancy check calculation unit (CRC)
- 15 Quad-SPI interface (QUADSPI)
- 15.1 Introduction
- 15.2 QUADSPI main features
- 15.3 QUADSPI functional description
- 15.3.1 QUADSPI block diagram
- 15.3.2 QUADSPI Command sequence
- 15.3.3 QUADSPI signal interface protocol modes
- 15.3.4 QUADSPI indirect mode
- 15.3.5 QUADSPI status flag polling mode
- 15.3.6 QUADSPI memory-mapped mode
- 15.3.7 QUADSPI Flash memory configuration
- 15.3.8 QUADSPI delayed data sampling
- 15.3.9 QUADSPI configuration
- 15.3.10 QUADSPI usage
- 15.3.11 Sending the instruction only once
- 15.3.12 QUADSPI error management
- 15.3.13 QUADSPI busy bit and abort functionality
- 15.3.14 nCS behavior
- 15.4 QUADSPI interrupts
- 15.5 QUADSPI registers
- 15.5.1 QUADSPI control register (QUADSPI_CR)
- 15.5.2 QUADSPI device configuration register (QUADSPI_DCR)
- 15.5.3 QUADSPI status register (QUADSPI_SR)
- 15.5.4 QUADSPI flag clear register (QUADSPI_FCR)
- 15.5.5 QUADSPI data length register (QUADSPI_DLR)
- 15.5.6 QUADSPI communication configuration register (QUADSPI_CCR)
- 15.5.7 QUADSPI address register (QUADSPI_AR)
- 15.5.8 QUADSPI alternate bytes registers (QUADSPI_ABR)
- 15.5.9 QUADSPI data register (QUADSPI_DR)
- 15.5.10 QUADSPI polling status mask register (QUADSPI _PSMKR)
- 15.5.11 QUADSPI polling status match register (QUADSPI _PSMAR)
- 15.5.12 QUADSPI polling interval register (QUADSPI _PIR)
- 15.5.13 QUADSPI low-power timeout register (QUADSPI_LPTR)
- 15.5.14 QUADSPI register map
- 16 Analog-to-digital converters (ADC)
- 16.1 Introduction
- 16.2 ADC main features
- 16.3 ADC implementation
- 16.4 ADC functional description
- 16.4.1 ADC block diagram
- 16.4.2 Pins and internal signals
- 16.4.3 Clocks
- 16.4.4 ADC1/2 connectivity
- 16.4.5 Slave AHB interface
- 16.4.6 ADC Deep-Power-Down Mode (DEEPPWD) & ADC Voltage Regulator (ADVREGEN)
- 16.4.7 Single-ended and differential input channels
- 16.4.8 Calibration (ADCAL, ADCALDIF, ADCx_CALFACT)
- 16.4.9 ADC on-off control (ADEN, ADDIS, ADRDY)
- 16.4.10 Constraints when writing the ADC control bits
- 16.4.11 Channel selection (SQRx, JSQRx)
- 16.4.12 Channel-wise programmable sampling time (SMPR1, SMPR2)
- 16.4.13 Single conversion mode (CONT=0)
- 16.4.14 Continuous conversion mode (CONT=1)
- 16.4.15 Starting conversions (ADSTART, JADSTART)
- 16.4.16 Timing
- 16.4.17 Stopping an ongoing conversion (ADSTP, JADSTP)
- 16.4.18 Conversion on external trigger and trigger polarity (EXTSEL, EXTEN, JEXTSEL, JEXTEN)
- Table 55. Configuring the trigger polarity for regular external triggers
- Table 56. Configuring the trigger polarity for injected external triggers
- Table 57. ADC1, ADC2 - External triggers for regular channels (devices with 2 ADCs)
- Table 58. ADC1 - External triggers for regular channels (devices with single ADC)
- Table 59. ADC1, ADC2 - External trigger for injected channels (devices with 2 ADCs)
- Table 60. ADC1 - External trigger for injected channels (devices with single ADC)
- 16.4.19 Injected channel management
- 16.4.20 Discontinuous mode (DISCEN, DISCNUM, JDISCEN)
- 16.4.21 Queue of context for injected conversions
- 16.4.22 Programmable resolution (RES) - fast conversion mode
- 16.4.23 End of conversion, end of sampling phase (EOC, JEOC, EOSMP)
- 16.4.24 End of conversion sequence (EOS, JEOS)
- 16.4.25 Timing diagrams example (single/continuous modes, hardware/software triggers)
- 16.4.26 Data management
- Data register, data alignment and offset (ADCx_DR, OFFSETy, OFFSETy_CH, ALIGN)
- Data and alignment
- Offset
- Table 62. Offset computation versus data resolution
- ADC overrun (OVR, OVRMOD)
- Managing a sequence of conversion without using the DMA
- Managing conversions without using the DMA and without overrun
- Managing conversions using the DMA
- DMA one shot mode (DMACFG=0)
- DMA circular mode (DMACFG=1)
- 16.4.27 Dynamic low-power features
- 16.4.28 Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx)
- 16.4.29 Oversampler
- Table 66. Maximum output results versus N and M (gray cells indicate truncation)
- Single ADC operating modes support when oversampling
- Analog watchdog
- Triggered mode
- Injected and regular sequencer management when oversampling
- Oversampling regular channels only
- Oversampling Injected channels only
- Oversampling regular and Injected channels
- Triggered regular oversampling with injected conversions
- Autoinjected mode
- Dual ADC modes support when oversampling (on devices with 2 ADCs)
- Combined modes summary
- Table 67. Oversampler operating modes summary
- 16.4.30 Dual ADC modes (on devices with 2 ADCs)
- Injected simultaneous mode
- Regular simultaneous mode with independent injected
- Interleaved mode with independent injected
- Alternate trigger mode
- Combined regular/injected simultaneous mode
- Combined regular simultaneous + alternate trigger mode
- Combined injected simultaneous plus interleaved
- DMA requests in dual ADC mode
- Overrun detection
- DMA one shot mode/ DMA circular mode when MDMA mode is selected
- Stopping the conversions in dual ADC modes
- 16.4.31 Temperature sensor
- 16.4.32 VBAT supply monitoring
- 16.4.33 Monitoring the internal voltage reference
- 16.5 ADC interrupts
- 16.6 ADC registers (for each ADC)
- 16.6.1 ADC interrupt and status register (ADCx_ISR)
- 16.6.2 ADC interrupt enable register (ADCx_IER)
- 16.6.3 ADC control register (ADCx_CR)
- 16.6.4 ADC configuration register (ADCx_CFGR)
- 16.6.5 ADC configuration register 2 (ADCx_CFGR2)
- 16.6.6 ADC sample time register 1 (ADCx_SMPR1)
- 16.6.7 ADC sample time register 2 (ADCx_SMPR2)
- 16.6.8 ADC watchdog threshold register 1 (ADCx_TR1)
- 16.6.9 ADC watchdog threshold register 2 (ADCx_TR2)
- 16.6.10 ADC watchdog threshold register 3 (ADCx_TR3)
- 16.6.11 ADC regular sequence register 1 (ADCx_SQR1)
- 16.6.12 ADC regular sequence register 2 (ADCx_SQR2)
- 16.6.13 ADC regular sequence register 3 (ADCx_SQR3)
- 16.6.14 ADC regular sequence register 4 (ADCx_SQR4)
- 16.6.15 ADC regular Data Register (ADCx_DR)
- 16.6.16 ADC injected sequence register (ADCx_JSQR)
- 16.6.17 ADC offset register (ADCx_OFRy) (y=1..4)
- 16.6.18 ADC injected data register (ADCx_JDRy, y= 1..4)
- 16.6.19 ADC Analog Watchdog 2 Configuration Register (ADCx_AWD2CR)
- 16.6.20 ADC Analog Watchdog 3 Configuration Register (ADCx_AWD3CR)
- 16.6.21 ADC Differential Mode Selection Register (ADCx_DIFSEL)
- 16.6.22 ADC Calibration Factors (ADCx_CALFACT)
- 16.7 ADC common registers
- 17 Digital-to-analog converter (DAC)
- 17.1 Introduction
- 17.2 DAC main features
- 17.3 DAC functional description
- 17.3.1 DAC block diagram
- 17.3.2 DAC channel enable
- 17.3.3 DAC data format
- 17.3.4 DAC conversion
- 17.3.5 DAC output voltage
- 17.3.6 DAC trigger selection
- 17.3.7 DMA request
- 17.3.8 Noise generation
- 17.3.9 Triangle-wave generation
- 17.3.10 DAC channel modes
- 17.3.11 DAC channel buffer calibration
- 17.3.12 Dual DAC channel conversion
- Independent trigger without wave generation
- Independent trigger with single LFSR generation
- Independent trigger with different LFSR generation
- Independent trigger with single triangle generation
- Independent trigger with different triangle generation
- Simultaneous software start
- Simultaneous trigger without wave generation
- Simultaneous trigger with single LFSR generation
- Simultaneous trigger with different LFSR generation
- Simultaneous trigger with single triangle generation
- 17.3.13 Simultaneous trigger with different triangle generation
- 17.4 DAC low-power modes
- 17.5 DAC registers
- 17.5.1 DAC control register (DAC_CR)
- 17.5.2 DAC software trigger register (DAC_SWTRGR)
- 17.5.3 DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1)
- 17.5.4 DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1)
- 17.5.5 DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1)
- 17.5.6 DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2)
- 17.5.7 DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2)
- 17.5.8 DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2)
- 17.5.9 Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD)
- 17.5.10 DUAL DAC 12-bit left aligned data holding register (DAC_DHR12LD)
- 17.5.11 DUAL DAC 8-bit right aligned data holding register (DAC_DHR8RD)
- 17.5.12 DAC channel1 data output register (DAC_DOR1)
- 17.5.13 DAC channel2 data output register (DAC_DOR2)
- 17.5.14 DAC status register (DAC_SR)
- 17.5.15 DAC calibration control register (DAC_CCR)
- 17.5.16 DAC mode control register (DAC_MCR)
- 17.5.17 DAC Sample and Hold sample time register 1 (DAC_SHSR1)
- 17.5.18 DAC Sample and Hold sample time register 2 (DAC_SHSR2)
- 17.5.19 DAC Sample and Hold hold time register (DAC_SHHR)
- 17.5.20 DAC Sample and Hold refresh time register (DAC_SHRR)
- 17.5.21 DAC register map
- 18 Voltage reference buffer (VREFBUF)
- 19 Comparator (COMP)
- 19.1 Introduction
- 19.2 COMP main features
- 19.3 COMP functional description
- 19.4 COMP low-power modes
- 19.5 COMP interrupts
- 19.6 COMP registers
- 20 Operational amplifiers (OPAMP)
- 21 Touch sensing controller (TSC)
- 21.1 Introduction
- 21.2 TSC main features
- 21.3 TSC functional description
- 21.3.1 TSC block diagram
- 21.3.2 Surface charge transfer acquisition overview
- 21.3.3 Reset and clocks
- 21.3.4 Charge transfer acquisition sequence
- 21.3.5 Spread spectrum feature
- 21.3.6 Max count error
- 21.3.7 Sampling capacitor I/O and channel I/O mode selection
- 21.3.8 Acquisition mode
- 21.3.9 I/O hysteresis and analog switch control
- 21.4 TSC low-power modes
- 21.5 TSC interrupts
- 21.6 TSC registers
- 21.6.1 TSC control register (TSC_CR)
- 21.6.2 TSC interrupt enable register (TSC_IER)
- 21.6.3 TSC interrupt clear register (TSC_ICR)
- 21.6.4 TSC interrupt status register (TSC_ISR)
- 21.6.5 TSC I/O hysteresis control register (TSC_IOHCR)
- 21.6.6 TSC I/O analog switch control register (TSC_IOASCR)
- 21.6.7 TSC I/O sampling control register (TSC_IOSCR)
- 21.6.8 TSC I/O channel control register (TSC_IOCCRTSC_IOCCR)
- 21.6.9 TSC I/O group control status register (TSC_IOGCSR)
- 21.6.10 TSC I/O group x counter register (TSC_IOGxCR) (x = 1..7)
- 21.6.11 TSC register map
- 22 Random number generator (RNG)
- 23 Advanced encryption standard hardware accelerator (AES)
- 23.1 Introduction
- 23.2 AES main features
- 23.3 AES functional description
- 23.4 Encryption and derivation keys
- 23.5 AES chaining algorithms
- 23.6 Galois counter mode (GCM)
- 23.7 AES cipher message authentication code mode (CMAC)
- 23.8 Data type
- 23.9 Operating modes
- 23.10 AES DMA interface
- 23.11 Error flags
- 23.12 Processing time
- 23.13 AES interrupts
- 23.14 AES registers
- 23.14.1 AES control register (AES_CR)
- 23.14.2 AES status register (AES_SR)
- 23.14.3 AES data input register (AES_DINR)
- 23.14.4 AES data output register (AES_DOUTR)
- 23.14.5 AES key register 0 (AES_KEYR0) (LSB: key [31:0])
- 23.14.6 AES key register 1 (AES_KEYR1) (key[63:32])
- 23.14.7 AES key register 2 (AES_KEYR2) (key [95:64])
- 23.14.8 AES key register 3 (AES_KEYR3) (MSB: key[127:96])
- 23.14.9 AES initialization vector register 0 (AES_IVR0) (LSB: IVR[31:0])
- 23.14.10 AES initialization vector register 1 (AES_IVR1) (IVR[63:32])
- 23.14.11 AES initialization vector register 2 (AES_IVR2) (IVR[95:64])
- 23.14.12 AES initialization vector register 3 (AES_IVR3) (MSB: IVR[127:96])
- 23.14.13 AES key register 4 (AES_KEYR4) (key[159:128])
- 23.14.14 AES key register 5 (AES_KEYR5) (key[191:160])
- 23.14.15 AES key register 6 (AES_KEYR6) (key[223:192])
- 23.14.16 AES key register 7 (AES_KEYR7) (MSB: key[255:224])
- 23.14.17 AES Suspend registers (AES_SUSPxR) (x = 0..7)
- 23.14.18 AES register map
- 24 Advanced-control timers (TIM1)
- 24.1 TIM1 introduction
- 24.2 TIM1 main features
- 24.3 TIM1 functional description
- 24.3.1 Time-base unit
- 24.3.2 Counter modes
- 24.3.3 Repetition counter
- 24.3.4 External trigger input
- 24.3.5 Clock selection
- 24.3.6 Capture/compare channels
- 24.3.7 Input capture mode
- 24.3.8 PWM input mode
- 24.3.9 Forced output mode
- 24.3.10 Output compare mode
- 24.3.11 PWM mode
- 24.3.12 Asymmetric PWM mode
- 24.3.13 Combined PWM mode
- 24.3.14 Combined 3-phase PWM mode
- 24.3.15 Complementary outputs and dead-time insertion
- 24.3.16 Using the break function
- 24.3.17 Bidirectional break inputs
- 24.3.18 Clearing the OCxREF signal on an external event
- 24.3.19 6-step PWM generation
- 24.3.20 One-pulse mode
- 24.3.21 Retriggerable one pulse mode (OPM)
- 24.3.22 Encoder interface mode
- 24.3.23 UIF bit remapping
- 24.3.24 Timer input XOR function
- 24.3.25 Interfacing with Hall sensors
- 24.3.26 Timer synchronization
- 24.3.27 ADC synchronization
- 24.3.28 DMA burst mode
- 24.3.29 Debug mode
- 24.4 TIM1 registers
- 24.4.1 TIM1 control register 1 (TIMx_CR1)
- 24.4.2 TIM1 control register 2 (TIMx_CR2)
- 24.4.3 TIM1 slave mode control register (TIMx_SMCR)
- 24.4.4 TIM1 DMA/interrupt enable register (TIMx_DIER)
- 24.4.5 TIM1 status register (TIMx_SR)
- 24.4.6 TIM1 event generation register (TIMx_EGR)
- 24.4.7 TIM1 capture/compare mode register 1 (TIMx_CCMR1)
- 24.4.8 TIM1 capture/compare mode register 2 (TIMx_CCMR2)
- 24.4.9 TIM1 capture/compare enable register (TIMx_CCER)
- 24.4.10 TIM1 counter (TIMx_CNT)
- 24.4.11 TIM1 prescaler (TIMx_PSC)
- 24.4.12 TIM1 auto-reload register (TIMx_ARR)
- 24.4.13 TIM1 repetition counter register (TIMx_RCR)
- 24.4.14 TIM1 capture/compare register 1 (TIMx_CCR1)
- 24.4.15 TIM1 capture/compare register 2 (TIMx_CCR2)
- 24.4.16 TIM1 capture/compare register 3 (TIMx_CCR3)
- 24.4.17 TIM1 capture/compare register 4 (TIMx_CCR4)
- 24.4.18 TIM1 break and dead-time register (TIMx_BDTR)
- 24.4.19 TIM1 DMA control register (TIMx_DCR)
- 24.4.20 TIM1 DMA address for full transfer (TIMx_DMAR)
- 24.4.21 TIM1 option register 1 (TIM1_OR1)
- 24.4.22 TIM1 capture/compare mode register 3 (TIMx_CCMR3)
- 24.4.23 TIM1 capture/compare register 5 (TIMx_CCR5)
- 24.4.24 TIM1 capture/compare register 6 (TIMx_CCR6)
- 24.4.25 TIM1 option register 2 (TIM1_OR2)
- 24.4.26 TIM1 option register 3 (TIM1_OR3)
- 24.4.27 TIM1 register map
- 25 General-purpose timer (TIM2)
- 25.1 TIM2 introduction
- 25.2 TIM2 main features
- 25.3 TIM2 functional description
- 25.3.1 Time-base unit
- 25.3.2 Counter modes
- 25.3.3 Clock selection
- 25.3.4 Capture/compare channels
- 25.3.5 Input capture mode
- 25.3.6 PWM input mode
- 25.3.7 Forced output mode
- 25.3.8 Output compare mode
- 25.3.9 PWM mode
- 25.3.10 Asymmetric PWM mode
- 25.3.11 Combined PWM mode
- 25.3.12 Clearing the OCxREF signal on an external event
- 25.3.13 One-pulse mode
- 25.3.14 Retriggerable one pulse mode (OPM)
- 25.3.15 Encoder interface mode
- 25.3.16 UIF bit remapping
- 25.3.17 Timer input XOR function
- 25.3.18 Timers and external trigger synchronization
- 25.3.19 Timer synchronization
- 25.3.20 DMA burst mode
- 25.3.21 Debug mode
- 25.4 TIM2 registers
- 25.4.1 TIMx control register 1 (TIMx_CR1)
- 25.4.2 TIMx control register 2 (TIMx_CR2)
- 25.4.3 TIMx slave mode control register (TIMx_SMCR)
- 25.4.4 TIMx DMA/Interrupt enable register (TIMx_DIER)
- 25.4.5 TIMx status register (TIMx_SR)
- 25.4.6 TIMx event generation register (TIMx_EGR)
- 25.4.7 TIMx capture/compare mode register 1 (TIMx_CCMR1)
- 25.4.8 TIMx capture/compare mode register 2 (TIMx_CCMR2)
- 25.4.9 TIMx capture/compare enable register (TIMx_CCER)
- 25.4.10 TIMx counter (TIMx_CNT)
- 25.4.11 TIMx prescaler (TIMx_PSC)
- 25.4.12 TIMx auto-reload register (TIMx_ARR)
- 25.4.13 TIMx capture/compare register 1 (TIMx_CCR1)
- 25.4.14 TIMx capture/compare register 2 (TIMx_CCR2)
- 25.4.15 TIMx capture/compare register 3 (TIMx_CCR3)
- 25.4.16 TIMx capture/compare register 4 (TIMx_CCR4)
- 25.4.17 TIMx DMA control register (TIMx_DCR)
- 25.4.18 TIMx DMA address for full transfer (TIMx_DMAR)
- 25.4.19 TIM2 option register 1 (TIM2_OR1)
- 25.4.20 TIM2 option register 2 (TIM2_OR2)
- 25.4.21 TIMx register map
- 26 General-purpose timers (TIM15/TIM16)
- 26.1 TIM15/TIM16 introduction
- 26.2 TIM15 main features
- 26.3 TIM16 main features
- 26.4 TIM15/TIM16 functional description
- 26.4.1 Time-base unit
- 26.4.2 Counter modes
- 26.4.3 Repetition counter
- 26.4.4 Clock selection
- 26.4.5 Capture/compare channels
- 26.4.6 Input capture mode
- 26.4.7 PWM input mode (only for TIM15)
- 26.4.8 Forced output mode
- 26.4.9 Output compare mode
- 26.4.10 PWM mode
- 26.4.11 Combined PWM mode (TIM15 only)
- 26.4.12 Complementary outputs and dead-time insertion
- 26.4.13 Using the break function
- 26.4.14 One-pulse mode
- 26.4.15 UIF bit remapping
- 26.4.16 Timer input XOR function (TIM15 only)
- 26.4.17 External trigger synchronization (TIM15 only)
- 26.4.18 Slave mode: Combined reset + trigger mode
- 26.4.19 DMA burst mode
- 26.4.20 Timer synchronization (TIM15)
- 26.4.21 Debug mode
- 26.5 TIM15 registers
- 26.5.1 TIM15 control register 1 (TIM15_CR1)
- 26.5.2 TIM15 control register 2 (TIM15_CR2)
- 26.5.3 TIM15 slave mode control register (TIM15_SMCR)
- 26.5.4 TIM15 DMA/interrupt enable register (TIM15_DIER)
- 26.5.5 TIM15 status register (TIM15_SR)
- 26.5.6 TIM15 event generation register (TIM15_EGR)
- 26.5.7 TIM15 capture/compare mode register 1 (TIM15_CCMR1)
- 26.5.8 TIM15 capture/compare enable register (TIM15_CCER)
- 26.5.9 TIM15 counter (TIM15_CNT)
- 26.5.10 TIM15 prescaler (TIM15_PSC)
- 26.5.11 TIM15 auto-reload register (TIM15_ARR)
- 26.5.12 TIM15 repetition counter register (TIM15_RCR)
- 26.5.13 TIM15 capture/compare register 1 (TIM15_CCR1)
- 26.5.14 TIM15 capture/compare register 2 (TIM15_CCR2)
- 26.5.15 TIM15 break and dead-time register (TIM15_BDTR)
- 26.5.16 TIM15 DMA control register (TIM15_DCR)
- 26.5.17 TIM15 DMA address for full transfer (TIM15_DMAR)
- 26.5.18 TIM15 option register 1 (TIM15_OR1)
- 26.5.19 TIM15 option register 2 (TIM15_OR2)
- 26.5.20 TIM15 register map
- 26.6 TIM16 registers
- 26.6.1 TIM16 control register 1 (TIMx_CR1)
- 26.6.2 TIM16 control register 2 (TIMx_CR2)
- 26.6.3 TIM16 DMA/interrupt enable register (TIMx_DIER)
- 26.6.4 TIM16 status register (TIMx_SR)
- 26.6.5 TIM16 event generation register (TIMx_EGR)
- 26.6.6 TIM16 capture/compare mode register 1 (TIMx_CCMR1)
- 26.6.7 TIM16 capture/compare enable register (TIMx_CCER)
- 26.6.8 TIM16 counter (TIMx_CNT)
- 26.6.9 TIM16 prescaler (TIMx_PSC)
- 26.6.10 TIM16 auto-reload register (TIMx_ARR)
- 26.6.11 TIM16 repetition counter register (TIMx_RCR)
- 26.6.12 TIM16 capture/compare register 1 (TIMx_CCR1)
- 26.6.13 TIM16 break and dead-time register (TIMx_BDTR)
- 26.6.14 TIM16 DMA control register (TIMx_DCR)
- 26.6.15 TIM16 DMA address for full transfer (TIMx_DMAR)
- 26.6.16 TIM16 option register 1 (TIM16_OR1)
- 26.6.17 TIM16 option register 2 (TIM16_OR2)
- 26.6.18 TIM16 register map
- 27 Basic timers (TIM6/TIM7)
- 27.1 TIM6/TIM7 introduction
- 27.2 TIM6/TIM7 main features
- 27.3 TIM6/TIM7 functional description
- 27.4 TIM6/TIM7 registers
- 27.4.1 TIM6/TIM7 control register 1 (TIMx_CR1)
- 27.4.2 TIM6/TIM7 control register 2 (TIMx_CR2)
- 27.4.3 TIM6/TIM7 DMA/Interrupt enable register (TIMx_DIER)
- 27.4.4 TIM6/TIM7 status register (TIMx_SR)
- 27.4.5 TIM6/TIM7 event generation register (TIMx_EGR)
- 27.4.6 TIM6/TIM7 counter (TIMx_CNT)
- 27.4.7 TIM6/TIM7 prescaler (TIMx_PSC)
- 27.4.8 TIM6/TIM7 auto-reload register (TIMx_ARR)
- 27.4.9 TIM6/TIM7 register map
- 28 Low-power timer (LPTIM)
- 28.1 Introduction
- 28.2 LPTIM main features
- 28.3 LPTIM implementation
- 28.4 LPTIM functional description
- 28.5 LPTIM low power modes
- 28.6 LPTIM interrupts
- 28.7 LPTIM registers
- 28.7.1 LPTIM interrupt and status register (LPTIM_ISR)
- 28.7.2 LPTIM interrupt clear register (LPTIM_ICR)
- 28.7.3 LPTIM interrupt enable register (LPTIM_IER)
- 28.7.4 LPTIM configuration register (LPTIM_CFGR)
- 28.7.5 LPTIM control register (LPTIM_CR)
- 28.7.6 LPTIM compare register (LPTIM_CMP)
- 28.7.7 LPTIM autoreload register (LPTIM_ARR)
- 28.7.8 LPTIM counter register (LPTIM_CNT)
- 28.7.9 LPTIM1 option register (LPTIM1_OR)
- 28.7.10 LPTIM2 option register (LPTIM2_OR)
- 28.7.11 LPTIM register map
- 29 Infrared interface (IRTIM)
- 30 Independent watchdog (IWDG)
- 31 System window watchdog (WWDG)
- 32 Real-time clock (RTC)
- 32.1 Introduction
- 32.2 RTC main features
- 32.3 RTC functional description
- 32.3.1 RTC block diagram
- 32.3.2 GPIOs controlled by the RTC
- 32.3.3 Clock and prescalers
- 32.3.4 Real-time clock and calendar
- 32.3.5 Programmable alarms
- 32.3.6 Periodic auto-wakeup
- 32.3.7 RTC initialization and configuration
- 32.3.8 Reading the calendar
- 32.3.9 Resetting the RTC
- 32.3.10 RTC synchronization
- 32.3.11 RTC reference clock detection
- 32.3.12 RTC smooth digital calibration
- 32.3.13 Time-stamp function
- 32.3.14 Tamper detection
- 32.3.15 Calibration clock output
- 32.3.16 Alarm output
- 32.4 RTC low-power modes
- 32.5 RTC interrupts
- 32.6 RTC registers
- 32.6.1 RTC time register (RTC_TR)
- 32.6.2 RTC date register (RTC_DR)
- 32.6.3 RTC control register (RTC_CR)
- 32.6.4 RTC initialization and status register (RTC_ISR)
- 32.6.5 RTC prescaler register (RTC_PRER)
- 32.6.6 RTC wakeup timer register (RTC_WUTR)
- 32.6.7 RTC alarm A register (RTC_ALRMAR)
- 32.6.8 RTC alarm B register (RTC_ALRMBR)
- 32.6.9 RTC write protection register (RTC_WPR)
- 32.6.10 RTC sub second register (RTC_SSR)
- 32.6.11 RTC shift control register (RTC_SHIFTR)
- 32.6.12 RTC timestamp time register (RTC_TSTR)
- 32.6.13 RTC timestamp date register (RTC_TSDR)
- 32.6.14 RTC time-stamp sub second register (RTC_TSSSR)
- 32.6.15 RTC calibration register (RTC_CALR)
- 32.6.16 RTC tamper configuration register (RTC_TAMPCR)
- 32.6.17 RTC alarm A sub second register (RTC_ALRMASSR)
- 32.6.18 RTC alarm B sub second register (RTC_ALRMBSSR)
- 32.6.19 RTC option register (RTC_OR)
- 32.6.20 RTC backup registers (RTC_BKPxR)
- 32.6.21 RTC register map
- 33 Inter-integrated circuit (I2C) interface
- 33.1 Introduction
- 33.2 I2C main features
- 33.3 I2C implementation
- 33.4 I2C functional description
- 33.4.1 I2C block diagram
- 33.4.2 I2C clock requirements
- 33.4.3 Mode selection
- 33.4.4 I2C initialization
- 33.4.5 Software reset
- 33.4.6 Data transfer
- 33.4.7 I2C slave mode
- 33.4.8 I2C master mode
- 33.4.9 I2C_TIMINGR register configuration examples
- 33.4.10 SMBus specific features
- 33.4.11 SMBus initialization
- 33.4.12 SMBus: I2C_TIMEOUTR register configuration examples
- 33.4.13 SMBus slave mode
- 33.4.14 Wakeup from Stop mode on address match
- 33.4.15 Error conditions
- 33.4.16 DMA requests
- 33.4.17 Debug mode
- 33.5 I2C low-power modes
- 33.6 I2C interrupts
- 33.7 I2C registers
- 33.7.1 Control register 1 (I2C_CR1)
- 33.7.2 Control register 2 (I2C_CR2)
- 33.7.3 Own address 1 register (I2C_OAR1)
- 33.7.4 Own address 2 register (I2C_OAR2)
- 33.7.5 Timing register (I2C_TIMINGR)
- 33.7.6 Timeout register (I2C_TIMEOUTR)
- 33.7.7 Interrupt and status register (I2C_ISR)
- 33.7.8 Interrupt clear register (I2C_ICR)
- 33.7.9 PEC register (I2C_PECR)
- 33.7.10 Receive data register (I2C_RXDR)
- 33.7.11 Transmit data register (I2C_TXDR)
- 33.7.12 I2C register map
- 34 Universal synchronous asynchronous receiver transmitter (USART)
- 34.1 Introduction
- 34.2 USART main features
- 34.3 USART extended features
- 34.4 USART implementation
- 34.5 USART functional description
- 34.5.1 USART character description
- 34.5.2 USART transmitter
- 34.5.3 USART receiver
- 34.5.4 USART baud rate generation
- 34.5.5 Tolerance of the USART receiver to clock deviation
- 34.5.6 USART auto baud rate detection
- 34.5.7 Multiprocessor communication using USART
- 34.5.8 Modbus communication using USART
- 34.5.9 USART parity control
- 34.5.10 USART LIN (local interconnection network) mode
- 34.5.11 USART synchronous mode
- 34.5.12 USART Single-wire Half-duplex communication
- 34.5.13 USART Smartcard mode
- 34.5.14 USART IrDA SIR ENDEC block
- 34.5.15 USART continuous communication in DMA mode
- 34.5.16 RS232 hardware flow control and RS485 driver enable using USART
- 34.5.17 Wakeup from Stop mode using USART
- 34.6 USART low-power modes
- 34.7 USART interrupts
- 34.8 USART registers
- 34.8.1 Control register 1 (USART_CR1)
- 34.8.2 Control register 2 (USART_CR2)
- 34.8.3 Control register 3 (USART_CR3)
- 34.8.4 Baud rate register (USART_BRR)
- 34.8.5 Guard time and prescaler register (USART_GTPR)
- 34.8.6 Receiver timeout register (USART_RTOR)
- 34.8.7 Request register (USART_RQR)
- 34.8.8 Interrupt and status register (USART_ISR)
- 34.8.9 Interrupt flag clear register (USART_ICR)
- 34.8.10 Receive data register (USART_RDR)
- 34.8.11 Transmit data register (USART_TDR)
- 34.8.12 USART register map
- 35 Low-power universal asynchronous receiver transmitter (LPUART)
- 35.1 Introduction
- 35.2 LPUART main features
- 35.3 LPUART implementation
- 35.4 LPUART functional description
- 35.4.1 LPUART character description
- 35.4.2 LPUART transmitter
- 35.4.3 LPUART receiver
- 35.4.4 LPUART baud rate generation
- 35.4.5 Tolerance of the LPUART receiver to clock deviation
- 35.4.6 Multiprocessor communication using LPUART
- 35.4.7 LPUART parity control
- 35.4.8 Single-wire Half-duplex communication using LPUART
- 35.4.9 Continuous communication in DMA mode using LPUART
- 35.4.10 RS232 Hardware flow control and RS485 Driver Enable using LPUART
- 35.4.11 Wakeup from Stop mode using LPUART
- 35.5 LPUART low-power mode
- 35.6 LPUART interrupts
- 35.7 LPUART registers
- 35.7.1 Control register 1 (LPUART_CR1)
- 35.7.2 Control register 2 (LPUART_CR2)
- 35.7.3 Control register 3 (LPUART_CR3)
- 35.7.4 Baud rate register (LPUART_BRR)
- 35.7.5 Request register (LPUART_RQR)
- 35.7.6 Interrupt & status register (LPUART_ISR)
- 35.7.7 Interrupt flag clear register (LPUART_ICR)
- 35.7.8 Receive data register (LPUART_RDR)
- 35.7.9 Transmit data register (LPUART_TDR)
- 35.7.10 LPUART register map
- 36 Serial peripheral interface (SPI)
- 36.1 Introduction
- 36.2 SPI main features
- 36.3 SPI implementation
- 36.4 SPI functional description
- 36.4.1 General description
- 36.4.2 Communications between one master and one slave
- 36.4.3 Standard multi-slave communication
- 36.4.4 Multi-master communication
- 36.4.5 Slave select (NSS) pin management
- 36.4.6 Communication formats
- 36.4.7 Configuration of SPI
- 36.4.8 Procedure for enabling SPI
- 36.4.9 Data transmission and reception procedures
- 36.4.10 SPI status flags
- 36.4.11 SPI error flags
- 36.4.12 NSS pulse mode
- 36.4.13 TI mode
- 36.4.14 CRC calculation
- 36.5 SPI interrupts
- 36.6 SPI registers
- 36.6.1 SPI control register 1 (SPIx_CR1)
- 36.6.2 SPI control register 2 (SPIx_CR2)
- 36.6.3 SPI status register (SPIx_SR)
- 36.6.4 SPI data register (SPIx_DR)
- 36.6.5 SPI CRC polynomial register (SPIx_CRCPR)
- 36.6.6 SPI Rx CRC register (SPIx_RXCRCR)
- 36.6.7 SPI Tx CRC register (SPIx_TXCRCR)
- 36.6.8 SPI register map
- 37 Serial audio interface (SAI)
- 37.1 Introduction
- 37.2 SAI main features
- 37.3 SAI implementation
- 37.4 SAI functional description
- 37.4.1 SAI block diagram
- 37.4.2 Main SAI modes
- 37.4.3 SAI synchronization mode
- 37.4.4 Audio data size
- 37.4.5 Frame synchronization
- 37.4.6 Slot configuration
- 37.4.7 SAI clock generator
- 37.4.8 Internal FIFOs
- 37.4.9 AC’97 link controller
- 37.4.10 SPDIF output
- 37.4.11 Specific features
- 37.4.12 Error flags
- 37.4.13 Disabling the SAI
- 37.4.14 SAI DMA interface
- 37.5 SAI interrupts
- 37.6 SAI registers
- 37.6.1 Global configuration register (SAI_GCR)
- 37.6.2 Configuration register 1 (SAI_ACR1 / SAI_BCR1)
- 37.6.3 Configuration register 2 (SAI_ACR2 / SAI_BCR2)
- 37.6.4 Frame configuration register (SAI_AFRCR / SAI_BFRCR)
- 37.6.5 Slot register (SAI_ASLOTR / SAI_BSLOTR)
- 37.6.6 Interrupt mask register 2 (SAI_AIM / SAI_BIM)
- 37.6.7 Status register (SAI_ASR / SAI_BSR)
- 37.6.8 Clear flag register (SAI_ACLRFR / SAI_BCLRFR)
- 37.6.9 Data register (SAI_ADR / SAI_BDR)
- 37.6.10 SAI register map
- 38 Single Wire Protocol Master Interface (SWPMI)
- 38.1 Introduction
- 38.2 SWPMI main features
- 38.3 SWPMI functional description
- 38.4 SWPMI low-power modes
- 38.5 SWPMI interrupts
- 38.6 SWPMI registers
- 38.6.1 SWPMI Configuration/Control register (SWPMI_CR)
- 38.6.2 SWPMI Bitrate register (SWPMI_BRR)
- 38.6.3 SWPMI Interrupt and Status register (SWPMI_ISR)
- 38.6.4 SWPMI Interrupt Flag Clear register (SWPMI_ICR)
- 38.6.5 SWPMI Interrupt Enable register (SMPMI_IER)
- 38.6.6 SWPMI Receive Frame Length register (SWPMI_RFL)
- 38.6.7 SWPMI Transmit data register (SWPMI_TDR)
- 38.6.8 SWPMI Receive data register (SWPMI_RDR)
- 38.6.9 SWPMI Option register (SWPMI_OR)
- 38.6.10 SWPMI register map and reset value table
- 39 SD/SDIO/MMC card host interface (SDMMC)
- 39.1 SDMMC main features
- 39.2 SDMMC bus topology
- 39.3 SDMMC functional description
- Table 179. SDMMC I/O definitions
- 39.3.1 SDMMC adapter
- Adapter register block
- Control unit
- Command path
- Table 180. Command format
- Table 181. Short response format
- Table 182. Long response format
- Table 183. Command path status flags
- Data path
- Table 184. Data token format
- DPSM Flags
- Table 185. DPSM flags
- Data FIFO
- Table 186. Transmit FIFO status flags
- Table 187. Receive FIFO status flags
- 39.3.2 SDMMC APB2 interface
- 39.4 Card functional description
- 39.4.1 Card identification mode
- 39.4.2 Card reset
- 39.4.3 Operating voltage range validation
- 39.4.4 Card identification process
- 39.4.5 Block write
- 39.4.6 Block read
- 39.4.7 Stream access, stream write and stream read (MultiMediaCard only)
- 39.4.8 Erase: group erase and sector erase
- 39.4.9 Wide bus selection or deselection
- 39.4.10 Protection management
- 39.4.11 Card status register
- 39.4.12 SD status register
- Table 189. SD status
- SIZE_OF_PROTECTED_AREA
- SPEED_CLASS
- Table 190. Speed class code field
- PERFORMANCE_MOVE
- Table 191. Performance move field
- AU_SIZE
- Table 192. AU_SIZE field
- Table 193. Maximum AU size
- ERASE_SIZE
- Table 194. Erase size field
- ERASE_TIMEOUT
- Table 195. Erase timeout field
- ERASE_OFFSET
- Table 196. Erase offset field
- 39.4.13 SD I/O mode
- 39.4.14 Commands and responses
- Application-specific and general commands
- Command types
- Command formats
- Commands for the MultiMediaCard/SD module
- Table 197. Block-oriented write commands
- Table 198. Block-oriented write protection commands
- Table 199. Erase commands
- Table 200. I/O mode commands
- Table 201. Lock card
- Table 202. Application-specific commands
- 39.5 Response formats
- 39.6 SDIO I/O card-specific operations
- 39.7 HW flow control
- 39.8 SDMMC registers
- 39.8.1 SDMMC power control register (SDMMC_POWER)
- 39.8.2 SDMMC clock control register (SDMMC_CLKCR)
- 39.8.3 SDMMC argument register (SDMMC_ARG)
- 39.8.4 SDMMC command register (SDMMC_CMD)
- 39.8.5 SDMMC command response register (SDMMC_RESPCMD)
- 39.8.6 SDMMC response 1..4 register (SDMMC_RESPx)
- 39.8.7 SDMMC data timer register (SDMMC_DTIMER)
- 39.8.8 SDMMC data length register (SDMMC_DLEN)
- 39.8.9 SDMMC data control register (SDMMC_DCTRL)
- 39.8.10 SDMMC data counter register (SDMMC_DCOUNT)
- 39.8.11 SDMMC status register (SDMMC_STA)
- 39.8.12 SDMMC interrupt clear register (SDMMC_ICR)
- 39.8.13 SDMMC mask register (SDMMC_MASK)
- 39.8.14 SDMMC FIFO counter register (SDMMC_FIFOCNT)
- 39.8.15 SDMMC data FIFO register (SDMMC_FIFO)
- 39.8.16 SDMMC register map
- 40 Controller area network (bxCAN)
- 40.1 Introduction
- 40.2 bxCAN main features
- 40.3 bxCAN general description
- 40.4 bxCAN operating modes
- 40.5 Test mode
- 40.6 Behavior in Debug mode
- 40.7 bxCAN functional description
- 40.8 bxCAN interrupts
- 40.9 CAN registers
- 40.9.1 Register access protection
- 40.9.2 CAN control and status registers
- 40.9.3 CAN mailbox registers
- CAN TX mailbox identifier register (CAN_TIxR) (x = 0..2)
- CAN mailbox data length control and time stamp register (CAN_TDTxR) (x = 0..2)
- CAN mailbox data low register (CAN_TDLxR) (x = 0..2)
- CAN mailbox data high register (CAN_TDHxR) (x = 0..2)
- CAN receive FIFO mailbox identifier register (CAN_RIxR) (x = 0..1)
- CAN receive FIFO mailbox data length control and time stamp register (CAN_RDTxR) (x = 0..1)
- CAN receive FIFO mailbox data low register (CAN_RDLxR) (x = 0..1)
- CAN receive FIFO mailbox data high register (CAN_RDHxR) (x = 0..1)
- 40.9.4 CAN filter registers
- 40.9.5 bxCAN register map
- 41 Universal serial bus full-speed device interface (USB)
- 41.1 Introduction
- 41.2 USB main features
- 41.3 USB implementation
- 41.4 USB functional description
- 41.5 Programming considerations
- 41.6 USB registers
- 41.6.1 Common registers
- USB control register (USB_CNTR)
- USB interrupt status register (USB_ISTR)
- USB frame number register (USB_FNR)
- USB device address (USB_DADDR)
- Buffer table address (USB_BTABLE)
- LPM control and status register (USB_LPMCSR)
- Battery charging detector (USB_BCDR)
- Endpoint-specific registers
- USB endpoint n register (USB_EPnR), n=[0..7]
- Table 220. Reception status encoding
- Table 221. Endpoint type encoding
- Table 222. Endpoint kind meaning
- Table 223. Transmission status encoding
- 41.6.2 Buffer descriptor table
- 41.6.3 USB register map
- 41.6.1 Common registers
- 42 Debug support (DBG)
- 42.1 Overview
- 42.2 Reference ARM® documentation
- 42.3 SWJ debug port (serial wire and JTAG)
- 42.4 Pinout and debug port pins
- 42.5 STM32L4x2 JTAG TAP connection
- 42.6 ID codes and locking mechanism
- 42.7 JTAG debug port
- 42.8 SW debug port
- 42.9 AHB-AP (AHB access port) - valid for both JTAG-DP and SW-DP
- 42.10 Core debug
- 42.11 Capability of the debugger host to connect under system reset
- 42.12 FPB (Flash patch breakpoint)
- 42.13 DWT (data watchpoint trigger)
- 42.14 ITM (instrumentation trace macrocell)
- 42.15 ETM (Embedded trace macrocell)
- 42.16 MCU debug component (DBGMCU)
- 42.16.1 Debug support for low-power modes
- 42.16.2 Debug support for timers, RTC, watchdog, bxCAN and I2C
- 42.16.3 Debug MCU configuration register (DBGMCU_CR)
- 42.16.4 Debug MCU APB1 freeze register1(DBGMCU_APB1FZR1)
- 42.16.5 Debug MCU APB1 freeze register 2 (DBGMCU_APB1FZR2)
- 42.16.6 Debug MCU APB2 freeze register (DBGMCU_APB2FZR)
- 42.17 TPIU (trace port interface unit)
- 42.17.1 Introduction
- 42.17.2 TRACE pin assignment
- 42.17.3 TPUI formatter
- 42.17.4 TPUI frame synchronization packets
- 42.17.5 Transmission of the synchronization frame packet
- 42.17.6 Synchronous mode
- 42.17.7 Asynchronous mode
- 42.17.8 TRACECLKIN connection inside the STM32L4x2
- 42.17.9 TPIU registers
- 42.17.10 Example of configuration
- 42.18 DBG register map
- 43 Device electronic signature
- 44 Revision history