Figure 15.8. I C Master Transmitter/Slave Receiver with 10-bit Address
...the world's most energy friendly microcontrollers
When a slave receives a 10-bit address, it must acknowledge both the address bytes if they match the
address of the slave.
When performing a master transmitter operation, the master transmits the two address bytes and then
the remaining data, as shown in Figure 15.8 (p. 148) .
2
S
ADDR (1st 7 bits)
W A
Addr (2nd byte)
A
DATA
A
P
Figure 15.9. I C Master Receiver/Slave Transmitter with 10-bit Address
When performing a master receiver operation however, the master first transmits the two address bytes
in a master transmitter operation, then sends a repeated START followed by the first address byte and
then receives data from the addressed slave. The slave addressed by the 10-bit address in the first two
address bytes must remember that it was addressed, and respond with data if the address transmitted
after the repeated start matches its own address. An example of this, with one byte transmitted is shown
in Figure 15.9 (p. 148) .
2
S
ADDR (1st 7 bits)
W A
Addr (2nd byte)
A Sr
ADDR (1st 7 bits)
R
A
DATA
N
P
Arbitration is supported by the I C module for both masters and slaves. Clock synchronization and clock
The I C is enabled by setting the EN bit in the I2Cn_CTRL register. Whenever this bit is cleared, the
internal state of the I C is reset, terminating any ongoing transfers.
15.3.1.5 Arbitration, Clock Synchronization, Clock Stretching
Arbitration and clock synchronization are features aimed at allowing multi-master buses. Arbitration
occurs when two devices try to drive the bus at the same time. If one device drives it low, while the
other drives it high, the one attempting to drive it high will not be able to do so due to the open-drain
bus configuration. Both devices sample the bus, and the one that was unable to drive the bus in the
desired direction detects the collision and backs off, letting the other device continue communication
on the bus undisturbed.
Clock synchronization is a means of synchronizing the clock outputs from several masters driving the
bus at once, and is a requirement for effective arbitration.
Slaves on the bus are allowed to force the clock output on the bus low in order to pause the
communication on the bus and give themselves time to process data or perform any real-time tasks they
might have. This is called clock stretching.
2
stretching is also supported.
15.3.2 Enable and Reset
2
2
When Re-enabling the I C, the ABORT command or the Bus Idle Timeout feature must be
Note
2
The I C slave is partially asynchronous, and some precautions may be necessary to always ensure a
applied prior to use even if the BUSY flag is not set.
15.3.3 Safely disabling and changing slave configuration
2
safe slave disable or configuration change. If the user cannot guarantee that an address match will not
occur at the exact time of slave disable or slave configuration change while the slave is enabled, these
measures should be made.
Worst case consequences for an address match while disabling slave or changing configuration is that
the slave may end up in an undefined state. To reset the slave back to a known state, the EN bit in
2011-04-12 - d0001_Rev1.10
148
www.energymicro.com
相关PDF资料
EFM32GG-STK3700 KIT STARTER GIANT GECKO
EFM32LG-DK3650 KIT DEV EFM32 LEOPARD GECKO
EK-K7-KC705-CES-G-J KINTEX-7 FPGA KC705 EVAL KIT
EK-S6-SP601-G KIT EVAL SPARTAN 6 SP601
EK-S6-SP605-G KIT EVAL SPARTAN 6 SP605
EK-V6-ML631-G-J VIRTEX-6 HXT FPGA ML631 EVAL KIT
EK-V7-VC707-CES-G VIRTEX-7 VC707 EVAL KIT
EK-Z7-ZC702-CES-G ZYNQ-7000 EPP ZC702 EVAL KIT
相关代理商/技术参数
EFM32GG230F1024 功能描述:ARM微控制器 - MCU 1024KB FL 128KB RAM RoHS:否 制造商:STMicroelectronics 核心:ARM Cortex M4F 处理器系列:STM32F373xx 数据总线宽度:32 bit 最大时钟频率:72 MHz 程序存储器大小:256 KB 数据 RAM 大小:32 KB 片上 ADC:Yes 工作电源电压:1.65 V to 3.6 V, 2 V to 3.6 V, 2.2 V to 3.6 V 工作温度范围:- 40 C to + 85 C 封装 / 箱体:LQFP-48 安装风格:SMD/SMT
EFM32GG230F1024G-E-QFN64R 功能描述:IC MCU 32BIT 1MB FLASH 64QFN 制造商:silicon labs 系列:Giant Gecko 包装:剪切带(CT) 零件状态:在售 核心处理器:ARM? Cortex?-M3 核心尺寸:32-位 速度:48MHz 连接性:I2C,IrDA,智能卡,SPI,UART/USART 外设:欠压检测/复位,DMA,POR,PWM,WDT I/O 数:56 程序存储容量:1MB(1M x 8) 程序存储器类型:闪存 EEPROM 容量:- RAM 容量:128K x 8 电压 - 电源(Vcc/Vdd):1.98 V ~ 3.8 V 数据转换器:A/D 8x12b,D/A 2x12b 振荡器类型:内部 工作温度:-40°C ~ 85°C(TA) 封装/外壳:64-VFQFN 裸露焊盘 供应商器件封装:64-QFN(9x9) 标准包装:1
EFM32GG230F1024-QFN64 制造商:Energy Micro AS 功能描述:GIANT GECKO MCU - Cut TR (SOS) 制造商:Energy Micro 功能描述:GIANT GECKO MCU 制造商:Energy Micro AS 功能描述:IC MCU 32BIT 1MB FLASH 64QFN
EFM32GG230F1024-QFN64T 制造商:Energy Micro AS 功能描述:GIANT GECKO MCU - Trays
EFM32GG230F1024-QFN64-T 制造商:Energy Micro AS 功能描述:IC MCU 32BIT 1MB FLASH 64QFN
EFM32-GG230F1024-SK 制造商:Energy Micro AS 功能描述:GIANT GECKO SAMPLE KIT - Bulk
EFM32GG230F1024-T 制造商:Energy Micro AS 功能描述:IC MCU 32BIT 1MB FLASH 64QFN
EFM32GG230F512 功能描述:ARM微控制器 - MCU 512KB FL 128KB RAM RoHS:否 制造商:STMicroelectronics 核心:ARM Cortex M4F 处理器系列:STM32F373xx 数据总线宽度:32 bit 最大时钟频率:72 MHz 程序存储器大小:256 KB 数据 RAM 大小:32 KB 片上 ADC:Yes 工作电源电压:1.65 V to 3.6 V, 2 V to 3.6 V, 2.2 V to 3.6 V 工作温度范围:- 40 C to + 85 C 封装 / 箱体:LQFP-48 安装风格:SMD/SMT