Apollo1 does not have direct memory access (DMA). This was a conscious decision targeted at providing the lowest power consumption solution possible.
Apollo1 instead relies on large low-power Local RAM/FIFOs for each of the serial interfaces.
Each of the two I2C/SPI masters have a 64-byte LRAM/FIFO, the I2C/SPI slave interface has a 256-byte LRAM/FIFO, and the UART has a 32-byte TX FIFO and a 32-byte RX FIFO. Even the ADC has an 8-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 use of these FIFOs combined with the extremely low active power consumption of the MCU core will enable nearly all functions to be performed by Apollo at much lower power consumption than other MCUs can achieve using DMA.
Article is closed for comments.