lpcware

SGPIO with DMA

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by jgorsk on Mon Oct 29 11:59:22 MST 2012
I've been trying to use SGPIO with DMA. I want to transfer ten 11 bit words
from memory to SGPIO REG_SS register, one at each SGPIO15 DMA triggering pulse.

TRANSFERSIZE is set to 10
burst sizes are set to 1
transfer widths are set to 16 bits (0x01)
flow control is memory to peripherial (DMA control)
SGPIO15 is output at the LPC43 pin so I can monitore it

DMAMUX in CREG is set properly to select SGPIO15 for peripherial 12 BREQ
(Keil debugger IO register view is showing this configuration as reserved,
not assigned to SGPIO15)

The source address in DMA controller is being incremented properly,
also TRANSFERSIZE  is changing to 10 but SGPIO is not reacting.
Only one positive pulse is generated at SGPIO15 which is a result
of the values I load to REG[15] and REG_SS[15] when I set up SGPIO to start triggering DMA
transfers. There is only one pulse triggering DMA but DMA 'counters' are incremented 10 times.

I'm configuring DMAMUX, SGPIO and DMA register. Is there anything else that needs to be configured
in order for SGPIO to work with DMA?

Outcomes