Apollo2 does not have direct memory access (DMA), which was a conscious decision targeted at providing the lowest power consumption solution possible.
Apollo2 instead relies on large low-power Local RAM/FIFOs for each of the serial interfaces.
For Apollo2, each of the six I2C/SPI masters have 128-byte LRAM/FIFO, the I2C/SPI slave interface has 256-byte LRAM/FIFO, the UARTs each have independent 32-byte TX FIFO and 32-byte RX FIFO, and the PDM interface has a 256-word FIFO. Even the ADC has an 16-sample deep FIFO.
These peripherals can operate autonomously with no CPU interaction while there is data/space in the FIFO and the MCU only needs to be involved to load/empty the FIFOs when they reach configurable threshold levels which trigger an interrupt.
The combination of these FIFOs with the extremely low active power consumption of the MCU core will enable nearly all functions to be performed by Apollo2 at much lower power consumption than other MCUs can achieve using DMA.
Article is closed for comments.