Introduction
This example performs PDMA RX data capture from ADC.
ADC is configured in single shot mode and captures APP_ADC_NUM_CH channel of ADC data. The FIFO is configured to generate a DMA trigger after all channel data is captured.
The application opens and configures a Packet DMA (PKTDMA) channel. It configures the PDMA parameter for transfer from ADC. The PDMA element count is set to the number of ADC samples - APP_ADC_NUM_CH.
This uses Host Packet Descriptor (HPD) to receive data from ADC PDMA channel into the destination buffer.
The ADC is configured to tag the channel/step ID as part of ADC data using ADCStepIdTagEnable API. The application uses this to compare that the DMA read data is in proper sequence and prints pass/fail accordingly.
Supported Combinations
Parameter | Value |
CPU + OS | r5fss0-0_freertos |
Toolchain | ti-arm-clang |
Board | am64x-evm |
Example folder | examples/drivers/udma/udma_adc_read |
Steps to Run the Example
See Also
UDMA
Sample Output
Shown below is a sample output when the application is run,
[UDMA] ADC read application started ...
CH 0 DATA: 0x0d08
CH 1 DATA: 0x0cff
CH 2 DATA: 0x0cbe
CH 3 DATA: 0x0d2c
CH 4 DATA: 0x0d0a
CH 5 DATA: 0x0d9f
CH 6 DATA: 0x0d7c
CH 7 DATA: 0x0e4c
Loop Count: 1 completed!!
CH 0 DATA: 0x0d0c
CH 1 DATA: 0x0cfe
CH 2 DATA: 0x0cbe
CH 3 DATA: 0x0d34
CH 4 DATA: 0x0d0a
CH 5 DATA: 0x0d9a
CH 6 DATA: 0x0d79
CH 7 DATA: 0x0e4a
Loop Count: 2 completed!!
CH 0 DATA: 0x0d34
CH 1 DATA: 0x0d04
CH 2 DATA: 0x0cba
CH 3 DATA: 0x0d03
CH 4 DATA: 0x0d01
CH 5 DATA: 0x0dab
CH 6 DATA: 0x0d7e
CH 7 DATA: 0x0e4f
Loop Count: 3 completed!!
CH 0 DATA: 0x0d07
CH 1 DATA: 0x0cf7
CH 2 DATA: 0x0c8d
CH 3 DATA: 0x0d01
CH 4 DATA: 0x0d09
CH 5 DATA: 0x0da9
CH 6 DATA: 0x0d7b
CH 7 DATA: 0x0e4b
Loop Count: 4 completed!!
CH 0 DATA: 0x0d32
CH 1 DATA: 0x0d04
CH 2 DATA: 0x0ca9
CH 3 DATA: 0x0d09
CH 4 DATA: 0x0d09
CH 5 DATA: 0x0d9e
CH 6 DATA: 0x0d7e
CH 7 DATA: 0x0e4d
Loop Count: 5 completed!!
CH 0 DATA: 0x0d32
CH 1 DATA: 0x0d03
CH 2 DATA: 0x0cc2
CH 3 DATA: 0x0d36
CH 4 DATA: 0x0d27
CH 5 DATA: 0x0dac
CH 6 DATA: 0x0d7f
CH 7 DATA: 0x0e4f
Loop Count: 6 completed!!
CH 0 DATA: 0x0d34
CH 1 DATA: 0x0d03
CH 2 DATA: 0x0cc0
CH 3 DATA: 0x0d37
CH 4 DATA: 0x0d27
CH 5 DATA: 0x0dac
CH 6 DATA: 0x0d80
CH 7 DATA: 0x0e4e
Loop Count: 7 completed!!
CH 0 DATA: 0x0d07
CH 1 DATA: 0x0d01
CH 2 DATA: 0x0cbe
CH 3 DATA: 0x0d37
CH 4 DATA: 0x0d2d
CH 5 DATA: 0x0da1
CH 6 DATA: 0x0d80
CH 7 DATA: 0x0e4b
Loop Count: 8 completed!!
CH 0 DATA: 0x0d34
CH 1 DATA: 0x0d01
CH 2 DATA: 0x0cb6
CH 3 DATA: 0x0d33
CH 4 DATA: 0x0d01
CH 5 DATA: 0x0da8
CH 6 DATA: 0x0d7e
CH 7 DATA: 0x0e4d
Loop Count: 9 completed!!
CH 0 DATA: 0x0d34
CH 1 DATA: 0x0cf7
CH 2 DATA: 0x0c90
CH 3 DATA: 0x0cff
CH 4 DATA: 0x0d08
CH 5 DATA: 0x0d9e
CH 6 DATA: 0x0d7d
CH 7 DATA: 0x0e4b
Loop Count: 10 completed!!
All tests have passed!!