2005 Microchip Technology Inc.
Preliminary
DS41265A-page 181
PIC16F946
14.13 Master Mode
Master mode of operation is supported in firmware
using interrupt generation on the detection of the Start
and Stop conditions. The Stop (P) and Start (S) bits are
cleared from a Reset or when the SSP module is dis-
abled. The Stop (P) and Start (S) bits will toggle based
on the Start and Stop conditions. Control of the I2C bus
may be taken when the P bit is set or the bus is idle and
both the S and P bits are clear.
In Master mode, the SCL and SDA lines are manipu-
lated by clearing the corresponding TRISC<6:7> bit(s).
The output level is always low, irrespective of the
value(s) in PORTC<6:7>. So when transmitting data, a
‘1’ data bit must have the TRISC<7> bit set (input) and
a ‘0’ data bit must have the TRISC<7> bit cleared (out-
put). The same scenario is true for the SCL line with the
TRISC<6> bit. Pull-up resistors must be provided
externally to the SCL and SDA pins for proper opera-
tion of the I2C module.
The following events will cause the SSP Interrupt Flag
bit, SSPIF, to be set (SSP Interrupt will occur if
enabled):
Start condition
Stop condition
Data transfer byte transmitted/received
Master mode of operation can be done with either the
Slave mode idle (SSPM<3:0> = 1011), or with the
Slave active. When both Master and Slave modes are
enabled, the software needs to differentiate the
source(s) of the interrupt.
14.14 Multi-Master Mode
In Multi-Master mode, the interrupt generation on the
detection of the Start and Stop conditions, allows the
determination of when the bus is free. The Stop (P)
and Start (S) bits are cleared from a Reset or when the
SSP module is disabled. The Stop (P) and Start (S)
bits will toggle based on the Start and Stop conditions.
Control of the I2C bus may be taken when bit P
(SSPSTAT<4>) is set, or the bus is idle and both the S
and P bits clear. When the bus is busy, enabling the
SSP Interrupt will generate the interrupt when the Stop
condition occurs.
In Multi-Master operation, the SDA line must be moni-
tored to see if the signal level is the expected output
level. This check only needs to be done when a high
level is output. If a high level is expected and a low
level is present, the device needs to release the SDA
and SCL lines (set TRISC<6:7>). There are two
stages where this arbitration can be lost, these are:
Address Transfer
Data Transfer
When the slave logic is enabled, the slave continues
to receive. If arbitration was lost during the address
transfer stage, communication to the device may be in
progress. If addressed, an ACK pulse will be gener-
ated. If arbitration was lost during the data transfer
stage, the device will need to re-transfer the data at a
later time.
14.14.1
CLOCK SYNCHRONIZATION AND
THE CKP BIT
When the CKP bit is cleared, the SCL output is forced
to ‘0’; however, setting the CKP bit will not assert the
SCL output low until the SCL output is already sampled
low. Therefore, the CKP bit will not assert the SCL line
until an external I2C master device has already
asserted the SCL line. The SCL output will remain low
until the CKP bit is set and all other devices on the I2C
bus have deasserted SCL. This ensures that a write to
the CKP bit will not violate the minimum high time
requirement for SCL (see Figure 14-12).
相关PDF资料
AT91SAM7XC256-CU MCU ARM 256K HS FLASH 100-TFBGA
PIC16LF874A-I/P IC MCU FLASH 4KX14 EE A/D 40DIP
PIC16F84-10/SO IC MCU FLASH 1KX14 EE 18SOIC
AT91SAM7XC128-CU MCU ARM 128K HS FLASH 100-TFBGA
PIC18F2458-I/SO IC PIC MCU FLASH 12KX16 28SOIC
PIC18F4455-I/P IC PIC MCU FLASH 12KX16 40DIP
AT91SAM7X256-CU MCU ARM 256K HS FLASH 100-TFBGA
PIC16C73B-20/SS IC MCU OTP 4KX14 A/D PWM 28SSOP
相关代理商/技术参数
ATMEGA169P-16MU 功能描述:8位微控制器 -MCU AVR 16K FLASH 512B EE 1K SRAM LCD ADC RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
ATMEGA169P-16MU SL383 制造商:Atmel Corporation 功能描述:MCU 8BIT ATMEGA RISC 16KB FLASH 3.3V/5V 64PIN MLF - Tape and Reel
ATMEGA169P-16MUR 功能描述:8位微控制器 -MCU AVR LCD 16KB FLSH EE 512B 1KB SRAM-16MHZ RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
ATMEGA169P-8AU 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:Microcontroller with 16K Bytes In-System Programmable Flash
ATMEGA169P-8MU 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:Microcontroller with 16K Bytes In-System Programmable Flash
ATMEGA169PA 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:8-bit Microcontroller with 16K Bytes In-System Programmable Flash
ATMEGA169PA_1 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:High Endurance Non-volatile Memory segments
ATMEGA169PA-AN 功能描述:8位微控制器 -MCU AVR XMEGA 384KB 105C 4KB EE32K SRAM-16MHz RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT