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.

ADS1278 frame-sync protocol and synchronization

Other Parts Discussed in Thread: LM3S6965, ADS1278, ADS8365, ADS8556, ADS8361, ADS7953

I've just decided to use the ADS1278 for a general A/D module together with a Stellaris Cortex M3 (LM3S6965). I just ordered the ADS1278-EVM to get kick started, but I can't wait for it to arrive before getting answers to a few questions:

1. Protocol

Guess i'm pretty new to the frame-sync protocol, while I haven't interfaced too many ADCs in my days (although a load of other circuits). I figure I need to use the frame-sync protocol, since I'm planning on squeezing the highest sample rates available from the chip (where SPI isn't available, as far as I understand). I've looked around, and I can't find a more explicit definition of the protocol than in the device datasheet. Is there an appnote, or such, where I can find more details of the frame-sync features? Any hints on how to implement frame-sync-protocol on a Cortex M3? Is it a go to start with hardware SSI module, or am I rather going for interrupt-driven bit-banging?

2. Synchronization

In one application, I need to synchronize sampling to external events (<= 54 kHz), rather than to fixed time. After reading through the device datasheet a couple of times, the best solution I figure would be to clock the ADC with a high constant clock rate (f_clk), and keep pulling ^SYNC-pin to get the samples done at the right moment. HOWEVER, what I can't really figure out is the sync. timing, although plenty of graphs tell me the numbers in the datasheet (page 28). Will it really take up to 129 conversions between one synchronized sample and the time I can read the data? Does this mean that I can only sample the best of one 129th of the maximum rate if I'm going for synchronized event sampling? I really hope I have gotten this interpretation wrong, perhaps does it mean 129 t_clk's, which would more correspond to half normal sampling period?

 

Thanks in advance for replies!
- Stefan 

  • Hi Stefan,

    Frame Sync mode in the ADS1278 is geared towards the TI DSP interface described as the Multi Channel Buffered Serial Port (McBSP), click the link and it will take you to a document describing the peripheral on the TMS320C6000 series Digital Signal Processors.  The Cortex M3 from Stellaris (LM3S5956 maybe?) can use its SSI like the Frame Sync mode described in the document i linked you to, but you are limited to a 16-bit transfer, the ADS1278 has a 24-bit data word, so it may need a bit banged approach to work .  That will slow down your throughput I'm afraid.

    On the synchronization, it is conversions not clocks.  What sort of signal is it that you are trying to capture?  Would your design be better off using a SAR (successive approximation register) type converter?

     

  • Thank you for your reply, Tom.

    It's now obvious for me that the architecture for delta-sigma does not really allow synchronizing on external events like i need in some applications. What I have in mind is to capture an array of sensor signals and synchronize on the (circular) position on rotating machines, which can give pulses up to 54 kHz at the highest speeds. 

    Instead, I found a SAR-based ADC, ADS8365, which is good enough for my application. I will probably need more than one module anyway, considering the number of data channels present. 

    But then again, electrical communication interface! ADS8365 has a parallel interface, which is, well, fast. But it doesn't really rime with the hardware support in the processor I'm using. If I'm short on pins, what can I do? I can't really find a really fast serial-to-parallel I/O expander among TI's products. How about always offering a 4-wire serial interface as an alternative (SPI-like), like many of your competitors do? 

     

    Thanks
    Stefan

  • Hi Stefan,

    The ADS1278 can be synchronized to an external trigger, its just that the delta-sigma architecture does not lend itself to taking 'snap shot' type samples.  If you need to have a triggered sample that captures an instant it time, the SAR is usually the preferred architecture for that type of application.

    The ADS8556 is a varient of the ADS8365 that has a wider input voltage range and does offer an SPI interface, so this might be one option.  The ADS8361 offers 4 channels with 16-bit resolution at 125ksps/channel using a single serial port.  Those parts can operate with an SPI interface if that is a requirement for your system - check out this app note for an example on how to work that.  If you can live with 12-bits, the ADS7953 might work out as well.  That device has 16-channels with a 1Msps sample rate max.  You can cycle through all 16 channels at  62.5ksps per channel.

  • Tom,

    Your suggestions are very interesting. Thank you for this valuable input!

     

    - Stefan