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