00000010 : The same as above except that you must provide the SLAVE address.This does not RESET the registers to Power-up state. 00000100 : Causes all IC's that define their address by hardware to reload this value.This does noet reset internal register. 00000000 : PROHIBITED. xxxxxxx1 : This is a HARDWARE general call. You can look to this as a kind of INTERRUPT generated by an I2C IC. This can be used in the following condition.: You have a keyboard controller. Each time a key is pressed it transmits the following sequence : ---------------------------------------------------- ! S ! 0000 0000 ! A ! yyyy yyy1 ! A ! Databyte ! P ! ---------------------------------------------------- Where yyyy yyy is its own address. What will happen is that the MASTER CPU will see the General call address and see that the device with address yyyy yyy has something to tell to the CPU.It will read the next byte.In our case the CPU will know that keyboard controller yyyyyyy has detected a key and that the scancode of this key is contained in the received databyte. All other codes have not been assigned. All I2c ic's are designed to ignore them. So you are free to use them for whatever. (I generally use them to debug MultiMASTER modes). - NO IC is allowed to generated an ACKNOWLEDGE of the START byte. - The start byte is used to syncronize Slow devices with fast devices. - The CBUS address is used in this way : After sending this address all IC's go into IDLE mode until they receive a STOP condition. In the mean time you can transfer data using a complete different protocol on your I2C bus. 2.7) Electrical spec's of the I2C Bus As the chips designed for an I2C bus can function on different Supply voltages the following levels have been set. ! Symbol ! Unit ! Standard mode ! FAST mode ! ! ! ! Min ! Max ! Min ! Max ! Low level input ! ! ! ! ! ! ! voltage ! Vil ! V ! -0.5 ! 1.5 ! -0.5 ! 1.5 ! rel to VDD ! ! ! -0.5 ! 0.3Vdd ! -0.5 ! 0.3Vdd ! ! ! ! ! ! ! ! HIGH level input ! ! ! ! ! ! ! Volteg ! Vih ! V ! 3.0 ! *1 ! 3.0 ! *1 ! rel to VDD ! ! ! 0.7Vdd ! *1 ! 0.7Vdd ! *1 ! ! ! ! ! ! ! ! Hysteresis of ! Vhys ! V ! - ! - ! 0.2 ! - ! Schmitttrig ! ! ! ! ! ! ! ! ! ! ! ! ! ! Pulse width of ! ! ! ! ! ! ! spikes that must ! tSP ! nS ! - ! - ! 0 ! 50 ! be suppressed ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Low level output ! ! ! ! ! ! ! voltage ! ! ! ! ! ! ! At 3mA ! Vol1 ! V ! 0 ! 0.4 ! 0 ! 0.4 ! At 6mA ! Vol2 ! V ! - ! - ! 0 ! 0.6 ! ! ! ! ! ! ! ! Input current of ! ! ! ! ! ! ! BUS pins ! Ii ! uA ! -10 ! 10 ! 10 ! 10 ! ! ! ! ! ! ! ! Capacitance of ! ! ! ! ! ! ! each bus PIN ! Ci ! pF ! - ! 10 ! - ! 10 ! ! ! ! ! ! ! ! *1) Maximum Vih = VDD MAX + 0.5 V The number of interfaces connected is limited to the number of available addresses and the load capacitance on the bus. This capacitance may not be bigger then 400pF. In the new standard this is preferred to be less than 200pF. 3.0) Enhanced I2C (FAST mode) Since the first I2C spec release (which dates back from 1982) a couple of improvements have been made.In 1993 the new I2C spec was released.This new spec conatains some additional sections covering FAST mode and 10 -Bit adressing. In this section the Fast mode will be covered , while in the next section information about 10 bit adressing is given. In the FAST mode the physical bus parameters are not altered. The protocol,Bus levels,Capacitive load etc.. remain unchanged. However the datarate has been increased to 400 Kbit/s. To accomplisch this task a number of changes have been made to timing. Since all CBUS activities have been canceled ,there is no compatibility anymore with CBUS timing.The development of IC with CBUS interface has been stopped. The existing CBUS ic's are being taken out of production. The input of the FAST mode devices all include Schmitt triggers to suppress noise.The output buffers include slope control of the falling edges of the SDA and SCL signals.If the power supply of a FAST mode device is switched off the BUS pins must be floating so that they do not obstruct the bus. The pullup resitor must be adapted. For loads up to 200 pf a resistor is sufficient.For loads between 200pf and 400pF a current source is preferred. 4.0) 10 bit adress mode Due to the increasing popularity of the I2C bus the address space is nearly exhausted.This starts posing problems for people currently in the phase of designing a new I2C compatible IC. Therefore the I2C standard has been adapted. A chip that conforms to the new standard receives 2 adress bytes. The first consists of 5 * a ONE ,the 2MSB's of the address and the Read/Write bit. The second byte contains the LSB's of the address. ----------------------------------------------------------------- !S! 1 1 1 1 1 A9 A8 R/W !WA! A7 A6 A5 A4 A3 A2 A1 A0 ! WA ! ...... ----------------------------------------------------------------- This scheme insures that the 0 bit adressing mode stays completely transparent for the other devices on the bus. Normally any new design should adept to this new adressing scheme. 9) ACCESS bus. A recent offspring of the I2C BUS is the ACCESS Bus. This bus was codeveloped by Philips,Signetics,Digital and Intel.The goal was to create a bus that could help us getting rid of all cabling involved with computer peripherals. You would have 1 bus connector where you could hook up your keyboard,mouse,digitizer,scanner,printer,monitor etc. Then by using sotware you could issue commands to your monitor or printer.Things like selecting fonts or programming brightness and picture size could be done from within software on the host platform. Things like Hotplugging are included in the standard.There has been a chip developed that could replace the standard 8042 (which is the keyboard controller in an ibm PC) by an access bus controller. Digital is using the bus in its Alpha based machines. Sony and some other manufacturers have monitors that support the remote programming features.Microsoft will support the bus fully . (probably already in Windows 95). Basically the hardware layer of the access bus is an I2C bus. All that has been done is implementing a software protocol to provide additional functionality to the system. You can contact Sharon Baker at Signetics (408) 991-3518. for further information A company called Computer Access technology provides plug in boards for IBM-PC that give your system ACCESS bus features. Note that the adress has changed since the FIRST FAQ issue. Computer Access Technology ( CATC ) 3375 Scott Blvd. Suite #410 Santa Clara CA 95054 Phone +1-408-727-6600 Fax +1-408-727-6622 e-mail catc@netcom.com A) Overview of existing I2C components and their function Philips LCD Drivers : PCF 8566 96 segment LCD driver PCF 8568 LCD Row driver for dot matrix displays. PCF 8569 LCD Column driver for DOT matrix displays PCF 8576 160 segment LCD driver PCD 8577 64 Segment LCD driver PCF 8578 LCD Row driver for Dot matrix LCD's PCD 8579 Column driver for Dot matrix LCD's SAA 1064 4 Digit Led driver I/O expanders: PCF 8574 8 Bit I/O port PCF 8574A 8 Bit I/O port different adress. SAA 1300 5 Bit high current driver Data convertors PCF 8591 4 channel ADC + One DAC (all 8 bits) TDA 8442 Quad 6 bit DAC TDA 8444 Octal 6 bit DAC Memory PCF 8570 256 byte static ram PCf 8571 128 byte static ram PCF 8581 128 byte EEprom PCF 8582 256 byte EEprom PCF 8583 256 byte RAM + Realtime clock and calendar PCF 8594 512 byte Eeprom PCF 8598 1K byte EEprom Clocks PCF 8573 Clock/Calendar PCF 8583 Clock/Calendar with 256 byte Ram Master devices 8xCL410 Low power 8051 cpu 8xC528 8051 Compatible CPU with 32Krom 512 byte ram 8xC552 8051 compatible CPU with 8Krom /UART/ADC/PWM 8xC751 8051 Compatible CPU 24 pin 300 mil's DIL 8xC752 8051 Compatible CPU 28 pin DIL 68070 68000 CPU with MMU/UART/DMA/TIMER Xicor XC24cXX series. Serial EEproms SGS-Thomson (ST) Siemens B) SOURCES OF INFORMATION ABOUT I2C B.1) FTP sites The following is a list of the various anonymous ftp sites that carry tools and examples about I2C and how to implement it. There are many others that are not listed here that contains bits and pieces. Usually you can find them using Archie and searching for "I2C","ACCESS BUS" and stuff like that. ftp.funet.fi (nic.funet.fi) /pub/compilers/8051 /pub/microprocs/MCS-51 Philips-News@InetBSystems.us.com - Email (not ftp) - send Email with "subscribe" in the subject field to be put on list for newsletter Philips-archive@InetBSystems.us.com - Email (not ftp) - send Email message with the word "help" in the subject line to learn how to access the archive Philips-forum-request@InetBSystems.us.com - Email (not ftp) - send an Email message with the word "subscribe" in the subject line to participate in the forum, and receive usage instructions and guidelines Philips-Info@InetBSystems.us.com - Email (not ftp) - send Email message to get information on all of Philips Email services info@circellar.com - Email (not ftp) - send Email to get information file on services available - all Circuit Cellar INK and BYTE related files available ftp.oak.oakland.edu - has information and software for a wide range of microprocessors and microcontrollers, you may have to look around a bit ai.uga.edu /pub/hardware - stuff on the Philips 87C750/1/2 microcontrollers - stuff on i2C - assembler, an update for the software in the DS-750 kit, notebook of some early experiences and code - responses welcome, Michael A. Covington (mcovingt@ai.uga.edu) awaiting final corporate approval... Philips Semiconductor ftp site B.2) Web pages None to my knowledge B.3) BBSs Circuit Cellar, Inc. - contains code from their magazine articles and from the original Circuit Cellar articles in Byte magazine, also contains many other interesting items - GOOD STUFF HERE! - The BBS is mentioned in the masthead of each issue (on the table of contents page). Excerpts from the BBS appear in Ken Davidson's ConnecTime column in every issue with a description of how to access the system at the end of every column. - (203)871-1988 - Voice: (203)875-2751 - Fax: (203)872-2204 Philips Semiconductor - Europe - support for: standard logic, programmable logic, in-car electronics (now open), 8 and 16 bit microcontrollers, I2C software, third party software, discrete semiconductors, cross assemblers (general), RF (planned) - PHIBBS is located in the Netherlands: +31-40-721102 - maximum 21600 baud / V42bis / HST/Vterbo - 24 hours a day available - Help desk: +31-40-722749 (9.00 AM - 16.00 PM CET) Philips Semiconductor - North America - support for their 8051 variants - contains many good source code items - partially mirrored on ftp.pppl.gov and nic.funet.fi - (800)451-6644 or (408)991-2406 C) I2C products This section includes descriptions and references to free and commercial software for the I2C Bus and lookalikes. FTP sites and BBSs contain many quality packages and code samples for free. For heavy duty use, you might prefer the many commercial packages that are available. With the public domain (or free) stuff, you're usually on your own. The commercial packages usually provide extensive documentation and support. C.1) Free development tools The following is a list of development tools that exist on the net. IBM PC program to control I2C bus from the printer port. Program: TV312.EXE / TV400.EXE / I2CRAD.EXE Description: Control program by Philips Semiconductors for I2C bus. Location: ftp.pppl.gov : /pub/8051/signetics-bbs ftp.funet.fi : /pub/microprocs/MCS-51/signetics-bbs The same site has lots of APP notes on i2C and how to implement it on 8051 and 68000 compatible CPU's. That's all right now. More to come in the next FAQ release C.2) Commercially available products Philips Microcontroller Product Group 811 East Arques Ave. / POB 3409 Sunnvale, CA 94088-3409 Technical documentation: Sunnyvale, CA - (800)447-1500 Fax: (408)991-3773 Eindhoven, Netherlands - Fax: 31-40-724825 Technical questions: Sunnyvale, CA - (408)991-3518 A set of development boards for the I2C bus : S87C00KSD I2C evaluation Board OM1016 I2C demo board with CPU and a number of peripherals like I/O,AD/DA,LCD,RAM,EEPROM,CLOCK,DTMF,IR receiver etc.. OM1018 Manual for the above. OM1020 LCD and driver demoboard. OM4151 Similar to OM1016 but without IR link. OM4160 68070 based demoboard. OM1022 I2C bus analyser. Hard and software for IBM PC. ACCESS.bus A.b-DEV-KIT Contains the interface board , a mouse and an expantion box. Furthermore there are drivers and software + sourcecode to start developing you own acces bus peripherals. Signetics Corporation (see Philips Microcontroller Product Group) D) I2C DOCUMENTATION D.1) Periodicals that sometimes have articles about I2C Various magazines and journals (journals seems to be THE popular name for magazines these days) provide articles from time to time on the I2C bus The Computer Applications Journal (Circuit Cellar Ink) - programming and construction articles - POB 7694, Riverton, NJ 08077-8784 - FAX: (203)872-2204 - Voice orders: (609)786-0409 - On-line orders (BBS): (203)871-1988 - Email orders: ken.davidson@circellar.com - $21.95, $31.95 surface Canada and Mexico, $49.95 air all other countries Electronic Engineering Times - industry announcements and trends - FREE to qualified engineers and managers involved in engineering decisions - Fulfillment Dept., PO Box 9055, Jericho, NY 11753-8955 - FAX: (516)733-6960 Electronics Now - construction articles - Box 55115, Boulder, CO 80321-5115 - $19.97 one year Elektor Electronics - programming and construction articles - World Wide Subscription Service Ltd Unit 4, Gibbs Reed Farm, Pashley Road Ticehurst TN5 7HE, England - 27 UK pounds or - Old Colony Sound Lab, P.O. Box 243, Peterborough, NH 03458 - Tel. (603)924-6371, 924-6526 - Fax: (603)924-9467 - $57 USA and Canada per year D.2) Books on I2C I don't have information on all of these, only that they exist. I would greatly appreciate it if someone could provide a short synopsis and the complete book name if you are familiar with any of these titles. Data book / Handbook / Users' Guide - Philips I2C devices Handbook - 8051 Handbook from philips (contains also complete I2C spec) pub no : 9397-750-00013 - I2C peripherials for microcontrollers. 98-8080-574 (Philips ord.nr) Currently depleted.Sheduled for reprint in august IC01 Semiconductors for Radio and Audio systems IC02 Semiconductors for TV and Video systems. IC03 Semiconductors for Telecom systems IC14 8048 based microcontrollers IC20 8051 based microcontrollers D.3) Miscellaneous documentation on i2C Intel Corporation - application notes Philips Semiconductors (Signetics) - application notes Databooks from Philips,Xicor,SGS Thomson etc ... __________________________________________________________ I disclaim everything. The contents of this article might be totally inaccurate, inappropriate, misguided, or otherwise perverse - except for my name (hopefully I got that right). Copyright (c) 1995 by Vincent Himpe, all rights reserved. This FAQ may be posted to any USENET newsgroup, on-line service, or BBS as long as it is posted in its entirety and includes this copyright statement. This FAQ may not be distributed for financial gain. This FAQ may not be included in commercial collections or compilations without express permission from the author. ----------------------------------- Vincent Himpe - vincent.himpe@ping.be