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.

TM4C129DNCPDT: How to read Parallel SPI data from ADS9224R by TM4C129

Part Number: TM4C129DNCPDT
Other Parts Discussed in Thread: ADS9224R, , EK-TM4C1294XL

Hi, 

 My SPI/SSI is working perfectly but i am unable to read parallel data from ADS9224R ADC module.

 I am using TM4C129DNCPDT and Tivaware driverlib. 

Schematic 

  

Data communication between TM4C129DNCPDT and ADS9224R

From Channel 2 and Channel 3 we are sure that parallel data is coming from ADS9224R IC.

I am able to read MISOA(SSI0XDAT1) using SSIDataGet(SSI0_BASE, &adca). But how to read MISOB(SSI0XDAT2)??

Regards,

Sumit Chaulya

  • Hi,

      Are you trying to interface with ADS9224R in single data rate or double data rate? If you are trying to interface with ADS9224R using Single Data Rate (SPI-xy-D-SDR) then TM4C129 can support it using SSI module's bi-SSI function. Please refer to the datasheet for details on Bi-SSI capability. Note the bi-SSI is merely to increase the bandwidth by double. For example, reading a 16-bit data would normally takes 16 SPI cycles in legacy SPI mode. In Advanced bi-SSI mode, you would read two bits at at time and reduce the number of SPI cycles to 8. TM4C129 cannot read two independent ADS9224R channels in parallel (Double data rate). Your schematic connection seems to suggest reading from MISOA and MISOB in parallel as in reading two independent channels. This is something TM4C129 cannot support. 

      For bi-SSI you can refer to C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\ssi_quad_mode. This is a quad-SSI example. You can easily adapt to bi-SSI if all you need to is to read 2 bits at a time from one given ADC channel. 

  • Hi, Charles. 

              Thanks for your reply. Charles i need one small help from you.

              IS THERE ANY OPTION TO READ(ADS9224R) TWO ADC CHANNEL CH_A AND CH_B BY ONE SPI(ONE MISO) LINE??

    Thanks and Regards,

    Sumit 

  • Hi Sumit,

    As I explained before, a TM4C129 SSI module cannot read two different ADS9224R channels in parallel. This is like having two SSI modules reading two devices at the same time. With that said, I see one possible option that you may explore. Configure SSI module in bi-SSI mode as if you are reading one ADC channel but two bits at the time. Configure ADS9224R for SPI-01-S-DDR mode. In bi-SSI mode, MCU does not know if you are reading two channels one bit at a time or one channel two bits at a time. After you complete the SPI read transaction, the processor needs to process the received data as to extract data for channel A and channel B. 

  • Hi, Charles. 

              Thanks for your reply. We have following questions,

    1. Can we able to receive full data bits using the above suggest method? Since Bi-SSI mode support only 8 bits/channel and the ADC will have two 16 bit outputs simultaneous data outputs. Channel-A 16 bits and channel-B 16 bits.

    2. We have connected SSI0XDAT1 to channel-A of ADC and SSI0XDAT2 to channel-B of ADC. Is bi-SPI mode supports data on SSI0XDAT2? 

    3.Is is Possible in ADC(ADS9224R) side to push two ADC channel data into one output MISO channel?

    Thanks and Regards

    Sumit 

  • Hi,

    1. Can we able to receive full data bits using the above suggest method? Since Bi-SSI mode support only 8 bits/channel and the ADC will have two 16 bit outputs simultaneous data outputs. Channel-A 16 bits and channel-B 16 bits.

    You will need to carry out two bi-SSI transactions. 

    2. We have connected SSI0XDAT1 to channel-A of ADC and SSI0XDAT2 to channel-B of ADC. Is bi-SPI mode supports data on SSI0XDAT2? 

    Why are you not using SSI0XDAT0 and SSI0DATA1? SSI0DATA2 is not used in Bi-SSI mode. It is only used in Quad-SSI mode. 

    17.3.3 Advanced, Bi- and Quad- SSI Function
    Bi-SSI uses two data pins, SSInXDAT0 and SSInXDAT1, that can be configured to receive or
    transmit data. In Quad-SSI mode, SSInXDAT0, SSInXDAT1, SSInXDAT2 and SSInXDAT3 allow
    four bits of data to be received or transmitted at once. Note that in bi- and quad-SSI data transfers
    are only half-duplex

    3.Is is Possible in ADC(ADS9224R) side to push two ADC channel data into one output MISO channel?

    I don't think so. With that said, this is more a question for the converter forum. Please post a new question with the part number ADS9224R so the experts there can assist your question. But from my understanding, it is not possible to push two ADC channel data onto one MISO pin.