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.

ADS8329: Manual trigger ADS8329 using MSP432e401Y SSI port's FSS signal

Part Number: ADS8329
Other Parts Discussed in Thread: MSP432E401Y

Tool/software:

Hi there,

I am using a MSP432E401Y and an ADS8329 to sample a baseband signal. The SSI port of the MSP432 is used to read the conversion result. A GPIO pin PF5 is used as the trigger signal to trigger each ADC conversion. 

The issue is when I clear the pint PF5 and then set the PF5 to trigger the ADC and then read the results. I get a large delay between two reading frames, and the ADC sampling period is about 2us (the scope result can be found in this link - https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1427196/msp432e401y-msp432e401y-ssidataget-delay/5473065#5473065).

This is much larger than the desired 1us conversion period (1MHz sampling rate), and I want to get a higher conversion rate. May I use the SSI port's FSS signal as the ADS8329's /CONVST signal? This way, I do not need to clear and then set PF4, and I will save some time to get a faster conversion. 

Thanks a lot,

Zhonghai            

  • Hi Zhonghai,

    May I use the SSI port's FSS signal as the ADS8329's /CONVST signal?

    I have forwarded your question to our ADS8329 experts to confirm the above question. 

  • Hi Charles,

    Thank you very much. 

    Zhonghai

  • Zhonghai,

    From what I see of the FSS, it looks to me like that would be most appropriately used as FS/CS on the ADS8329.  Please refer to Figure 1 in the ADS8329 datasheet.  The CONVST triggers the beginning of the conversion period and once that completes, pin 4 (EOC/INT) goes active signaling the MSP432 to begin data transfer.  Can you use a timer output for the CONVST instead?  Then use EOC/INT to fire an interrupt on the MSP432 to collect the 16-bit conversion result.

  • Hi Tom,

    With the current configuration (PF5 acts as the trigger signal), I can get about 2us ADC sampling time (500kHz sampling rate).

    The current code is as follows.   

      for (i=0; i<15; i++)
    {
    // manual trigger a sampling, /CONVST low for at least 40ns
    GPIOPinWrite ( GPIO_PORTF_BASE, GPIO_PIN_4, 0 );
    SSIDataPut(SSI0_BASE,i);
    SSIDataGet(SSI0_BASE, &sample_data[i]);
    GPIOPinWrite ( GPIO_PORTF_BASE, GPIO_PIN_4, GPIO_PIN_4 );
    while(SSIBusy(SSI0_BASE))
    { }
    }   

    If I use a timer to trigger ADC and an interrupt to read the result, can I get a higher sampling rate?

    Thanks a lot,

    Zhonghai

  • That's a question better answered by Charles.  In my opinion, if you can set the timer (or PWM) to trigger at your desired sample rate, as long as you get the 16-bit conversion result transmitted before the next interrupt, you should be good!

  • Hi ,

    Tom suggested me to use a timer to trigger the ADC and an interrupt to read the ADS8329 result. 

    e2e.ti.com/.../5475101

    Do you have an estimation on the time (how many microseconds) an interrupt will use? 

    In the interrupt, there will be only the following codes.

    SSIDataPut(SSI0_BASE,i);
    SSIDataGet(SSI0_BASE, &sample_data[i]);
    while(SSIBusy(SSI0_BASE))
    { }

    Thank you very much,

    Zhonghai

  • Hi Zhonghai,

      I agree with Tom that you can use a timer to generate an timeout interrupt at your desire sampling rate. In the interrupt ISR, you can do your SSIDataGet(). I don't have the precise timing information as to when the ISR is entered after a timer is timeout. But for M4 processor, the interrupt latency is generally very short, in about a few cycles. Since you are sending/receiving SPI data in the ISR, I don't think you need to poll for the SSIBusy flag. Why don't you give it a try and let me know what happens. 

      I want to also give you a heads up that I will be OOO for a week. Please expect delay in my future response.