WEARABLE TECH AND BIOMETRICS
How to Accelerate Peripheral Monitoring in Low Power
Analog Devices
Abstract
This article explains the use cases, advantages and disadvantages of utilising direct memory access (DMA) in embedded systems programming. The article describes how DMA interacts with peripheral and operation of CPUs. The article will also introduce the reader to different DMA bus access architectures, and the advantages of each.
One task that is common for embedded systems is managing external input. Managing input can put a lot of unnecessary computational strain on the processor, causing longer periods in active power modes and slow response times. For optimising power, preserving quick responses to events and managing large continuous data transfers, a microcontroller with direct memory access (DMA) may offer the best solution.
Direct Memory Access (DMA) In system applications involving peripherals, there are many points at which a microprocessor can become bottlenecked. For instance, when managing an ADC that is constantly sending data, a processor can be interrupted so often that it struggles to accomplish other tasks. DMA is a method of moving data and minimising processor involvement in large or fast data transactions. You can think of the DMA controller as a coprocessor whose sole purpose is to interact with memory and peripherals. This allows the main processor to successfully manage a greedy peripheral, focus on another task, or even go to sleep and conserve power while data transactions
38 APRIL 2025 | ELECTRONICS FOR ENGINEERS Advantages of Using DMA CPU Time
DMA minimises the need for processor execution and interrupts, decreasing the required CPU time for data transactions.
Wearables with DMA
Power Consumption Using DMA can yield opportunities to minimise power consumption if it allows the processor to sleep during DMA transfers.
Parallel Operation
Depending on the architectural details of the system bus, the processor may be able to execute other operations while peripheral transactions are taking place.
Table 1. Advantages of using DMA
Disadvantages of Using DMA Cost
Complexity
Incorporating a system with DMA requires a DMA controller, and this can make a system more expensive.
While DMA can reduce the frequency of interrupts, it can increase
Platform Dependence
DMA controllers have differing internal architectures between and within manufacturers and can have different behaviour depending on their native bus access schemes.
Cache Incoherency DMA transactions can cause logical errors to occur by writing to a cached layer of the memory hierarchy. This can be solved by using cache-coherent system architectures or by invalidating cache storage upon DMA completion.
Table 2. Disadvantages of using DMA
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50