Initial contribution of the Adaptation Documentation.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-3A30DA16-ECA8-5639-A9DC-6BE2AD55420B" xml:lang="en"><title>I2C Technology Guide</title><shortdesc>This topic describes the Inter Integrated Circuit (I2C)
bus technology. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-D58AC61D-AA0B-4F8C-A0B7-8762E9A4DD83"><title>Introduction</title> <p>The I2C is a serial bus technology invented by Philips. The I2C
is a multi master serial interface used by the low power peripherals
to exchange data. The I2C supports different modes of data transfer
and three commonly used modes are: </p> <ul>
<li id="GUID-F6E78BBF-D1D3-5947-A2CA-E33D31B38D67"><p> <i>Standard</i> mode supports 100Kbps data transfer </p> </li>
<li id="GUID-FE480522-51A6-5A8B-99D3-1324E594220F"><p> <i>Fast</i> mode supports 400Kbps data transfer </p> </li>
<li id="GUID-5A7AA88F-C3FF-55C1-B9E3-1FEBDF899DA8"><p> <i>High speed </i> mode supports 3.4Mbps data transfer </p> </li>
</ul> </section>
<section id="GUID-E820265D-FBF1-47CC-BE37-27CD9BD8BA61"><title>Architecture</title> <p>The I2C bus contains 2 bi-directional lines, a serial clock (SCL)
and serial data (SDA) lines. In the I2C bus, more than one device
could act as Master device. There can be only one master device active
at a given time. The master device initiates the communication and
slave responds to the master. The master and slave devices can be
interchanged after a data <codeph>STOP</codeph> signal is sent from
the master. The master device can address more than one slave at a
time. </p> <fig id="GUID-2A0703D3-013C-59C6-86B1-98513D484586">
<title> I2C Bus </title>
<image href="GUID-B0FA9741-CB42-560F-A13E-78FAA57F7871_d0e93496_href.png" placement="inline"/>
</fig> <p>The master device can read and write data to the slave device.
The I2C bus uses 7 or 10 bit address. </p> </section>
<section id="GUID-F0DEADCE-ED35-4822-BA73-6068CB2CAA98"><title>Features</title> <p>The features of the I2C bus are: </p> <ul>
<li id="GUID-B63B7E4E-7C22-5AB3-803A-9B7E42B36A80"><p>the master device
can send and receive data from the slave device </p> </li>
<li id="GUID-9284798B-029F-52D0-ADEB-68726A430B5A"><p>the I2C bus
uses 7 or 10 bit address </p> </li>
<li id="GUID-9A9175F0-B6D9-52CA-818B-C9B028EE8DFE"><p>only uses 2
bi-directional lines for communication </p> </li>
<li id="GUID-B32C597E-1973-5F4B-8E2B-42C8E5696504"><p>multiple master
device can be connected to the same bus </p> </li>
</ul> </section>
<section id="GUID-97A176BF-0300-4A1C-81D2-3FA5A4315456"><title>Communication</title> <p>The first byte from the master is used to address the slave device.
In the first byte the master sends the address and read/write signal
to the slave. There are three types of messages: </p> <ol id="GUID-4A10967B-8F72-5145-82F1-20C438B839D3">
<li id="GUID-494BEC9B-22C6-535C-87C4-B9D5572F0F3C"><p>master just
reads data from the slave </p> </li>
<li id="GUID-B50B3F0A-35B1-528F-B2DD-9FF5709FAF1B"><p>master just
writes data to the slave </p> </li>
<li id="GUID-31A59E28-9677-535C-A5FB-990F40E53539"><p>master reads
and writes data </p> </li>
</ol> <p>The communication is initiated with a start signal and completed
with a stop bit. In the third type of message the master starts the
communication with a start signal with a read or write bit to the
slave. The process continues until the master has completed the read
and write tasks. The communication is terminated with a stop signal. </p> </section>
<section id="GUID-64145C1A-25E6-4968-94B7-7E6A385C5F0F"><title>Typical
Uses</title> <p>The typical uses of I2C bus are: </p> <ul>
<li id="GUID-AF71E9EF-A299-5DAF-85FA-01C34DEE1425"><p>to read data
from various flash devices like EEPROM and SDRAM </p> </li>
<li id="GUID-E118CF39-8393-5476-8A61-CD36413EBF99"><p>to control LCD </p> </li>
<li id="GUID-5B334072-676B-5516-93A8-626BDC44E132"><p>to read real
time clock data </p> </li>
</ul> </section>
</conbody><related-links>
<link href="http://www.nxp.com/acrobat/literature/9398/39340011.pdf.dita">
<linktext>I2C bus specification v2-1 Jun 2000</linktext></link>
</related-links></concept>