- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
The high-level ADC interface in include/Drivers/adc.h appears to only support one-shot sampling of the ADC. In other words, the app needs to call adc_readSampleRaw() each time it wants a new sample. I need to perform a periodic analysis on a window of ADC samples collected at 11.7kHz (ADC_SAMPLE_FREQUENCY_MEDIUM_LOW). How can I do that? Does the BCM20737 implement DMA for the ADC? Or perhaps, does the BCM20737 implement a "sample-ready" ISR? I have not found a hardware manual for BCM20737 that would provide a description of all the hardware registers and their functions. If such a document exists could you please let me know where I can download it.
I have been looking at include/Drivers/20737/adc_cs.h. It does refer to continuous ADC operation:
/// bit map definition for adc intf control register
enum
{
INTF_CTL_SAMPLE_READY = 0x1,
INTF_CTL_MODE_0_6P125KHZ = 0x0 ,
INTF_CTL_MODE_1_12P5KHZ = 0x1 ,
INTF_CTL_MODE_2_50KHZ = 0x2 ,
INTF_CTL_MODE_3_100KHZ = 0x3 ,
INTF_CTL_MODE_4_200KHZ = 0x4 ,
INTF_CTL_ADC_DITHER_DIABLE = 0x1,
INTF_CTL_ADC_NOTCH_FREQUENCY_DC = 0x1,
INTF_CTL_ADC_SAMPLE_ONE_SHOT = 0x1,
INTF_CTL_ADC_SAMPLE_CONTINUOUS = 0x1,
INTF_CTL_START_ADC = 0x1,
};
I am OK writing my own low-level HAL/drivers. I have done that for other platforms. Any additional documentation would be greatly appreciated.
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Michael,
If you go below the 12.5ms SW Timer then you may not meet the BLE timing spec.
sub-ms resolution is not possible.
There is a HW_timer patch but less 5ms you may not meet the timing.
Hope this helps.
JT