STM32F413/423 Advanced Arm® Based 32 Bit MCUs Reference Manual STM32F4xxxx
User Manual:
Open the PDF directly: View PDF
Page Count: 1324 [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 interface
- 3.1 Introduction
- 3.2 Main features
- 3.3 Embedded Flash memory
- 3.4 Read interface
- 3.5 Erase and program operations
- 3.6 Option bytes
- 3.7 One-time programmable bytes
- 3.8 Flash interface registers
- 4 CRC calculation unit
- 5 Power controller (PWR)
- 5.1 Power supplies
- 5.2 Power supply supervisor
- 5.3 Low-power modes
- 5.4 Power control registers
- 5.5 PWR register map
- 6 Reset and clock control (RCC) for STM32F413/423
- 6.1 Reset
- 6.2 Clocks
- 6.3 RCC registers
- 6.3.1 RCC clock control register (RCC_CR)
- 6.3.2 RCC PLL configuration register (RCC_PLLCFGR)
- 6.3.3 RCC clock configuration register (RCC_CFGR)
- 6.3.4 RCC clock interrupt register (RCC_CIR)
- 6.3.5 RCC AHB1 peripheral reset register (RCC_AHB1RSTR)
- 6.3.6 RCC AHB2 peripheral reset register (RCC_AHB2RSTR) for STM32F413xx
- 6.3.7 RCC AHB2 peripheral reset register (RCC_AHB2RSTR) for STM32F423xx
- 6.3.8 RCC AHB3 peripheral reset register (RCC_AHB3RSTR)
- 6.3.9 RCC APB1 peripheral reset register for (RCC_APB1RSTR)
- 6.3.10 RCC APB2 peripheral reset register (RCC_APB2RSTR)
- 6.3.11 RCC AHB1 peripheral clock enable register (RCC_AHB1ENR)
- 6.3.12 RCC AHB2 peripheral clock enable register (RCC_AHB2ENR) for STM32F413xx
- 6.3.13 RCC AHB2 peripheral clock enable register (RCC_AHB2ENR) for STM32F423xx
- 6.3.14 RCC AHB3 peripheral clock enable register (RCC_AHB3ENR)
- 6.3.15 RCC APB1 peripheral clock enable register (RCC_APB1ENR)
- 6.3.16 RCC APB2 peripheral clock enable register (RCC_APB2ENR)
- 6.3.17 RCC AHB1 peripheral clock enable in low power mode register (RCC_AHB1LPENR)
- 6.3.18 RCC AHB2 peripheral clock enable in low power mode register (RCC_AHB2LPENR) for STM32F413xx
- 6.3.19 RCC AHB2 peripheral clock enable in low power mode register (RCC_AHB2LPENR) for STM32F423xx
- 6.3.20 RCC AHB3 peripheral clock enable in low power mode register (RCC_AHB3LPENR)
- 6.3.21 RCC APB1 peripheral clock enable in low power mode register (RCC_APB1LPENR)
- 6.3.22 RCC APB2 peripheral clock enabled in low power mode register (RCC_APB2LPENR)
- 6.3.23 RCC Backup domain control register (RCC_BDCR)
- 6.3.24 RCC clock control & status register (RCC_CSR)
- 6.3.25 RCC spread spectrum clock generation register (RCC_SSCGR)
- 6.3.26 RCC PLLI2S configuration register (RCC_PLLI2SCFGR)
- 6.3.27 RCC Dedicated Clocks Configuration Register (RCC_DCKCFGR)
- 6.3.28 RCC clocks gated enable register (CKGATENR)
- 6.3.29 RCC Dedicated Clocks Configuration Register (RCC_DCKCFGR2)
- 6.3.30 RCC register map
- 7 General-purpose I/Os (GPIO)
- 7.1 GPIO introduction
- 7.2 GPIO main features
- 7.3 GPIO functional description
- Figure 17. Basic structure of a five-volt tolerant I/O port bit
- Table 25. Port bit configuration table
- 7.3.1 General-purpose I/O (GPIO)
- 7.3.2 I/O pin multiplexer and mapping
- 7.3.3 I/O port control registers
- 7.3.4 I/O port data registers
- 7.3.5 I/O data bitwise handling
- 7.3.6 GPIO locking mechanism
- 7.3.7 I/O alternate function input/output
- 7.3.8 External interrupt/wakeup lines
- 7.3.9 Input configuration
- 7.3.10 Output configuration
- 7.3.11 Alternate function configuration
- 7.3.12 Analog configuration
- 7.3.13 Using the OSC32_IN/OSC32_OUT pins as GPIO PC14/PC15 port pins
- 7.3.14 Using the OSC_IN/OSC_OUT pins as GPIO PH0/PH1 port pins
- 7.3.15 Selection of RTC additional functions
- 7.4 GPIO registers
- 7.4.1 GPIO port mode register (GPIOx_MODER) (x = A...H)
- 7.4.2 GPIO port output type register (GPIOx_OTYPER) (x = A...H)
- 7.4.3 GPIO port output speed register (GPIOx_OSPEEDR) (x = A...H)
- 7.4.4 GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A...H)
- 7.4.5 GPIO port input data register (GPIOx_IDR) (x = A...H)
- 7.4.6 GPIO port output data register (GPIOx_ODR) (x = A...H)
- 7.4.7 GPIO port bit set/reset register (GPIOx_BSRR) (x = A...H)
- 7.4.8 GPIO port configuration lock register (GPIOx_LCKR) (x = A...H)
- 7.4.9 GPIO alternate function low register (GPIOx_AFRL) (x = A...H)
- 7.4.10 GPIO alternate function high register (GPIOx_AFRH) (x = A...H)
- 7.4.11 GPIO register map
- 8 System configuration controller (SYSCFG)
- 8.1 I/O compensation cell
- 8.2 SYSCFG registers
- 8.2.1 SYSCFG memory remap register (SYSCFG_MEMRMP)
- 8.2.2 SYSCFG peripheral mode configuration register (SYSCFG_PMC)
- 8.2.3 SYSCFG external interrupt configuration register 1 (SYSCFG_EXTICR1)
- 8.2.4 SYSCFG external interrupt configuration register 2 (SYSCFG_EXTICR2)
- 8.2.5 SYSCFG external interrupt configuration register 3 (SYSCFG_EXTICR3)
- 8.2.6 SYSCFG external interrupt configuration register 4 (SYSCFG_EXTICR4)
- 8.2.7 SYSCFG configuration register 2 (SYSCFG_CFGR2)
- 8.2.8 Compensation cell control register (SYSCFG_CMPCR)
- 8.2.9 SYSCFG configuration register (SYSCFG_CFGR)
- 8.2.10 DFSDM Multi-channel delay control register (SYSCFG_MCHDLYCR)
- 8.2.11 SYSCFG register map
- 9 Direct memory access controller (DMA)
- 9.1 DMA introduction
- 9.2 DMA main features
- 9.3 DMA functional description
- 9.3.1 DMA block diagram
- 9.3.2 DMA overview
- 9.3.3 DMA transactions
- 9.3.4 Channel selection
- 9.3.5 Arbiter
- 9.3.6 DMA streams
- 9.3.7 Source, destination and transfer modes
- 9.3.8 Pointer incrementation
- 9.3.9 Circular mode
- 9.3.10 Double-buffer mode
- 9.3.11 Programmable data width, packing/unpacking, endianness
- 9.3.12 Single and burst transfers
- 9.3.13 FIFO
- 9.3.14 DMA transfer completion
- 9.3.15 DMA transfer suspension
- 9.3.16 Flow controller
- 9.3.17 Summary of the possible DMA configurations
- 9.3.18 Stream configuration procedure
- 9.3.19 Error management
- 9.4 DMA interrupts
- 9.5 DMA registers
- 9.5.1 DMA low interrupt status register (DMA_LISR)
- 9.5.2 DMA high interrupt status register (DMA_HISR)
- 9.5.3 DMA low interrupt flag clear register (DMA_LIFCR)
- 9.5.4 DMA high interrupt flag clear register (DMA_HIFCR)
- 9.5.5 DMA stream x configuration register (DMA_SxCR)
- 9.5.6 DMA stream x number of data register (DMA_SxNDTR)
- 9.5.7 DMA stream x peripheral address register (DMA_SxPAR)
- 9.5.8 DMA stream x memory 0 address register (DMA_SxM0AR)
- 9.5.9 DMA stream x memory 1 address register (DMA_SxM1AR)
- 9.5.10 DMA stream x FIFO control register (DMA_SxFCR)
- 9.5.11 DMA register map
- 10 Interrupts and events
- 10.1 Nested vectored interrupt controller (NVIC)
- 10.2 External interrupt/event controller (EXTI)
- 10.3 EXTI registers
- 11 Flexible static memory controller (FSMC)
- 11.1 FSMC main features
- 11.2 FMC block diagram
- 11.3 AHB interface
- 11.4 External device address mapping
- 11.5 NOR Flash/PSRAM controller
- Table 44. Programmable NOR/PSRAM access parameters
- 11.5.1 External memory interface signals
- 11.5.2 Supported memories and transactions
- 11.5.3 General timing rules
- 11.5.4 NOR Flash/PSRAM controller asynchronous transactions
- Figure 33. Mode1 read access waveforms
- Figure 34. Mode1 write access waveforms
- Table 50. FSMC_BCRx bit fields
- Table 51. FSMC_BTRx bit fields
- Figure 35. ModeA read access waveforms
- Figure 36. ModeA write access waveforms
- Table 52. FSMC_BCRx bit fields
- Table 53. FSMC_BTRx bit fields
- Table 54. FSMC_BWTRx bit fields
- Figure 37. Mode2 and mode B read access waveforms
- Figure 38. Mode2 write access waveforms
- Figure 39. ModeB write access waveforms
- Table 55. FSMC_BCRx bit fields
- Table 56. FSMC_BTRx bit fields
- Table 57. FSMC_BWTRx bit fields
- Figure 40. ModeC read access waveforms
- Figure 41. ModeC write access waveforms
- Table 58. FSMC_BCRx bit fields
- Table 59. FSMC_BTRx bit fields
- Table 60. FSMC_BWTRx bit fields
- Figure 42. ModeD read access waveforms
- Figure 43. ModeD write access waveforms
- Table 61. FSMC_BCRx bit fields
- Table 62. FSMC_BTRx bit fields
- Table 63. FSMC_BWTRx bit fields
- Figure 44. Muxed read access waveforms
- Figure 45. Muxed write access waveforms
- Table 64. FSMC_BCRx bit fields
- Table 65. FSMC_BTRx bit fields
- Figure 46. Asynchronous wait during a read access waveforms
- Figure 47. Asynchronous wait during a write access waveforms
- 11.5.5 Synchronous transactions
- Figure 48. Wait configuration waveforms
- Figure 49. Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM)
- Table 66. FSMC_BCRx bit fields
- Table 67. FSMC_BTRx bit fields
- Figure 50. Synchronous multiplexed write mode waveforms - PSRAM (CRAM)
- Table 68. FSMC_BCRx bit fields
- Table 69. FSMC_BTRx bit fields
- 11.5.6 NOR/PSRAM controller registers
- 11.6 FSMC register map
- 12 Quad-SPI interface (QUADSPI)
- 12.1 Introduction
- 12.2 QUADSPI main features
- 12.3 QUADSPI functional description
- 12.3.1 QUADSPI block diagram
- 12.3.2 QUADSPI pins
- 12.3.3 QUADSPI command sequence
- 12.3.4 QUADSPI signal interface protocol modes
- 12.3.5 QUADSPI indirect mode
- 12.3.6 QUADSPI status flag polling mode
- 12.3.7 QUADSPI memory-mapped mode
- 12.3.8 QUADSPI Flash memory configuration
- 12.3.9 QUADSPI delayed data sampling
- 12.3.10 QUADSPI configuration
- 12.3.11 QUADSPI usage
- 12.3.12 Sending the instruction only once
- 12.3.13 QUADSPI error management
- 12.3.14 QUADSPI busy bit and abort functionality
- 12.3.15 nCS behavior
- 12.4 QUADSPI interrupts
- 12.5 QUADSPI registers
- 12.5.1 QUADSPI control register (QUADSPI_CR)
- 12.5.2 QUADSPI device configuration register (QUADSPI_DCR)
- 12.5.3 QUADSPI status register (QUADSPI_SR)
- 12.5.4 QUADSPI flag clear register (QUADSPI_FCR)
- 12.5.5 QUADSPI data length register (QUADSPI_DLR)
- 12.5.6 QUADSPI communication configuration register (QUADSPI_CCR)
- 12.5.7 QUADSPI address register (QUADSPI_AR)
- 12.5.8 QUADSPI alternate bytes registers (QUADSPI_ABR)
- 12.5.9 QUADSPI data register (QUADSPI_DR)
- 12.5.10 QUADSPI polling status mask register (QUADSPI _PSMKR)
- 12.5.11 QUADSPI polling status match register (QUADSPI _PSMAR)
- 12.5.12 QUADSPI polling interval register (QUADSPI _PIR)
- 12.5.13 QUADSPI low-power timeout register (QUADSPI_LPTR)
- 12.5.14 QUADSPI register map
- 13 Analog-to-digital converter (ADC)
- 13.1 ADC introduction
- 13.2 ADC main features
- 13.3 ADC functional description
- 13.4 Data alignment
- 13.5 Channel-wise programmable sampling time
- 13.6 Conversion on external trigger and trigger polarity
- 13.7 Fast conversion mode
- 13.8 Data management
- 13.9 Temperature sensor
- 13.10 Battery charge monitoring
- 13.11 ADC interrupts
- 13.12 ADC registers
- 13.12.1 ADC status register (ADC_SR)
- 13.12.2 ADC control register 1 (ADC_CR1)
- 13.12.3 ADC control register 2 (ADC_CR2)
- 13.12.4 ADC sample time register 1 (ADC_SMPR1)
- 13.12.5 ADC sample time register 2 (ADC_SMPR2)
- 13.12.6 ADC injected channel data offset register x (ADC_JOFRx) (x=1..4)
- 13.12.7 ADC watchdog higher threshold register (ADC_HTR)
- 13.12.8 ADC watchdog lower threshold register (ADC_LTR)
- 13.12.9 ADC regular sequence register 1 (ADC_SQR1)
- 13.12.10 ADC regular sequence register 2 (ADC_SQR2)
- 13.12.11 ADC regular sequence register 3 (ADC_SQR3)
- 13.12.12 ADC injected sequence register (ADC_JSQR)
- 13.12.13 ADC injected data register x (ADC_JDRx) (x= 1..4)
- 13.12.14 ADC regular data register (ADC_DR)
- 13.12.15 ADC Common status register (ADC_CSR)
- 13.12.16 ADC common control register (ADC_CCR)
- 13.12.17 ADC register map
- 14 Digital-to-analog converter (DAC)
- 14.1 DAC introduction
- 14.2 DAC main features
- 14.3 DAC functional description
- 14.4 Dual DAC channel conversion
- 14.4.1 Independent trigger without wave generation
- 14.4.2 Independent trigger with single LFSR generation
- 14.4.3 Independent trigger with different LFSR generation
- 14.4.4 Independent trigger with single triangle generation
- 14.4.5 Independent trigger with different triangle generation
- 14.4.6 Simultaneous software start
- 14.4.7 Simultaneous trigger without wave generation
- 14.4.8 Simultaneous trigger with single LFSR generation
- 14.4.9 Simultaneous trigger with different LFSR generation
- 14.4.10 Simultaneous trigger with single triangle generation
- 14.4.11 Simultaneous trigger with different triangle generation
- 14.5 DAC registers
- 14.5.1 DAC control register (DAC_CR)
- 14.5.2 DAC software trigger register (DAC_SWTRIGR)
- 14.5.3 DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1)
- 14.5.4 DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1)
- 14.5.5 DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1)
- 14.5.6 DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2)
- 14.5.7 DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2)
- 14.5.8 DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2)
- 14.5.9 Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD)
- 14.5.10 DUAL DAC 12-bit left aligned data holding register (DAC_DHR12LD)
- 14.5.11 DUAL DAC 8-bit right aligned data holding register (DAC_DHR8RD)
- 14.5.12 DAC channel1 data output register (DAC_DOR1)
- 14.5.13 DAC channel2 data output register (DAC_DOR2)
- 14.5.14 DAC status register (DAC_SR)
- 14.5.15 DAC register map
- 15 Digital filter for sigma delta modulators (DFSDM)
- 15.1 Introduction
- 15.2 DFSDM main features
- 15.3 DFSDM implementation
- 15.4 DFSDM functional description
- 15.4.1 DFSDM block diagram
- 15.4.2 DFSDM pins and internal signals
- 15.4.3 DFSDM reset and clocks
- 15.4.4 Serial channel transceivers
- 15.4.5 Configuring the input serial interface
- 15.4.6 Parallel data inputs
- 15.4.7 Channel selection
- 15.4.8 Digital filter configuration
- 15.4.9 Integrator unit
- 15.4.10 Analog watchdog
- 15.4.11 Short-circuit detector
- 15.4.12 Extreme detector
- 15.4.13 Data unit block
- 15.4.14 Signed data format
- 15.4.15 Launching conversions
- 15.4.16 Continuous and fast continuous modes
- 15.4.17 Request precedence
- 15.4.18 Power optimization in run mode
- 15.5 DFSDM interrupts
- 15.6 DFSDM DMA transfer
- 15.7 DFSDM channel y registers (y=0..7)
- 15.7.1 DFSDM channel y configuration register (DFSDM_CHyCFGR1)
- 15.7.2 DFSDM channel y configuration register (DFSDM_CHyCFGR2)
- 15.7.3 DFSDM channel y analog watchdog and short-circuit detector register (DFSDM_CHyAWSCDR)
- 15.7.4 DFSDM channel y watchdog filter data register (DFSDM_CHyWDATR)
- 15.7.5 DFSDM channel y data input register (DFSDM_CHyDATINR)
- 15.8 DFSDM filter x module registers (x=0..3)
- 15.8.1 DFSDM filter x control register 1 (DFSDM_FLTxCR1)
- 15.8.2 DFSDM filter x control register 2 (DFSDM_FLTxCR2)
- 15.8.3 DFSDM filter x interrupt and status register (DFSDM_FLTxISR)
- 15.8.4 DFSDM filter x interrupt flag clear register (DFSDM_FLTxICR)
- 15.8.5 DFSDM filter x injected channel group selection register (DFSDM_FLTxJCHGR)
- 15.8.6 DFSDM filter x control register (DFSDM_FLTxFCR)
- 15.8.7 DFSDM filter x data register for injected group (DFSDM_FLTxJDATAR)
- 15.8.8 DFSDM filter x data register for the regular channel (DFSDM_FLTxRDATAR)
- 15.8.9 DFSDM filter x analog watchdog high threshold register (DFSDM_FLTxAWHTR)
- 15.8.10 DFSDM filter x analog watchdog low threshold register (DFSDM_FLTxAWLTR)
- 15.8.11 DFSDM filter x analog watchdog status register (DFSDM_FLTxAWSR)
- 15.8.12 DFSDM filter x analog watchdog clear flag register (DFSDM_FLTxAWCFR)
- 15.8.13 DFSDM filter x extremes detector maximum register (DFSDM_FLTxEXMAX)
- 15.8.14 DFSDM filter x extremes detector minimum register (DFSDM_FLTxEXMIN)
- 15.8.15 DFSDM filter x conversion timer register (DFSDM_FLTxCNVTIMR)
- 15.8.16 DFSDM register map
- 16 True random number generator (RNG)
- 17 Advanced-control timers (TIM1&TIM8)
- 17.1 TIM1&TIM8 introduction
- 17.2 TIM1&TIM8 main features
- 17.3 TIM1&TIM8 functional description
- 17.3.1 Time-base unit
- 17.3.2 Counter modes
- Figure 90. Counter timing diagram, internal clock divided by 1
- Figure 91. Counter timing diagram, internal clock divided by 2
- Figure 92. Counter timing diagram, internal clock divided by 4
- Figure 93. Counter timing diagram, internal clock divided by N
- Figure 94. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded)
- Figure 95. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded)
- Figure 96. Counter timing diagram, internal clock divided by 1
- Figure 97. Counter timing diagram, internal clock divided by 2
- Figure 98. Counter timing diagram, internal clock divided by 4
- Figure 99. Counter timing diagram, internal clock divided by N
- Figure 100. Counter timing diagram, update event when repetition counter is not used
- Figure 101. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6
- Figure 102. Counter timing diagram, internal clock divided by 2
- Figure 103. Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36
- Figure 104. Counter timing diagram, internal clock divided by N
- Figure 105. Counter timing diagram, update event with ARPE=1 (counter underflow)
- Figure 106. Counter timing diagram, update event with ARPE=1 (counter overflow)
- 17.3.3 Repetition counter
- 17.3.4 Clock selection
- 17.3.5 Capture/compare channels
- 17.3.6 Input capture mode
- 17.3.7 PWM input mode
- 17.3.8 Forced output mode
- 17.3.9 Output compare mode
- 17.3.10 PWM mode
- 17.3.11 Complementary outputs and dead-time insertion
- 17.3.12 Using the break function
- 17.3.13 Clearing the OCxREF signal on an external event
- 17.3.14 6-step PWM generation
- 17.3.15 One-pulse mode
- 17.3.16 Encoder interface mode
- 17.3.17 Timer input XOR function
- 17.3.18 Interfacing with Hall sensors
- 17.3.19 TIMx and external trigger synchronization
- 17.3.20 Timer synchronization
- 17.3.21 Debug mode
- 17.4 TIM1&TIM8 registers
- 17.4.1 TIM1&TIM8 control register 1 (TIMx_CR1)
- 17.4.2 TIM1&TIM8 control register 2 (TIMx_CR2)
- 17.4.3 TIM1&TIM8 slave mode control register (TIMx_SMCR)
- 17.4.4 TIM1&TIM8 DMA/interrupt enable register (TIMx_DIER)
- 17.4.5 TIM1&TIM8 status register (TIMx_SR)
- 17.4.6 TIM1&TIM8 event generation register (TIMx_EGR)
- 17.4.7 TIM1&TIM8 capture/compare mode register 1 (TIMx_CCMR1)
- 17.4.8 TIM1&TIM8 capture/compare mode register 2 (TIMx_CCMR2)
- 17.4.9 TIM1&TIM8 capture/compare enable register (TIMx_CCER)
- 17.4.10 TIM1&TIM8 counter (TIMx_CNT)
- 17.4.11 TIM1&TIM8 prescaler (TIMx_PSC)
- 17.4.12 TIM1 auto-reload register (TIMx_ARR)
- 17.4.13 TIM1&TIM8 repetition counter register (TIMx_RCR)
- 17.4.14 TIM1&TIM8 capture/compare register 1 (TIMx_CCR1)
- 17.4.15 TIM1 capture/compare register 2 (TIMx_CCR2)
- 17.4.16 TIM1&TIM8 capture/compare register 3 (TIMx_CCR3)
- 17.4.17 TIM1&TIM8 capture/compare register 4 (TIMx_CCR4)
- 17.4.18 TIM1&TIM8 break and dead-time register (TIMx_BDTR)
- 17.4.19 TIM1&TIM8 DMA control register (TIMx_DCR)
- 17.4.20 TIM1&TIM8 DMA address for full transfer (TIMx_DMAR)
- 17.4.21 TIM1&TIM8 register map
- 18 General-purpose timers (TIM2 to TIM5)
- 18.1 TIM2 to TIM5 introduction
- 18.2 TIM2 to TIM5 main features
- 18.3 TIM2 to TIM5 functional description
- 18.3.1 Time-base unit
- 18.3.2 Counter modes
- Figure 138. Counter timing diagram, internal clock divided by 1
- Figure 139. Counter timing diagram, internal clock divided by 2
- Figure 140. Counter timing diagram, internal clock divided by 4
- Figure 141. Counter timing diagram, internal clock divided by N
- Figure 142. Counter timing diagram, Update event when ARPE=0 (TIMx_ARR not preloaded)
- Figure 143. Counter timing diagram, Update event when ARPE=1 (TIMx_ARR preloaded)
- Figure 144. Counter timing diagram, internal clock divided by 1
- Figure 145. Counter timing diagram, internal clock divided by 2
- Figure 146. Counter timing diagram, internal clock divided by 4
- Figure 147. Counter timing diagram, internal clock divided by N
- Figure 148. Counter timing diagram, Update event
- Figure 149. Counter timing diagram, internal clock divided by 1, TIMx_ARR=0x6
- Figure 150. Counter timing diagram, internal clock divided by 2
- Figure 151. Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36
- Figure 152. Counter timing diagram, internal clock divided by N
- Figure 153. Counter timing diagram, Update event with ARPE=1 (counter underflow)
- Figure 154. Counter timing diagram, Update event with ARPE=1 (counter overflow)
- 18.3.3 Clock selection
- 18.3.4 Capture/compare channels
- 18.3.5 Input capture mode
- 18.3.6 PWM input mode
- 18.3.7 Forced output mode
- 18.3.8 Output compare mode
- 18.3.9 PWM mode
- 18.3.10 One-pulse mode
- 18.3.11 Clearing the OCxREF signal on an external event
- 18.3.12 Encoder interface mode
- 18.3.13 Timer input XOR function
- 18.3.14 Timers and external trigger synchronization
- 18.3.15 Timer synchronization
- Figure 175. Master/Slave timer example
- Figure 176. Gating timer 2 with OC1REF of timer 1
- Figure 177. Gating timer 2 with Enable of timer 1
- Figure 178. Triggering timer 2 with update of timer 1
- Figure 179. Triggering timer 2 with Enable of timer 1
- Figure 180. Triggering timer 1 and 2 with timer 1 TI1 input
- 18.3.16 Debug mode
- 18.4 TIM2 to TIM5 registers
- 18.4.1 TIMx control register 1 (TIMx_CR1)
- 18.4.2 TIMx control register 2 (TIMx_CR2)
- 18.4.3 TIMx slave mode control register (TIMx_SMCR)
- 18.4.4 TIMx DMA/Interrupt enable register (TIMx_DIER)
- 18.4.5 TIMx status register (TIMx_SR)
- 18.4.6 TIMx event generation register (TIMx_EGR)
- 18.4.7 TIMx capture/compare mode register 1 (TIMx_CCMR1)
- 18.4.8 TIMx capture/compare mode register 2 (TIMx_CCMR2)
- 18.4.9 TIMx capture/compare enable register (TIMx_CCER)
- 18.4.10 TIMx counter (TIMx_CNT)
- 18.4.11 TIMx prescaler (TIMx_PSC)
- 18.4.12 TIMx auto-reload register (TIMx_ARR)
- 18.4.13 TIMx capture/compare register 1 (TIMx_CCR1)
- 18.4.14 TIMx capture/compare register 2 (TIMx_CCR2)
- 18.4.15 TIMx capture/compare register 3 (TIMx_CCR3)
- 18.4.16 TIMx capture/compare register 4 (TIMx_CCR4)
- 18.4.17 TIMx DMA control register (TIMx_DCR)
- 18.4.18 TIMx DMA address for full transfer (TIMx_DMAR)
- 18.4.19 TIM2 option register (TIM2_OR)
- 18.4.20 TIM5 option register (TIM5_OR)
- 18.4.21 TIMx register map
- 19 General-purpose timers (TIM9 to TIM14)
- 19.1 TIM9 to TIM14 introduction
- 19.2 TIM9 to TIM14 main features
- 19.3 TIM9 to TIM14 functional description
- 19.3.1 Time-base unit
- 19.3.2 Counter modes
- Figure 185. Counter timing diagram, internal clock divided by 1
- Figure 186. Counter timing diagram, internal clock divided by 2
- Figure 187. Counter timing diagram, internal clock divided by 4
- Figure 188. Counter timing diagram, internal clock divided by N
- Figure 189. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded)
- Figure 190. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded)
- 19.3.3 Clock selection
- 19.3.4 Capture/compare channels
- 19.3.5 Input capture mode
- 19.3.6 PWM input mode (only for TIM9/12)
- 19.3.7 Forced output mode
- 19.3.8 Output compare mode
- 19.3.9 PWM mode
- 19.3.10 One-pulse mode
- 19.3.11 TIM9/12 external trigger synchronization
- 19.3.12 Timer synchronization (TIM9/12)
- 19.3.13 Debug mode
- 19.4 TIM9 and TIM12 registers
- 19.4.1 TIM9/12 control register 1 (TIMx_CR1)
- 19.4.2 TIM9/12 slave mode control register (TIMx_SMCR)
- 19.4.3 TIM9/12 Interrupt enable register (TIMx_DIER)
- 19.4.4 TIM9/12 status register (TIMx_SR)
- 19.4.5 TIM9/12 event generation register (TIMx_EGR)
- 19.4.6 TIM9/12 capture/compare mode register 1 (TIMx_CCMR1)
- 19.4.7 TIM9/12 capture/compare enable register (TIMx_CCER)
- 19.4.8 TIM9/12 counter (TIMx_CNT)
- 19.4.9 TIM9/12 prescaler (TIMx_PSC)
- 19.4.10 TIM9/12 auto-reload register (TIMx_ARR)
- 19.4.11 TIM9/12 capture/compare register 1 (TIMx_CCR1)
- 19.4.12 TIM9/12 capture/compare register 2 (TIMx_CCR2)
- 19.4.13 TIM9/12 register map
- 19.5 TIM10/11/13/14 registers
- 19.5.1 TIM10/11/13/14 control register 1 (TIMx_CR1)
- 19.5.2 TIM10/11/13/14 Interrupt enable register (TIMx_DIER)
- 19.5.3 TIM10/11/13/14 status register (TIMx_SR)
- 19.5.4 TIM10/11/13/14 event generation register (TIMx_EGR)
- 19.5.5 TIM10/11/13/14 capture/compare mode register 1 (TIMx_CCMR1)
- 19.5.6 TIM10/11/13/14 capture/compare enable register (TIMx_CCER)
- 19.5.7 TIM10/11/13/14 counter (TIMx_CNT)
- 19.5.8 TIM10/11/13/14 prescaler (TIMx_PSC)
- 19.5.9 TIM10/11/13/14 auto-reload register (TIMx_ARR)
- 19.5.10 TIM10/11/13/14 capture/compare register 1 (TIMx_CCR1)
- 19.5.11 TIM11 option register 1 (TIM11_OR)
- 19.5.12 TIM10/11/13/14 register map
- 20 Basic timers (TIM6/7)
- 20.1 Introduction
- 20.2 TIM6/7 main features
- 20.3 TIM6/7 functional description
- 20.3.1 Time-base unit
- 20.3.2 Counting mode
- Figure 207. Counter timing diagram, internal clock divided by 1
- Figure 208. Counter timing diagram, internal clock divided by 2
- Figure 209. Counter timing diagram, internal clock divided by 4
- Figure 210. Counter timing diagram, internal clock divided by N
- Figure 211. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded)
- Figure 212. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded)
- 20.3.3 Clock source
- 20.3.4 Debug mode
- 20.4 TIM6/7 registers
- 20.4.1 TIM6/7 control register 1 (TIMx_CR1)
- 20.4.2 TIM6/7 control register 2 (TIMx_CR2)
- 20.4.3 TIM6/7 DMA/Interrupt enable register (TIMx_DIER)
- 20.4.4 TIM6/7 status register (TIMx_SR)
- 20.4.5 TIM6/7 event generation register (TIMx_EGR)
- 20.4.6 TIM6/7 counter (TIMx_CNT)
- 20.4.7 TIM6/7 prescaler (TIMx_PSC)
- 20.4.8 TIM6/7 auto-reload register (TIMx_ARR)
- 20.4.9 TIM6/7 register map
- 21 Low-power timer (LPTIM)
- 21.1 Introduction
- 21.2 LPTIM main features
- 21.3 LPTIM implementation
- 21.4 LPTIM functional description
- 21.4.1 LPTIM block diagram
- 21.4.2 LPTIM trigger mapping
- 21.4.3 LPTIM input1 multiplexing
- 21.4.4 LPTIM reset and clocks
- 21.4.5 Glitch filter
- 21.4.6 Prescaler
- 21.4.7 Trigger multiplexer
- 21.4.8 Operating mode
- 21.4.9 Timeout function
- 21.4.10 Waveform generation
- 21.4.11 Register update
- 21.4.12 Counter mode
- 21.4.13 Timer enable
- 21.4.14 Encoder mode
- 21.4.15 Debug mode
- 21.5 LPTIM interrupts
- 21.6 LPTIM registers
- 21.6.1 LPTIM interrupt and status register (LPTIM_ISR)
- 21.6.2 LPTIM interrupt clear register (LPTIM_ICR)
- 21.6.3 LPTIM interrupt enable register (LPTIM_IER)
- 21.6.4 LPTIM configuration register (LPTIM_CFGR)
- 21.6.5 LPTIM control register (LPTIM_CR)
- 21.6.6 LPTIM compare register (LPTIM_CMP)
- 21.6.7 LPTIM autoreload register (LPTIM_ARR)
- 21.6.8 LPTIM counter register (LPTIM_CNT)
- 21.6.9 LPTIM1 option register (LPTIM1_OPTR)
- 21.6.10 LPTIM register map
- 22 Independent watchdog (IWDG)
- 23 Window watchdog (WWDG)
- 24 AES hardware accelerator (AES)
- 24.1 Introduction
- 24.2 AES main features
- 24.3 AES implementation
- 24.4 AES functional description
- 24.4.1 AES block diagram
- 24.4.2 AES internal signals
- 24.4.3 AES cryptographic core
- Figure 225. ECB encryption and decryption principle
- Figure 226. CBC encryption and decryption principle
- Figure 227. CTR encryption and decryption principle
- Figure 228. GCM encryption and authentication principle
- Figure 229. GMAC authentication principle
- Figure 230. CCM encryption and authentication principle
- 24.4.4 AES procedure to perform a cipher operation
- 24.4.5 AES decryption key preparation
- 24.4.6 AES ciphertext stealing and data padding
- 24.4.7 AES task suspend and resume
- 24.4.8 AES basic chaining modes (ECB, CBC)
- 24.4.9 AES counter (CTR) mode
- 24.4.10 AES Galois/counter mode (GCM)
- 24.4.11 AES Galois message authentication code (GMAC)
- 24.4.12 AES counter with CBC-MAC (CCM)
- 24.4.13 .AES data registers and data swapping
- 24.4.14 AES key registers
- 24.4.15 AES initialization vector registers
- 24.4.16 AES DMA interface
- 24.4.17 AES error management
- 24.5 AES interrupts
- 24.6 AES processing latency
- 24.7 AES registers
- 24.7.1 AES control register (AES_CR)
- 24.7.2 AES status register (AES_SR)
- 24.7.3 AES data input register (AES_DINR)
- 24.7.4 AES data output register (AES_DOUTR)
- 24.7.5 AES key register 0 (AES_KEYR0)
- 24.7.6 AES key register 1 (AES_KEYR1)
- 24.7.7 AES key register 2 (AES_KEYR2)
- 24.7.8 AES key register 3 (AES_KEYR3)
- 24.7.9 AES initialization vector register 0 (AES_IVR0)
- 24.7.10 AES initialization vector register 1 (AES_IVR1)
- 24.7.11 AES initialization vector register 2 (AES_IVR2)
- 24.7.12 AES initialization vector register 3 (AES_IVR3)
- 24.7.13 AES key register 4 (AES_KEYR4)
- 24.7.14 AES key register 5 (AES_KEYR5)
- 24.7.15 AES key register 6 (AES_KEYR6)
- 24.7.16 AES key register 7 (AES_KEYR7)
- 24.7.17 AES suspend registers (AES_SUSPxR)
- 24.7.18 AES register map
- 25 Real-time clock (RTC)
- 25.1 Introduction
- 25.2 RTC main features
- 25.3 RTC functional description
- 25.3.1 Clock and prescalers
- 25.3.2 Real-time clock and calendar
- 25.3.3 Programmable alarms
- 25.3.4 Periodic auto-wakeup
- 25.3.5 RTC initialization and configuration
- 25.3.6 Reading the calendar
- 25.3.7 Resetting the RTC
- 25.3.8 RTC synchronization
- 25.3.9 RTC reference clock detection
- 25.3.10 RTC coarse digital calibration
- 25.3.11 RTC smooth digital calibration
- 25.3.12 Timestamp function
- 25.3.13 Tamper detection
- 25.3.14 Calibration clock output
- 25.3.15 Alarm output
- 25.4 RTC and low power modes
- 25.5 RTC interrupts
- 25.6 RTC registers
- 25.6.1 RTC time register (RTC_TR)
- 25.6.2 RTC date register (RTC_DR)
- 25.6.3 RTC control register (RTC_CR)
- 25.6.4 RTC initialization and status register (RTC_ISR)
- 25.6.5 RTC prescaler register (RTC_PRER)
- 25.6.6 RTC wakeup timer register (RTC_WUTR)
- 25.6.7 RTC calibration register (RTC_CALIBR)
- 25.6.8 RTC alarm A register (RTC_ALRMAR)
- 25.6.9 RTC alarm B register (RTC_ALRMBR)
- 25.6.10 RTC write protection register (RTC_WPR)
- 25.6.11 RTC sub second register (RTC_SSR)
- 25.6.12 RTC shift control register (RTC_SHIFTR)
- 25.6.13 RTC time stamp time register (RTC_TSTR)
- 25.6.14 RTC time stamp date register (RTC_TSDR)
- 25.6.15 RTC timestamp sub second register (RTC_TSSSR)
- 25.6.16 RTC calibration register (RTC_CALR)
- 25.6.17 RTC tamper and alternate function configuration register (RTC_TAFCR)
- 25.6.18 RTC alarm A sub second register (RTC_ALRMASSR)
- 25.6.19 RTC alarm B sub second register (RTC_ALRMBSSR)
- 25.6.20 RTC backup registers (RTC_BKPxR)
- 25.6.21 RTC register map
- 26 Fast-mode Plus Inter-integrated circuit (FMPI2C) interface
- 26.1 Introduction
- 26.2 FMPI2C main features
- 26.3 FMPI2C implementation
- 26.4 FMPI2C functional description
- 26.4.1 FMPI2C block diagram
- 26.4.2 FMPI2C clock requirements
- 26.4.3 Mode selection
- 26.4.4 FMPI2C initialization
- 26.4.5 Software reset
- 26.4.6 Data transfer
- 26.4.7 FMPI2C slave mode
- Figure 261. Slave initialization flowchart
- Figure 262. Transfer sequence flowchart for FMPI2C slave transmitter, NOSTRETCH=0
- Figure 263. Transfer sequence flowchart for FMPI2C slave transmitter, NOSTRETCH=1
- Figure 264. Transfer bus diagrams for FMPI2C slave transmitter
- Figure 265. Transfer sequence flowchart for slave receiver with NOSTRETCH=0
- Figure 266. Transfer sequence flowchart for slave receiver with NOSTRETCH=1
- Figure 267. Transfer bus diagrams for FMPI2C slave receiver
- 26.4.8 FMPI2C master mode
- Figure 268. Master clock generation
- Table 142. I2C-SMBUS specification clock timings
- Figure 269. Master initialization flowchart
- Figure 270. 10-bit address read access with HEAD10R=0
- Figure 271. 10-bit address read access with HEAD10R=1
- Figure 272. Transfer sequence flowchart for FMPI2C master transmitter for N≤255 bytes
- Figure 273. Transfer sequence flowchart for FMPI2C master transmitter for N>255 bytes
- Figure 274. Transfer bus diagrams for FMPI2C master transmitter
- Figure 275. Transfer sequence flowchart for FMPI2C master receiver for N≤255 bytes
- Figure 276. Transfer sequence flowchart for FMPI2C master receiver for N >255 bytes
- Figure 277. Transfer bus diagrams for FMPI2C master receiver
- 26.4.9 FMPI2C_TIMINGR register configuration examples
- 26.4.10 SMBus specific features
- 26.4.11 SMBus initialization
- 26.4.12 SMBus: FMPI2C_TIMEOUTR register configuration examples
- 26.4.13 SMBus slave mode
- Figure 279. Transfer sequence flowchart for SMBus slave transmitter N bytes + PEC
- Figure 280. Transfer bus diagrams for SMBus slave transmitter (SBC=1)
- Figure 281. Transfer sequence flowchart for SMBus slave receiver N Bytes + PEC
- Figure 282. Bus transfer diagrams for SMBus slave receiver (SBC=1)
- Figure 283. Bus transfer diagrams for SMBus master transmitter
- Figure 284. Bus transfer diagrams for SMBus master receiver
- 26.4.14 Error conditions
- 26.4.15 DMA requests
- 26.4.16 Debug mode
- 26.5 FMPI2C low-power modes
- 26.6 FMPI2C interrupts
- 26.7 FMPI2C registers
- 26.7.1 Control register 1 (FMPI2C_CR1)
- 26.7.2 Control register 2 (FMPI2C_CR2)
- 26.7.3 Own address 1 register (FMPI2C_OAR1)
- 26.7.4 Own address 2 register (FMPI2C_OAR2)
- 26.7.5 Timing register (FMPI2C_TIMINGR)
- 26.7.6 Timeout register (FMPI2C_TIMEOUTR)
- 26.7.7 Interrupt and status register (FMPI2C_ISR)
- 26.7.8 Interrupt clear register (FMPI2C_ICR)
- 26.7.9 PEC register (FMPI2C_PECR)
- 26.7.10 Receive data register (FMPI2C_RXDR)
- 26.7.11 Transmit data register (FMPI2C_TXDR)
- 26.7.12 FMPI2C register map
- 27 Inter-integrated circuit (I2C) interface
- 27.1 I2C introduction
- 27.2 I2C main features
- 27.3 I2C functional description
- 27.4 I2C interrupts
- 27.5 I2C debug mode
- 27.6 I2C registers
- 27.6.1 I2C Control register 1 (I2C_CR1)
- 27.6.2 I2C Control register 2 (I2C_CR2)
- 27.6.3 I2C Own address register 1 (I2C_OAR1)
- 27.6.4 I2C Own address register 2 (I2C_OAR2)
- 27.6.5 I2C Data register (I2C_DR)
- 27.6.6 I2C Status register 1 (I2C_SR1)
- 27.6.7 I2C Status register 2 (I2C_SR2)
- 27.6.8 I2C Clock control register (I2C_CCR)
- 27.6.9 I2C TRISE register (I2C_TRISE)
- 27.6.10 I2C FLTR register (I2C_FLTR)
- 27.6.11 I2C register map
- 28 Universal synchronous receiver transmitter (USART) /universal asynchronous receiver transmitter (UART)
- 28.1 USART introduction
- 28.2 USART main features
- 28.3 USART implementation
- 28.4 USART functional description
- Figure 292. USART block diagram
- 28.4.1 USART character description
- 28.4.2 Transmitter
- 28.4.3 Receiver
- 28.4.4 Fractional baud rate generation
- Table 159. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 12 MHz, oversampling by 16
- Table 160. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 12 MHz, oversampling by 8
- Table 161. Error calculation for programmed baud rates at fPCLK = 16 MHz or fPCLK = 24 MHz, oversampling by 16
- Table 162. Error calculation for programmed baud rates at fPCLK = 16 MHz or fPCLK = 24 MHz, oversampling by 8
- Table 163. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 16 MHz, oversampling by 16
- Table 164. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 16 MHz, oversampling by 8
- Table 165. Error calculation for programmed baud rates at fPCLK = 30 MHz or fPCLK = 60 MHz, oversampling by 16
- Table 166. Error calculation for programmed baud rates at fPCLK = 30 MHz or fPCLK = 60 MHz, oversampling by 8
- Table 167. Error calculation for programmed baud rates at fPCLK = 42 MHz or fPCLK = 84 Hz, oversampling by 16
- Table 168. Error calculation for programmed baud rates at fPCLK = 42 MHz or fPCLK = 84 MHz, oversampling by 8
- 28.4.5 USART receiver tolerance to clock deviation
- 28.4.6 Multiprocessor communication
- 28.4.7 Parity control
- 28.4.8 LIN (local interconnection network) mode
- 28.4.9 USART synchronous mode
- 28.4.10 Single-wire half-duplex communication
- 28.4.11 Smartcard
- 28.4.12 IrDA SIR ENDEC block
- 28.4.13 Continuous communication using DMA
- 28.4.14 Hardware flow control
- 28.5 USART interrupts
- 28.6 USART registers
- 29 Serial peripheral interface/ inter-IC sound (SPI/I2S)
- 29.1 Introduction
- 29.2 SPI/I2S implementation
- 29.3 SPI functional description
- 29.3.1 General description
- 29.3.2 Communications between one master and one slave
- 29.3.3 Standard multi-slave communication
- 29.3.4 Multi-master communication
- 29.3.5 Slave select (NSS) pin management
- 29.3.6 Communication formats
- 29.3.7 SPI configuration
- 29.3.8 Procedure for enabling SPI
- 29.3.9 Data transmission and reception procedures
- 29.3.10 Procedure for disabling the SPI
- 29.3.11 Communication using DMA (direct memory addressing)
- 29.3.12 SPI status flags
- 29.3.13 SPI error flags
- 29.4 SPI special features
- 29.5 SPI interrupts
- 29.6 I2S functional description
- 29.6.1 I2S general description
- 29.6.2 I2S full-duplex
- 29.6.3 Supported audio protocols
- Figure 332. I2S Philips protocol waveforms (16/32-bit full accuracy, CPOL = 0)
- Figure 333. I2S Philips standard waveforms (24-bit frame with CPOL = 0)
- Figure 334. Transmitting 0x8EAA33
- Figure 335. Receiving 0x8EAA33
- Figure 336. I2S Philips standard (16-bit extended to 32-bit packet frame with CPOL = 0)
- Figure 337. Example of 16-bit data frame extended to 32-bit channel frame
- Figure 338. MSB Justified 16-bit or 32-bit full-accuracy length with CPOL = 0
- Figure 339. MSB justified 24-bit frame length with CPOL = 0
- Figure 340. MSB justified 16-bit extended to 32-bit packet frame with CPOL = 0
- Figure 341. LSB justified 16-bit or 32-bit full-accuracy with CPOL = 0
- Figure 342. LSB justified 24-bit frame length with CPOL = 0
- Figure 343. Operations required to transmit 0x3478AE
- Figure 344. Operations required to receive 0x3478AE
- Figure 345. LSB justified 16-bit extended to 32-bit packet frame with CPOL = 0
- Figure 346. Example of 16-bit data frame extended to 32-bit channel frame
- Figure 347. PCM standard waveforms (16-bit)
- Figure 348. PCM standard waveforms (16-bit extended to 32-bit packet frame)
- 29.6.4 Clock generator
- 29.6.5 I2S master mode
- 29.6.6 I2S slave mode
- 29.6.7 I2S status flags
- 29.6.8 I2S error flags
- 29.6.9 I2S interrupts
- 29.6.10 DMA features
- 29.7 SPI and I2S registers
- 29.7.1 SPI control register 1 (SPI_CR1) (not used in I2S mode)
- 29.7.2 SPI control register 2 (SPI_CR2)
- 29.7.3 SPI status register (SPI_SR)
- 29.7.4 SPI data register (SPI_DR)
- 29.7.5 SPI CRC polynomial register (SPI_CRCPR) (not used in I2S mode)
- 29.7.6 SPI RX CRC register (SPI_RXCRCR) (not used in I2S mode)
- 29.7.7 SPI TX CRC register (SPI_TXCRCR) (not used in I2S mode)
- 29.7.8 SPI_I2S configuration register (SPI_I2SCFGR)
- 29.7.9 SPI_I2S prescaler register (SPI_I2SPR)
- 29.7.10 SPI register map
- 30 Serial audio interface (SAI)
- 30.1 Introduction
- 30.2 Main features
- 30.3 Functional block diagram
- 30.4 Main SAI modes
- 30.5 SAI synchronization mode
- 30.6 Audio data size
- 30.7 Frame synchronization
- 30.8 Slot configuration
- 30.9 SAI clock generator
- 30.10 Internal FIFOs
- 30.11 AC’97 link controller
- 30.12 Specific features
- 30.13 Error flags
- 30.14 Interrupt sources
- 30.15 Disabling the SAI
- 30.16 SAI DMA interface
- 30.17 SAI registers
- 30.17.1 SAI xConfiguration register 1 (SAI_xCR1) where x is A or B
- 30.17.2 SAI xConfiguration register 2 (SAI_xCR2) where x is A or B
- 30.17.3 SAI xFrame configuration register (SAI_XFRCR) where x is A or B
- 30.17.4 SAI xSlot register (SAI_xSLOTR) where x is A or B
- 30.17.5 SAI xInterrupt mask register2(SAI_xIM) where x is A or B
- 30.17.6 SAI xStatus register (SAI_xSR) where x is A or B
- 30.17.7 SAI xClear flag register (SAI_xCLRFR) where X is A or B
- 30.17.8 SAI xData register (SAI_xDR) where x is A or B
- 30.17.9 SAI register map
- 31 Secure digital input/output interface (SDIO)
- 31.1 SDIO main features
- 31.2 SDIO bus topology
- 31.3 SDIO functional description
- Figure 369. SDIO block diagram
- Table 182. SDIO I/O definitions
- 31.3.1 SDIO adapter
- Figure 370. SDIO adapter
- Figure 371. Control unit
- Figure 372. SDIO_CK clock dephasing (BYPASS = 0)
- Figure 373. SDIO adapter command path
- Figure 374. Command path state machine (SDIO)
- Figure 375. SDIO command transfer
- Table 183. Command format
- Table 184. Short response format
- Table 185. Long response format
- Table 186. Command path status flags
- Figure 376. Data path
- Figure 377. Data path state machine (DPSM)
- Table 187. Data token format
- Table 188. DPSM flags
- Table 189. Transmit FIFO status flags
- Table 190. Receive FIFO status flags
- 31.3.2 SDIO APB2 interface
- 31.4 Card functional description
- 31.4.1 Card identification mode
- 31.4.2 Card reset
- 31.4.3 Operating voltage range validation
- 31.4.4 Card identification process
- 31.4.5 Block write
- 31.4.6 Block read
- 31.4.7 Stream access, stream write and stream read (MultiMediaCard only)
- 31.4.8 Erase: group erase and sector erase
- 31.4.9 Wide bus selection or deselection
- 31.4.10 Protection management
- 31.4.11 Card status register
- 31.4.12 SD status register
- 31.4.13 SD I/O mode
- 31.4.14 Commands and responses
- 31.5 Response formats
- 31.6 SDIO I/O card-specific operations
- 31.7 HW flow control
- 31.8 SDIO registers
- 31.8.1 SDIO power control register (SDIO_POWER)
- 31.8.2 SDIO clock control register (SDIO_CLKCR)
- 31.8.3 SDIO argument register (SDIO_ARG)
- 31.8.4 SDIO command register (SDIO_CMD)
- 31.8.5 SDIO command response register (SDIO_RESPCMD)
- 31.8.6 SDIO response 1..4 register (SDIO_RESPx)
- 31.8.7 SDIO data timer register (SDIO_DTIMER)
- 31.8.8 SDIO data length register (SDIO_DLEN)
- 31.8.9 SDIO data control register (SDIO_DCTRL)
- 31.8.10 SDIO data counter register (SDIO_DCOUNT)
- 31.8.11 SDIO status register (SDIO_STA)
- 31.8.12 SDIO interrupt clear register (SDIO_ICR)
- 31.8.13 SDIO mask register (SDIO_MASK)
- 31.8.14 SDIO FIFO counter register (SDIO_FIFOCNT)
- 31.8.15 SDIO data FIFO register (SDIO_FIFO)
- 31.8.16 SDIO register map
- 32 Controller area network (bxCAN)
- 32.1 Introduction
- 32.2 bxCAN main features
- 32.3 bxCAN general description
- 32.4 bxCAN operating modes
- 32.5 Test mode
- 32.6 Behavior in debug mode
- 32.7 bxCAN functional description
- 32.8 bxCAN interrupts
- 32.9 CAN registers
- 33 USB on-the-go full-speed (OTG_FS)
- 33.1 Introduction
- 33.2 OTG main features
- 33.3 OTG implementation
- 33.4 OTG functional description
- 33.5 OTG dual role device (DRD)
- 33.6 USB peripheral
- 33.7 USB host
- 33.8 SOF trigger
- 33.9 OTG low-power modes
- 33.10 Dynamic update of the OTG_HFIR register
- 33.11 USB data FIFOs
- 33.12 OTG_FS system performance
- 33.13 OTG_FS interrupts
- 33.14 OTG_FS control and status registers
- 33.15 OTG_FS registers
- 33.15.1 OTG control and status register (OTG_GOTGCTL)
- 33.15.2 OTG interrupt register (OTG_GOTGINT)
- 33.15.3 OTG AHB configuration register (OTG_GAHBCFG)
- 33.15.4 OTG USB configuration register (OTG_GUSBCFG)
- 33.15.5 OTG reset register (OTG_GRSTCTL)
- 33.15.6 OTG core interrupt register (OTG_GINTSTS)
- 33.15.7 OTG interrupt mask register (OTG_GINTMSK)
- 33.15.8 OTG receive status debug read/OTG status read and pop registers (OTG_GRXSTSR/OTG_GRXSTSP)
- 33.15.9 OTG receive FIFO size register (OTG_GRXFSIZ)
- 33.15.10 OTG host non-periodic transmit FIFO size register (OTG_HNPTXFSIZ)/Endpoint 0 Transmit FIFO size (OTG_DIEPTXF0)
- 33.15.11 OTG non-periodic transmit FIFO/queue status register (OTG_HNPTXSTS)
- 33.15.12 OTG general core configuration register (OTG_GCCFG)
- 33.15.13 OTG core ID register (OTG_CID)
- 33.15.14 OTG core LPM configuration register (OTG_GLPMCFG)
- 33.15.15 OTG host periodic transmit FIFO size register (OTG_HPTXFSIZ)
- 33.15.16 OTG device IN endpoint transmit FIFO size register (OTG_DIEPTXFx) (x = 1..5, where x is the FIFO number)
- 33.15.17 Host-mode registers
- 33.15.18 OTG host configuration register (OTG_HCFG)
- 33.15.19 OTG host frame interval register (OTG_HFIR)
- 33.15.20 OTG host frame number/frame time remaining register (OTG_HFNUM)
- 33.15.21 OTG_Host periodic transmit FIFO/queue status register (OTG_HPTXSTS)
- 33.15.22 OTG host all channels interrupt register (OTG_HAINT)
- 33.15.23 OTG host all channels interrupt mask register (OTG_HAINTMSK)
- 33.15.24 OTG host port control and status register (OTG_HPRT)
- 33.15.25 OTG host channel x characteristics register (OTG_HCCHARx) (x = 0..11, where x = Channel number)
- 33.15.26 OTG host channel x interrupt register (OTG_HCINTx) (x = 0..11, where x = Channel number)
- 33.15.27 OTG host channel x interrupt mask register (OTG_HCINTMSKx) (x = 0..11, where x = Channel number)
- 33.15.28 OTG host channel x transfer size register (OTG_HCTSIZx) (x = 0..11, where x = Channel number)
- 33.15.29 Device-mode registers
- 33.15.30 OTG device configuration register (OTG_DCFG)
- 33.15.31 OTG device control register (OTG_DCTL)
- 33.15.32 OTG device status register (OTG_DSTS)
- 33.15.33 OTG device IN endpoint common interrupt mask register (OTG_DIEPMSK)
- 33.15.34 OTG device OUT endpoint common interrupt mask register (OTG_DOEPMSK)
- 33.15.35 OTG device all endpoints interrupt register (OTG_DAINT)
- 33.15.36 OTG all endpoints interrupt mask register (OTG_DAINTMSK)
- 33.15.37 OTG device VBUS discharge time register (OTG_DVBUSDIS)
- 33.15.38 OTG device VBUS pulsing time register (OTG_DVBUSPULSE)
- 33.15.39 OTG device IN endpoint FIFO empty interrupt mask register (OTG_DIEPEMPMSK)
- 33.15.40 OTG device control IN endpoint 0 control register (OTG_DIEPCTL0)
- 33.15.41 OTG device IN endpoint x control register (OTG_DIEPCTLx) (x = 1..5 , where x = endpoint number)
- 33.15.42 OTG device IN endpoint x interrupt register (OTG_DIEPINTx) (x = 0..5, where x = Endpoint number)
- 33.15.43 OTG device IN endpoint 0 transfer size register (OTG_DIEPTSIZ0)
- 33.15.44 OTG device IN endpoint transmit FIFO status register (OTG_DTXFSTSx) (x = 0..5, where x = endpoint number)
- 33.15.45 OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx) (x = 1..5, where x = endpoint number)
- 33.15.46 OTG device control OUT endpoint 0 control register (OTG_DOEPCTL0)
- 33.15.47 OTG device OUT endpoint x interrupt register (OTG_DOEPINTx) (x = 0..5, where x = Endpoint number)
- 33.15.48 OTG device OUT endpoint 0 transfer size register (OTG_DOEPTSIZ0)
- 33.15.49 OTG device OUT endpoint x control register (OTG_DOEPCTLx) (x = 1..5, where x = endpoint number)
- 33.15.50 OTG device OUT endpoint x transfer size register (OTG_DOEPTSIZx) (x = 1..5, where x = Endpoint number)
- 33.15.51 OTG power and clock gating control register (OTG_PCGCCTL)
- 33.15.52 OTG_FS register map
- 33.16 OTG_FS programming model
- 34 Debug support (DBG)
- 34.1 Overview
- 34.2 Reference Arm® documentation
- 34.3 SWJ debug port (serial wire and JTAG)
- 34.4 Pinout and debug port pins
- 34.5 JTAG TAP connection
- 34.6 ID codes and locking mechanism
- 34.7 JTAG debug port
- 34.8 SW debug port
- 34.9 AHB-AP (AHB access port) - valid for both JTAG-DP and SW-DP
- 34.10 Core debug
- 34.11 Capability of the debugger host to connect under system reset
- 34.12 FPB (Flash patch breakpoint)
- 34.13 DWT (data watchpoint trigger)
- 34.14 ITM (instrumentation trace macrocell)
- 34.15 ETM (Embedded trace macrocell)
- 34.16 MCU debug component (DBGMCU)
- 34.17 TPIU (trace port interface unit)
- 34.17.1 Introduction
- 34.17.2 TRACE pin assignment
- 34.17.3 TPUI formatter
- 34.17.4 TPUI frame synchronization packets
- 34.17.5 Transmission of the synchronization frame packet
- 34.17.6 Synchronous mode
- 34.17.7 Asynchronous mode
- 34.17.8 TRACECLKIN connection
- 34.17.9 TPIU registers
- 34.17.10 Example of configuration
- 34.18 DBG register map
- 35 Device electronic signature
- 36 Revision history