- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to configure 12 bit delta sigma ADC for transferring analog data to filter via DMA. I had to set 12 bit resolution to match the sample rate of ADC and filter. It is required to send higher byte of data to UART for serial communication. However I am not getting data..Please suggest for possible solutions..
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I probably don't understand the issue. The filter does not care about input rate, if you have e.g. 2 kHz, just specify it in filter dialog. If 1100 Hz is absolutely necessary, you can get it using ADC external trigger mode (soc attached to 1100Hz clock or PWM).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ups, just noticed you need 12-bit, not 16.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your time!! I have referred to the ADC and Filter coherency settings given for 9-16 bit adc resolution. Please go through the attachment for correction if any..
I am using two DMA channels for data transfer, one for ADC to filter and second for Filter to UART/DAC8. Getting no hint if filter output received at the UART will be in 2's complement format and how can I get it corrected for my signal?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are issues with Filter-DMA-VDAC, see this thread
Class D adcDelSig>Filter>Pwm using DMA only
So I recommend using Filter-driven interrupt approach. To convert data then you simply need to add 128u to Filter result. See Cypress Filter example.
Other thing is that UART can't handle more than 1-3 ksamples/sec at 115kb anyway, so interrupt-driven approach is totally sufficient.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the guideline.
I had tried the interrupt driven approach earlier for 8bit data. For 8 bit ADC resolution I had added 128u to filter result, for 16bit resolution I had added 65536u. I was unable to get 1100 samples/second in ADC for 8 bit or16 bit resolution. I am using single sample mode. This is required for filter sample rate requirement. Hence I moved to 12 bit resolution.
But I don't understand how filter will work on 2 byte data with 12 ADC bit resolution..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I probably don't understand the issue. The filter does not care about input rate, if you have e.g. 2 kHz, just specify it in filter dialog. If 1100 Hz is absolutely necessary, you can get it using ADC external trigger mode (soc attached to 1100Hz clock or PWM).