|
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-6873E764-4132-46C8-8444-6301CF4D2033" xml:lang="en"><title>DMA Hardware Interface</title><shortdesc>Describes the interface between the DMA hardware and the |
|
13 DMA platform service.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <section id="GUID-2E3C9F69-CAE2-4F36-8291-F426B36F911B"><title>Introduction</title><p>This document describes the functionality that the DMA hardware |
|
15 has to provide in order to be compliant with the DMA platform service.</p></section> |
|
16 <section id="GUID-83EFC137-9C18-477A-A042-ACBF70CFCA3C"><title>Interface |
|
17 limitations</title><p>None</p></section> |
|
18 <section id="GUID-0C191930-C521-4BA4-8B41-AA3C730B2606"><title>Adaptation |
|
19 dependencies</title><p>Dependent on the Application Specific Standard |
|
20 Product (ASSP) chip that is being used.</p></section> |
|
21 <section id="GUID-8F209D96-3E1E-4C9C-BB60-B38082126242"><title>The |
|
22 interface</title><p>In order to use the DMA platform service, the |
|
23 following information is required:</p><ul> |
|
24 <li><p>The location of the data source.</p></li> |
|
25 <li><p>The location of the data destination.</p></li> |
|
26 <li><p>The channel to be used.</p></li> |
|
27 <li><p>The amount of data to be transferred.</p></li> |
|
28 <li><p>How much data is to be transferred at once (packet size).</p></li> |
|
29 <li><p>Synchronization setup</p></li> |
|
30 <li><p>Interrupt settings</p></li> |
|
31 </ul><p>How the above settings relate to the operation of the DMA |
|
32 is shown in the diagram below:</p><fig id="GUID-3B24E56D-A82D-411C-B3AF-BB5556B4BD1A"> |
|
33 <title>DMA settings</title> |
|
34 <image href="GUID-610E0C09-F014-4DA2-8411-D7A0CDAF5BBB_d0e90471_href.png" placement="inline"/> |
|
35 </fig><p>The settings listed above will now be discussed in more detail.</p><p><b>Location of the data source</b></p><p>This specifies where |
|
36 data is to be transferred from (the source). This can be one of the |
|
37 following:</p><ul> |
|
38 <li><p>Memory</p></li> |
|
39 <li><p>Peripheral</p></li> |
|
40 </ul><p>If the source location is a peripheral, then its port will |
|
41 have to be specified along with the location of the data source.</p><p><b>Location of the data destination</b></p><p>This specifies the |
|
42 final location of the data to be transferred (the destination). As |
|
43 with the location of the data source, this can be one of the following:</p><ul> |
|
44 <li><p>Memory</p></li> |
|
45 <li><p>Peripheral</p></li> |
|
46 </ul><p>If the destination is to be a peripheral, then the port configuration |
|
47 will have to be specified along with the location of the destination.</p><p><b>Channel</b></p><p>The DMA platform service transfers data over |
|
48 channels which are configured independently. The priority order of |
|
49 the each channel is specified in the DMA platform service API.</p><p><b>Amount of data to be transferred</b></p><p>This setting specifies |
|
50 the amount of data that is to be transferred from the source to the |
|
51 destination.</p><p><b>Data packet size</b></p><p>Data is transferred |
|
52 in packets of a specified size. The acceptable values are:</p><ul> |
|
53 <li><p>4 bytes</p></li> |
|
54 <li><p>8 bytes</p></li> |
|
55 <li><p>16 bytes</p></li> |
|
56 <li><p>32 bytes</p></li> |
|
57 <li><p>64 bytes</p></li> |
|
58 <li><p>128 bytes</p></li> |
|
59 </ul><p><b>Synchronization settings</b></p><p>These specify how the |
|
60 transfer between the source and destination is to be controlled. This |
|
61 is used when either the source or the destination can only take part |
|
62 in a data transfer depending on external events. The synchronization |
|
63 can be set up to be one of the following:</p><ul> |
|
64 <li><p>No synchronized transfer</p></li> |
|
65 <li><p>Synchronize the transfer after a preset number of bytes</p></li> |
|
66 </ul><p><b>Interrupt settings</b></p><p>These are used to specify |
|
67 how the DMA and/or specific channels should react to interrupt events.</p></section> |
|
68 </conbody></concept> |