IIC总线协议教程
- 格式:ppt
- 大小:346.50 KB
- 文档页数:26


I2C1I2C (3)2.1 (4)2.2 (5)3I2C (6)5 (7)6.1 (7)6.2 (8)7 (10)8.1 (10)8.2 (10)8.3 (11)97 (13)10.1 (13)10.1.1 (14)10.1.2 (15)10.1.3 CBUS (16)11 (17)13I/O (26)15.1 (26)15.2 Hs (28)16 (33)17.1 I2C (33)17.2 I2C (34)17.3 (34)17.4 I2C Rp R S (35)17.5 Hs I2C Rp R S (35)18Philips (37)204400kbit/s0~100kbit/s I 2C10241.22.0-1998I 2CHsI 2C2V0.6V 6mAHs13.222672LCDRAMDTMFICPhilips150CMOSI 2CICI 2CI 2CSCL8100kbit/s3.4Mbit/s1I 2CI 2CICICI 2CICIC1 I 2Ca bI 2CP C BI 2CIC SO I 2CICIC ROM3I/OIC4NMOS SDASCLLCD11 I2CI2CA BA BABAAI2C I2C1SCLS DAS C LMICRO -CONTROLLERASTATICRAM OREEPROMLCDDRIVERGATEARRAY ADCMICRO -CONTROLLERB2I2CI2C5I2C100kbit/s3.4Mbit/s13I2C156.1SDA4SCLKN1OUTSCLK INSCLKDATAN1OUT DATA IN DEVICE 1SDA (Serial Data Line)SCL (Serial Clock Line)SCLKN2OUT SCLK INSCLK DATAN2OUT DATA IN DEVICE 2V DDR pR ppull-up resistors3I 2Cdata line stable;data validchange of data allowedSDASCL4 I 2C6.2I 2C S P 5SDASCL15SrSSDA SCLPSTOP conditionSDASCLSSTART condition5公司机密7SCLCBUS10.1.3SDASDA76 I 2C机密7 I2C88C LK1CLK2SCLstart counting8SCL密1014Hs8139DATA1SDADATA 1DATA 2SDASCL9I2C8.3SCL97R/W1PSrA 13A123AAI2C57公司机密12131010.1.110.17LSB1R/W43I2C I2C82142R/W0000 000 00000 000 10000 001 X CBUS0000 010 X0000 011 X0000 1XX X Hs1111 1XX X1111 0XX X 1023I2CB1HSDA SCL0000010000000000117I2C1817S9821Sr7ACKdummy acknowledge (HIGH)start byte 00000001SDASCL18S00000001SDASDASrI 2C80000001XDLEN19CBUSCBUSS P STOP conditionCBUS load pulsen - data bitsCBUS addressSTART conditionR/WbitACK related clock pulseSDASCLDLEN19CBUS100kbit/s7400kbit/sHs10公司机密I 2C100kbit/sHs711210710I 2C710I 2CSDA SCLI 2C13SCL 0~100kbit/sI 2C400kbit/sSDASCLCBUSSDA SCLSDASCLI/OI 2CHsI 2CHsHs13.13.4Mbit/sHsSDAH SCLH1Hs1HsHs1:2Hs1HsF/SSDASCLHsSCLHSDAHHsSDAHSCLHSchmitt20Hs I2CHsI/O>100pFR p HsSCLHMCS(3)SCLH公司机密13.2 HsHsI 2CF/S200001XXXA F/SHs0000 1000AHsAHsSCLHSCLHSCLHSCLH7R/WAAASCLHF/SHs(8-bit DA A/A)= MCS current source pull-up= Rp resistor pull-up22Hs13.3F/S HsF/SI2CS 00001XXX AHsHs SDAH SCLHHsHs SDAH SCLHt H Hst H SCLH1212SDAH SDAHHst1Hs 公司机密13.4Hs23HsF/SF/SHsSDASCLSDA SCL(3)SCL2425HsVDD25VF/SVDD13VVDD1SDAHSDASCLTR1TR1TR2TR1TR2SDASCLVDD2HsSDAHSCLHSDASCLF/S8Hs3.4Mbit/s00001XXX400000XXXF/S公司机密VSSHs-modeSLAVESDAHSCLHVSSHs-modeMASTER/SLAVESDAH SCLHSDASCLRsRsHs-modeSLAVESDAH SCLHV SSR s R sF/S-modeMASTER/SLAVESDASDAHSCLHSDASCLSCLV SSV SSR s R sF/S-modeSLAVESDA SCLV SSR s R sR s R sR sR sV DDV SSHs-modeMASTER/SLAVEV DDV DD1R pR pV DD2R pR p SCLHSDAHMCSMCS(3)(3)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(4)(4)(4) (2)(1)(1)BRIDGETR1TR3TR2(1)(2)(4)24Hs F/S3Hs++Hs+Hs++Hs<->Hs 0~3.4Mbit/s 0~3.4Mbit/s 0~3.4Mbit/s -Hs<->0~100kbit/s 0~400kbit/s - -Hs<->0~100kbit/s - 0~100kbit/s - <->0~100kbit/s - - 0~100kbit/s<->0~100kbit/s 0~400kbit/s - 0~100kbit/s<->0~100kbit/s - 0~100kbit/s 0~100kbit/s13.5.1F/S24F/S I2C公司机密25Hs125TR1SDAHSDASCLHSCLTR2SrSCLHSrSCLAASCLHSCLHF/SSCL1祍FSP1SCLHSCLTR3tFSF/S公司机密SDASDAHSDA5t BUFtHSDAHSCLHSDASCL1010107101111XXX7710I2C1111XXX8411111XX I2CS Sr1001081107R/WA1XXXXXXXXA22R/WSr7R/WSr11110XXR/W R/W=111110XX公司机密R/W2930SSr30710114101010公司机密30714.310I2C10H10.1.11000000001H0171010.1.2I/O15.1F/S I2CI/O I2C31I2C100kbit/sI2C8SCLV DDV IL-0.5-0.51.50.3V DDn/a-0.5n/a0.3V DD(1)VV VDD>2VV DD<2VV hysn/an/an/an/a0.05V DD0.1V DD--VV 3mA0.1V DD ~0.9VDDmaxI i -10 10 -10(5)10(5)礎I/OC i-10-10pFI 2C23pF5SDASCLt ft ofR S365I/O SDA SCL5F/SI 2CSDASCL(1)SCL fSCL 0 100 0 400kHzCBUS(10.1.3)I2Ct HD;DAT5.00(2)-3.45(3)-0(2)-0.9(3)祍 祍t SU;DAT 250 - 100(4)-ns SDA SCL t r - 1000 20+0.1C b(5)300 ns SDASCLt f-300 20+0.1C b(5)300 nst SU;STO 4.0 - 0.6 - 祍t BUF 4.7 - 1.3 - 祍C b - 400 - 400 pF V nL 0.1V DD - 0.1V DD - V V nH0.2V DD-0.2V DD-V4SCLV IHmin3SCL4I 2CI 2C 250nsSCL SCLSDAtrmax +t SU;DAT =1000+250=1250nsCb =Hsn/a=31 I 2CF/S15.2 HsHsI 2CI/OHsF/SI 2CSHsR/WSCLHHs7SCLH200ns 100nsSCLH3.4Mbit/s100pF1.7Mbit/sSCLHSDA SCLH 3mA3mASDASDAHSCLSCLHRonH (2)50 - kSCLH(3)400pF SCLH t2C23HsVDDHs SDAH SCLHSCLHVnH0.2V DD- 0.2V DD- V6Cb100~400pF3SCLH1I2CI2C155V10%34510%35300RSSDASCLR p NMOSV DD1R p BiCMOSV DD2CMOSV DD3BIPOLARV DD4= 5 V 10 %DD2 - 4V are device dependent (e.g. 12 V)33I2CSDASCLR p R p CMOS CMOS CMOS CMOSV DD= e.g. 3 V34I2CSDASCLR p CMOSR p CMOS NMOSBIPOLAR5 V 10 %VDD1=V DD2VDD3V DD2,3are device dependent (e.g. 12 V) 35V DD I2CSDASCLR p R pDEVICEV DDI C2R s R sDEVICEV DDI C2R s R s3616.1I2C R p R SI2C33Rp370.1VDD RS RSmax RpRpRp40RpmaxRS040080016001081200642maximum value R()s15 V10 VR p(k )V = 2.5 VDD 5 V38 R S R p010*******20163001284bus capacitance (pF)maximum value R (k )p max. R @ VDD = 5 VSR = 0S39 R pI 2C200204812164080120160total high level input current(A)maximumvalue R p(k )5 V V = 15 V DD2.5 V10 V40R p17.1I 2CI 2C15Miller4tofC bR p5R 120kto input circuit5 pFC1I/ORpC bVDDVSSV pGND T1T2SDA or SCL bus line4217.2I 2CR p3mAV DD =5V10%R pmin =/0.003=1.7k Rp200pFt r300ns43/R p2t rI 2CR SR p2V DDV SSSDA _______________________ V DD _______________________ V SS _______________________ SCL _______________________公司机密VSSSDA _______________________V SS_______________________SCL_______________________SDASCL VDDSCL VSSVDD VSSSDASCL3840tr3944I2C Rp18I/OMOS-FET 1US 5,689,196公司机密I2CHsI2C3.3V5VSDATR1SCL TR2g sdMOS-FET1Rp 3.3VVGSR p5V3.3V 3.3VMOS-FET MOS-FET3.3V3MOS-FETVGS MOS-FET5V13.3V V DD15V V DD22V V DD110V V DD2V DD2VDD119LEDSRAMAD/DAOM4160/490CE201Microcore-411I 2COM1022PC I 2CIBMPCPF8681 I 2C12IC01: Semiconductors for Radio, Audio and CD/DVD Systems 9397 750 02453 IC02: Semiconductors for Television and Video Systems 9397 750 01989 IC03: Semiconductors for Wired Telecom Systems (parts a & b) 9397 750 00839, 9397 750 00811 IC12: I 2C Peripherals9397 750 01647 IC14: 8048-based 8-bit microcontrollers9398 652 40011 IC17: Semiconductors for wireless communications 9397 750 01002 IC18: Semiconductors for in-car electronics 9397 750 00418 IC19: ICs for data communications 9397 750 00138 IC20: 80C51-based 8-bit microcontrollers + Application notes and Development tools9397 750 00963IC22: Multimedia ICs9397 750 02183公司机密13///Can you make the distance... with I 2C-bus (information about the P82B715 I 2C-bus extender IC)9397 750 00008 I 2C-bus multi-master & single-master controller kits 9397 750 00953 Desktop video (CD-ROM)9397 750 00644 80C51 core instructions quick reference 9398 510 76011 80C51 microcontroller selection guide9397 750 01587 OM5027 I 2C-bus evaluation board for low-voltage, low-power ICs & software 9398 706 98011 P90CL301 I 2C driver routinesAN94078 User manual of Microsoft Pascal I 2C-bus driver (MICDRV4.OBJ) ETV/IR8833 C routines for the PCF8584 AN95068Using the PCF8584 with non-specified timings and other frequently asked questionsAN96040User's guide to I 2C-bus control programsETV8835 The I 2C-bus from theory to practice (book and disk)Author: D. Paret Publisher: Wiley ISBN:0-471-96268-6Bi-directional level shifter for I 2C-bus and other systemsAN97055OM5500 demo kit for the PCF2166 LCD driver and PCD3756A telecom microcontroller9397 750 00954 公司机密。
i2c协议详解
I2C(Inter-Integrated Circuit)协议是一种双向串行总线,也称作IIC、TWI(Two-Wire Interface)或SMBus(System Management Bus),由Philips公司于1982年开发,用来连接多个微处理器和其它通信芯片。
I2C协议有两根线,分别是SCL(时钟线)和SDA(数据线),使用双线的好处就是只要两根线就可以完成数据传输,而不需要增加额外的线路,能够大大减少系统所需要的线路,减少系统的复杂度和成本。
I2C协议需要一个主控制器来控制整个系统,主控制器通过SCL线来发送时钟,并通过SDA线来发送和接收数据,从控制器则只负责接收数据。
I2C协议有7个基本信号,START、STOP、ACK、NACK、READ、WRITE和REPEAT START,START在传输数据前发出,STOP则在传输结束后发出,ACK和NACK则用来表示接收方是否正确接收到数据,READ和WRITE则用来指示当前传输的数据是读数据还是写数据,REPEAT START则用来重新开始新一轮的传输。
I2C协议的最大优点是简单、易用,而且可以支持多个从控制器,不过它的缺点也是显而易见的,它的传输速度相对较慢,而且它的传输距离也有限,约在50cm左右。
I2C总线协议(AT24c02)程序主:STC89C54从:AT24C02电路图时序图下面是代码#include ;#define uchar unsigned char#define addr_x 0xae//写#define addr_d 0xaf//读sbit sda = P2^1;//数据管脚sbit scl = P2^0;//时钟管脚bit ack;void DelayUs2x(unsigned char t)//延时1{while(--t);}void DelayMs(unsigned char t)//延时2{ while(t--){ //大致延时1mS DelayUs2x(245); DelayUs2x(245);}}void delay() //延时大于4μs{;;}void i2_qs()//起始信号{sda = 1;//拉高数据scl = 1;//拉高时钟delay();//延时大于 4μssda =0;//拉低数据产生起始信号(下降沿)delay();//延时大于 4μsscl = 0;//拉低时钟delay();//延时大于4μs}void i2_tz()//停止信号{sda = 0;//拉低数据scl = 1;//拉高时钟delay();//延时大于 4μssda = 1;//拉高时钟产生结束信号(上升沿)delay();//延时大于4μs}void i2_ack(bit _ack)//入口产生 0 ack 1nak{sda = _ack;//ack或者nakscl = 1;//拉高时钟delay();//延时大于 4μsscl = 0;//拉低时钟delay();//延时大于 4μs}void i2_fs(uchar Data) //发送8位数据{uchar i;for(i=0;i<8;i++)//8位计数{Data <<= 1;//把最高位移送到进制标志位中(CY)sda = CY;//把进制位中的数据赋值给数据线scl = 1;//拉高时钟delay();//延时大于 4μsscl = 0;//拉低时钟//这里}//下面代码是接收ACK的代码delay();//延时大于4μssda = 1;//拉高数据准备接收ACKscl = 1;//拉高时钟产生稳定的有效的数据(相对的)if(sda==1)//确认接收的是ACK还是NAKack = 0;//ackelseack = 1;//nakscl = 0;//拉低时钟delay();//延时大于 4us}uchari2_js()//接收8位数据{uchar i,Data = 0;sda = 1;//使能内部上拉,准备读取数据for(i=0;i<8;i++)//8位计数器{Data <<= 1;//移出数据的最高位scl = 1;//拉高时钟delay();//延时大于 4usData |= sda;//接收数据scl = 0;//拉低时钟delay();//延时大于 4us}return Data;}void i2_sj_x(uchar addr,uchar Data)//往设备内写入数据(参数 1、寄存器地址 2、写入的数据){i2_qs();//起始信号i2_fs(addr_x);//设备地址+写信号i2_fs(addr);//寄存器内部地址i2_fs(Data);//写入设备的数据i2_tz();//停止信号}uchar i2_sj_d(uchar addr)//读取数据(参数寄存器地址){ucharData;i2_qs();//起始信号i2_fs(addr_x);//设备地址+写信号i2_fs(addr);//寄存器内部地址i2_qs();//起始信号i2_fs(addr_d);//设备地址+读信号Data =i2_js();//读取数据i2_ack(0);//ACK应答i2_tz();//停止信号return Data;//返回读取的数据}voidmain(void){uchar dat;i2_sj_x(3,0x0f); //数据写入24c02DelayMs(50);dat = i2_sj_d(3); //从24c02中读取数据P1 = dat;//使用8个LED显示读出的数据while(1){;}}以上代码只是简单的实现I2C总线的读写。
IIC通信协议协议名称:IIC通信协议一、引言IIC通信协议是一种用于短距离数字通信的串行总线通信协议。
本协议旨在规范IIC通信协议的使用方式,确保各设备之间的数据传输的可靠性和一致性。
二、定义1. IIC总线:指两根信号线,即串行数据线(SDA)和串行时钟线(SCL)。
2. 主设备:指发起IIC通信的设备,负责控制总线上的数据传输。
3. 从设备:指被主设备控制的设备,负责接收和发送数据。
三、通信流程1. 总线初始化主设备通过向SCL线发送时钟信号来初始化总线。
初始化过程中,主设备将SDA线拉高,然后发送起始信号,标志着通信的开始。
2. 寻址主设备发送一个包含从设备地址和读/写位的字节来寻址从设备。
从设备地址由7位二进制数表示,最高位为0表示写操作,为1表示读操作。
3. 数据传输主设备向从设备发送数据时,将数据位逐个发送到SDA线上,并通过SCL线的时钟信号同步传输。
从设备接收到数据后,发送应答信号,表示数据接收成功。
4. 停止信号主设备发送停止信号来结束通信。
停止信号由将SDA线从低电平拉到高电平,然后将SCL线拉高形成。
四、数据格式1. 起始信号:SDA线从高电平拉到低电平,SCL线保持高电平。
2. 数据位:在SCL线为低电平时,SDA线上的数据保持稳定,直到SCL线变为高电平。
3. 应答信号:在主设备发送完一个字节的数据后,从设备需要发送一个应答信号。
应答信号由将SDA线拉低形成。
4. 停止信号:SDA线从低电平拉到高电平,SCL线保持高电平。
五、错误处理1. 总线忙错误:如果主设备在发送起始信号前检测到SDA线为低电平,则表示总线正忙,主设备需要等待总线空闲后再次尝试。
2. 应答错误:如果主设备在发送完一个字节的数据后未收到从设备的应答信号,则表示应答错误,主设备可以选择重发数据或中断通信。
六、电气特性1. 电压:通信线路上的电压应在0V至5V之间。
2. 高电平:通信线路上的高电平应大于等于2.1V。