RM0390 Rev 4 21/1328
RM0390 Contents
35
23.4.9 FMPI2C_TIMINGR register configuration examples . . . . . . . . . . . . . . 724
23.4.10 SMBus specific features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
23.4.11 SMBus initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
23.4.12 SMBus: FMPI2C_TIMEOUTR register configuration examples . . . . . 730
23.4.13 SMBus slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
23.4.14 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
23.4.15 DMA requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
23.4.16 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
23.5 FMPI2C low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
23.6 FMPI2C interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
23.7 FMPI2C registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
23.7.1 Control register 1 (FMPI2C_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
23.7.2 Control register 2 (FMPI2C_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
23.7.3 Own address 1 register (FMPI2C_OAR1) . . . . . . . . . . . . . . . . . . . . . . 748
23.7.4 Own address 2 register (FMPI2C_OAR2) . . . . . . . . . . . . . . . . . . . . . . 749
23.7.5 Timing register (FMPI2C_TIMINGR) . . . . . . . . . . . . . . . . . . . . . . . . . . 750
23.7.6 Timeout register (FMPI2C_TIMEOUTR) . . . . . . . . . . . . . . . . . . . . . . . 751
23.7.7 Interrupt and status register (FMPI2C_ISR) . . . . . . . . . . . . . . . . . . . . 752
23.7.8 Interrupt clear register (FMPI2C_ICR) . . . . . . . . . . . . . . . . . . . . . . . . . 754
23.7.9 PEC register (FMPI2C_PECR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
23.7.10 Receive data register (FMPI2C_RXDR) . . . . . . . . . . . . . . . . . . . . . . . 756
23.7.11 Transmit data register (FMPI2C_TXDR) . . . . . . . . . . . . . . . . . . . . . . . 756
23.7.12 FMPI2C register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
24 Inter-integrated circuit (I
2
C) interface . . . . . . . . . . . . . . . . . . . . . . . . . 759
24.1 I
2
C introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
24.2 I
2
C main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
24.3 I
2
C functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
24.3.1 Mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
24.3.2 I2C slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
24.3.3 I2C master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
24.3.4 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
24.3.5 Programmable noise filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
24.3.6 SDA/SCL line control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
24.3.7 SMBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
24.3.8 DMA requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776