Many slave-only devices operating on an I C-bus are not capable of driving SCL low, but in the rare
can be used to get the I C module out of the busy-state it enters when reset, see Section 15.3.7.3 (p.
The I C module has full DMA support. The DMA controller can write to the transmit buffer using the
for the DMA controller to read from the I C receive buffer can come from the following source:
...the world's most energy friendly microcontrollers
2
case that SCL is stuck LOW, the advice is to apply a hardware reset signal to the slaves on the bus. If
this does not work, cycle the power to the devices in order to make them release SCL.
When SDA is stuck low and SCL is free, a master should send 9 clock pulses on SCL while tristating
the SDA. This procedure is performed in the GPIO module after clearing the I2C_ROUTE register and
disabling the I2C module. The device that held the bus low should release it sometime within those 9
clocks. If not, use the same approach as for when SCL is stuck, resetting and possibly cycling power
to the slaves.
Lockup of SDA can be detected by keeping count of the number of continuous arbitration losses during
address transmission. If arbitration is also lost during the transmission of a general call address, i.e.
during the transmission of the STOP condition, which should never happen during normal operation,
this is a good indication of SDA lockup.
Detection of SCL lockups can be done using the timeout functionality defined in Section 15.3.12.6 (p.
15.3.12.5 Bus Idle Timeout
When SCL has been high for a significant amount of time, this is a good indication of that the bus is
idle. On an SMBus system, the bus is only allowed to be in this state for a maximum of 50 μs before
the bus is considered idle.
The bus idle timeout BITO in I2Cn_CTRL can be used to detect situations where the bus goes idle in the
middle of a transmission. The timeout can be configured in BITO, and when the bus has been idle for the
given amount of time, the BITO interrupt flag in I2Cn_IF is set. The bus can also be set idle automatically
on a bus idle timeout. This is enabled by setting GIBITO in I2Cn_CTRL.
When the bus idle timer times out, it wraps around and continues counting as long as its condition is
true. If the bus is not set idle using GIBITO or the ABORT command in I2Cn_CMD, this will result in
periodic timeouts.
Note
This timeout will be generated even if SDA is held low.
The bus idle timeout is active as long as the bus is busy, i.e. BUSY in I2Cn_STATUS is set. The timeout
2
15.3.12.6 Clock Low Timeout
The clock timeout, which can be configured in CLTO in I2Cn_CTRL, starts counting whenever SCL goes
low, and times out if SCL does not go high within the configured timeout. A clock low timeout results in
CLTOIF in I2Cn_IF being set, allowing software to take action.
When the timer times out, it wraps around and continues counting as long as SCL is low. An SCL lockup
will thus result in periodic clock low timeouts as long as SCL is low.
15.3.13 DMA Support
2
I2Cn_TXDATA register, and it can read from the receive buffer using the RXDATA register. A request
2
? Data available in the receive buffer
A write request can come from one of the following sources:
2011-04-12 - d0001_Rev1.10
163
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