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,
I have a new project where I need to interface TI ADC chip ADS1278. This is a 24bits Analog to Digital converter chip that has 8 input and and 8 Data Output lines. The 8 DOUT lines are serial SPI OUT with a Single shared CLK signal.
In order to communicate with the Chip, I will have to use 8 SPI ports that should share same clock line of the chip. The ADC chip will be Salve to the uController. The ADC provides an Interrupt output that uContoller can use to start collecting the ADC data on all 8 DOUT lines. However, I am not sure how will can the uController collect data because of the fact all 8 channels of the ADC will be transferring DATA synchronously on the 8 SPI-DOUT pins of the ADC Chip.
Alternatively, If I explain the same problem, Imagine uController is waiting on an Input Interrupt line. When Interrupt occurs, the uController needs to collect data on 8 SPI MISO lines such that the SPI CLOCK is shared and the DATA on all 8 SPI-MISO lines are clocked simultaneously with the common CLOCK line.
I thank you in advance for your help.
Regards,
Sahil
I think you'll find this model difficult. The first challenge is that the TM4C129E has only 4x SSI units [Ref data sheet (SPMS441B) Table 1-1]. The second will be trying to get all the masters to run (in synch) from one clock.
I suspect you'll have an easier time using TDM mode (FORMAT=001 per SBAS367F Table 14), where all the data comes out on DOUT1, and only needs 1x SSI.
Hello Sahil,
I agree with Bruce. To try and do this in Discrete Mode is not possible for TM4C. Use TDM mode and then you will have no issues as you just need one SSI port.
Best Regards,
Ralph Jacobi
Hi,
Thank you for your replies.
One more question, The ADC chip requires a CLK input. I have not used PWM in MHz range. Instead of diving into the datasheet of the uController. Could you please answer if the uController can provide PWM at around 10MHz output that I will use to supply the CLK pin of the ADC chip.
Please suggest any other alternative as well if any.
Regards,
Sahil
Hi Sahil,
That is no issue, the PWM clock can be sourced from the system clock so you can give it a source clock of up to 60MHz to start and then set your PWM period & pulse width from there.
Best Regards,
Ralph Jacobi
I don't know if it is worth the effort, but you could use the four SSI modules configured in advanced bi mode. One would be the master and the other three would be slaves. You route the master clock output to the ADC and to the three slave clock input pins. You attach SSInXDAT0 and SSInXDAT1 of each SSI module to one of the 8 ADC outputs. You would then do two 8-bit SSI reads (on the master and each of the three slaves) to read 8-bits from the 8 ADC lines. The problem is that the data from two ADC outputs will be merged into the two bytes read by each SSI. It will take a fair amount of CPU cycles to separate the data back into 8 individual ADC channels, so may not be worth it.