Example Project: 16-channel 20-bit Delta Sigma ADC's data buffering w/ PSoC 3 and PSoC 5 | Cypress Semiconductor
Example Project: 16-channel 20-bit Delta Sigma ADC's data buffering w/ PSoC 3 and PSoC 5
The attached project implements Delta Sigma ADC's output data buffering using the DMA.
Since the spoke width is of 16-bits for the peripherals like ADC, we need two independent DMAs to buffer the output data in a memory location. The ADC's input channel selection is done using an Analog Mux whose select lines are driven by a state-machine. Once the current ADC conversion is over, Analog Mux's channel select lines will change to connect the next ADC's channel.
The attached project works in both PSoC 3 and PSoC 5 as well. Only difference is that PSoC 3 requires endian swapping before transferring the ADC data to memory.