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.

ADS8509: ADC that can send its data as spi Master.

Part Number: ADS8509
Other Parts Discussed in Thread: ADS8681, ADS8695, ADS8685, ADS8691, ADS8900B, ADS8902B

Dear Specialists,

we are using the ADS8509 with its internal clock, sendig its data via spi as master to the MPU (that is slave), initiated by a start signal from the process.
That works fine (in conjunction with the peripheral DMA controller and Linux on the MPU).

Now we are looking for an ADC with higher resolution (and same or more speed). There is not much choice, but the ADS890x looks good.
The problem is, that it seems, that this adc can not send as a master. 

Is there any option to get the data into the memory of the MPU (SAM9260) without one interrupt per data sample?
I fear one interrupt per sample (at 250KHz) would slow down the MPU to death.

Thank you
Marco

  • Hello Marco,

    Welcome to E2E forum.

    Since ADS8509 you are using supports +/-5 or +/-10V input, so I guess you still want to use a ADC with these high voltage input ranges.

    multiSPI™ Interface on our latest ADCs can meet your requirement as a master. ADS8681 supports 9 bipolar and unipolar ranges and 1Msps sampling rate, very important point is, ADS8681 has multiSPI™ Interface and supports Source-Synchronous(SRC) mode except all regular SPI modes, the SRC mode supports an ADC master clock or source-synchronous of data transfer and the ADC provides an output clock on the RVS pin that is synchronous with the output data. Please check the detail from the web link:

    www.ti.com/.../ADS8681

    Except ADS8681, we also have 18 bit ADS8691(1Msps), ADS8695(500ksps) and 16 bit ADS8685(500ksps) ADC in this family. Please let me know if you have more questions, thanks.

    Best regards

    Dale

  • Dear Dale,

    thank you for the fast response.

    the 10V input is not important for us, +/-5V are enough. More important is the resolution: 18bit are more than the 16 that we use now, but 20bit would be much better.
    In the description of the ADS8691 I have seen the data clock output (for spi master) on the RVS pin. The 20bit converter ADS890x has this RVS pin too, but the description does not describe the clock output there.
    Is there an option to get 20bits (with 500ksps) with spi master?

    Thank you
    Marco
  • Hello Marco,

    You can use ADS8902B(20Bit/500ksps) or ADS8900B(20Bit/1Msps), both ADCs support ADC-Clock-Master(Source-Synchronous) mode of operation, the clock source can be selected by Bit 7-6 (SSYNC_CLK_SEL) of SDO_CNTL register, either external SCLK or Internal clock can be selected. For your case, ADC's internal clock should be selected as the clock source for the ADC-Clock-Master mode which will be presented on the RVS pin. Also, the clock frequency can be selected by SDO_CNTL register as INTCLK,INTCLK/2 or INTCLK/4. The conversion data will be shifted out to SDO according to this synchronous output clock on the RVS pin. Please check Figure 5, Figure 74 and Table 13 in the ADS890xB's datasheet.

    Please let me know if you have further question, thanks.

    Best regards

    Dale

  • Dear Dale,

    unfortunately I don't have the option to write control registers (that was not necessary with the ADS8509, which is currently used). Is there a way to get these ADCs into spi-master mode without writing control registers?

    Thank you
    Marco
  • Hello Marco,
    The default clock source on ADS8902B and ADS8900B is external SCLK, so writing internal registers is necessary to use internal clock as a mater mode. Thanks.
    Best regards
    Dale