Adaptation/GUID-99FC067C-0AED-5373-AF63-8DB7FF5C1F7E.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
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-99FC067C-0AED-5373-AF63-8DB7FF5C1F7E" xml:lang="en"><title>SPI Technology Guide</title><shortdesc>This document describes the Serial Peripheral Interface
(SPI) technology. The SPI devices are used for fast data exchange
between two or more peripherals. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>

<section id="GUID-B3154A94-3117-5427-BAAD-C402F41AF217"><title>Introduction</title> <p>The SPI is a synchronous serial interface. The SPI supports full
duplex communication channel for the devices that use SPI interface.
The devices and peripherals that use the SPI interface are described
as SPI devices in this document. </p> </section>
<section id="GUID-6FAE8B3E-904C-567B-A6CC-5558D417BA66"><title>Architecture</title> <p>In the SPI bus one of the node must be a master device and one
or more slave devices. There can be only one slave active at a time.
The master device initiates and terminates communication between the
SPI devices. The SPI is a full duplex serial data communication. In
full duplex communication the data can be transferred between the
master and the slave devices simultaneously. </p> <p>The SPI devices
can be configured as master or slave. The SPI bus contain four wires.
The first one is the serial clock signal sent by the master device
to the slave device. The clock signal is used for synchronisation.
The Master Output / Slave Input (<codeph>MOSI</codeph>) is used to
send data from the master to the slave. The Slave Output / Master
Input (<codeph>SOMI</codeph>) is used by the master device to read
data from the slave device. The fourth line is the Slave Select (<codeph>SS</codeph>) that is used by the master to select a slave to initiate
the communication. </p> <fig id="GUID-E7B96ED2-9814-5B75-8051-48337121F985-GENID-1-2-1-10-1-5-1-6-1-1-6-1-5-1-3-2-4">
<title>              SPI Bus            </title>
<image href="GUID-2AE438CC-F2E4-5FCB-971F-CFFAE5EF81E4_d0e93636_href.png" placement="inline"/>
</fig> </section>
<section id="GUID-6931A479-BF67-4BF7-8593-712D1770B402"><title>Communication</title> <p>The master device is the node on the SPI bus that initiates and
terminates the communication. The master must provide the configuration
to the slave devices. The configuration includes the details like
the channel number and the data length. The SPI devices uses 4 and
8 bit words to communicate. If a slave device or a channel is not
available the appropriate error is returned to the master. </p> </section>
<section id="GUID-B9575A06-1A72-529D-9023-FAC1ED895A34"><title>Advantages</title> <p>The following are the advantages of the SPI interface: </p> <ul>
<li id="GUID-5FFFECEF-BCEA-5A8A-83F1-52E24019B22C"><p>Full duplex
synchronous communication </p> </li>
<li id="GUID-358181F9-4831-582F-B6F3-06AD09724BCB"><p>Low power requirements
compared to the I2C devices </p> </li>
<li id="GUID-701BDE22-3306-55EC-96FF-4E8F241CFFD6"><p>Less space compared
to the parallel bus </p> </li>
<li id="GUID-97E797F6-9228-58AA-984A-D872CCFDD812"><p>Slave devices
do not require unique address assigned </p> </li>
</ul> </section>
<section id="GUID-8EF6A8EA-E813-5EF9-AE61-9ACD7FF8625E"><title>SPI
devices</title> <p>Typically the SPI devices are used for data transfers
where a delay in the time taken to send the data is acceptable. The
clients of the SPI interface are device drivers running on the application
specific integrated circuits (ASIC). Some of the peripherals that
use SPI interface are: </p> <ul>
<li id="GUID-D72EE2AE-A335-53FA-8A5E-DB110D4DDB2A"><p>Touch screens </p> </li>
<li id="GUID-E60C872B-5B0B-5973-81FA-F93585859037"><p>Codecs </p> </li>
<li id="GUID-4332DFC4-A2BF-5533-8704-6F56EF76C161"><p>Real Time Clocks </p> </li>
<li id="GUID-DDFD3CB6-9696-504C-B23F-698873FA075E"><p>Built-in cameras </p> </li>
<li id="GUID-DA624D60-DEDD-56F0-BC77-13FCBDB0D959"><p>Flash memory
like MMC and SD cards </p> </li>
</ul> </section>
</conbody><related-links>
<link href="GUID-B2F86F54-EF50-56DB-ADF7-15325AC9324D.dita"><linktext>IIC
Concepts</linktext></link>
</related-links></concept>