This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
We want to use Analog Devices 18 bits ADC i.e. AD7609 interfaced with the ucontroller via SPI port. Since the ADC has 8 analog input channels that means a total of 144 clocks will be required to collect data.
However I am not sure how can I send 18 clocks to collect Ch 0 data first and then send another 18 clocks to collect Ch 1 data and so on...
Any suggestion ?
Also If TI can recommend any High precession measurement 24 bit ADC with 8 channels with internal OSC, sampling speed > 32kSPS and can easily communicate with Tm4C uControllers via SPI port ?
Thanks and Regards
Sahil
Hi,
You can configure the char size to 9 bit. You will need to use a GPIO pin as the CS pin to your ADC device. You have full control on when to assert and de-assert the CS pin.
There is also a feature in SSI(SPI) module called Frame hold feature when the SSI is configured for Advance mode that you might be able to use. You can use the SSI Frame Hold feature to hold the CS low for two 9-bit transfers. After the two 9-bits transactions, the CS will be de-asserted. I have not tried this method on two 9-bit frames. I think using GPIO will be easier and robust.
To use the Frame hold feature, see the below API and also refer to the datasheet for details. There is a example that uses the advance hold feature that is in C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\ssi_quad_mode\ssi_quad_mode.c file.
As far as 24-bit ADC recommendation, please raise a new ticket specifying which ADC you are interested so our Converter forum experts can better assist you. Here is the Data Converter product page. https://www.ti.com/data-converters/adc-circuit/high-speed/products.html
Please specify 9 bit as the datawidth when you call SSIConfigSetExpClk() to configure the module.
The ui32DataWidth parameter defines the width of the data transfers and can be a value between
4 and 16, inclusive.