- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We want to measure an ADC value on a BCM920737TAG where 10 bit resolution would be enough. But we only have about 30uS time to do the conversion.
The PDF for the BCM920732 states that the conversion time is 10uS. Unfortunately in our tests the conversion time is about 180uS.
That PDF also states that there are 5 different sampling modes available with ENOBs 10, 11.5, 12, 12.6 and 13
In adc.h there is a comment which states:
* Defines functions to access ADC peripheral. The ADC provides one-shot conversion of
* and input analog signal to a digital value (raw or converted to Volts). The maximum
* sampling rate is 187 KHz with 10 ENOB and the minimum conversion rate is 5.859 KHz.
How can we change the ENOB to 10? We found several discussion posts where 10 and 13 ENOB are mentioned including BCM20732S ADC Configuration but no indication about how to change this.
Solved! Go to Solution.
- Labels:
-
ADC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks to stuart_sf we found the solution:
we include 20732mapa1.h and are using the following code to change the ADC to mode 3 before calling arc_config():
INTF_CTL_REG config;
config.adc_intf_ctl_reg = mia_adc_intf_ctl;
config.bitmap.adcModeSelect = INTF_CTL_MODE_3_100KHZ;
mia_adc_intf_ctl = config.adc_intf_ctl_reg;
Now the ADC sampling is quite fast and the ENOB of mode 3 is totally sufficient for us.
Of course this is not the optimal solution because it bypasses the ADC SDK and sets the mode directly.
But we hope that changing the ADC mode will be part of the next SDK release...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I checked with the development team and they confirmed that the default is mode 0, which will give you 13 ENOB. We are looking into adding an API within the next SDK release to change the mode.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks to stuart_sf we found the solution:
we include 20732mapa1.h and are using the following code to change the ADC to mode 3 before calling arc_config():
INTF_CTL_REG config;
config.adc_intf_ctl_reg = mia_adc_intf_ctl;
config.bitmap.adcModeSelect = INTF_CTL_MODE_3_100KHZ;
mia_adc_intf_ctl = config.adc_intf_ctl_reg;
Now the ADC sampling is quite fast and the ENOB of mode 3 is totally sufficient for us.
Of course this is not the optimal solution because it bypasses the ADC SDK and sets the mode directly.
But we hope that changing the ADC mode will be part of the next SDK release...