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.

ADS7953: ADS7953 SPI Auto-1 mode Configure

Part Number: ADS7953

Hi Team,

My customer is using ADS7953 in their design. And they want to configure it as Auto-1 mode using SPI. Can you provide some code example?

Regards!
Yangbo

  • Yangbo,

    I am sorry that I do not have a ready code to share with you, but this device is fairly easy to configure.

    Fig 52 of the ADS7953 datasheet describes the steps involved in programming the device for Auto-1 Channel-sequencing mode.

    Let us assume that the customer is interested in configuring the device to capture data from Channels 1,3 and 5, in Range 2 and with GPIO0 as output high

    Here is the sequence of commands to send over the SDO to configure the device:

    >> wr 0x4200 // Device resets all registers in the next CS frame to the reset states (it also resets itself).

    >> wr 0x4001 // Configure GPIO0 as a general purpose output

    >> wr 0x8000 // Program Register for Auto-1 Frame 1

    >> wr 0x002A // Program Register for Auto-1 Frame 2, to select channels Ch1,Ch3 and Ch5

    >> wr 0x2C40 // Enable Auto-1 Mode, counter set to lower programmed channel (Ch1), Select Range 2 operation

    >> wr 0x2841 // Stay in Auto-1 Mode, enable increment counter, Range 2 operation and GPIO set as output high

    The device is now configured and these setting can be retained by driving SDI low. The channel selection will cycle through the 3 channels with each subsequent frame.

     

    Hope this helps. Do let me know if you need any clarifications on this.

    Thanks.

     

    Regards,

    Sandeep

  • Thanks for your replay.

    I follow your instruction give the  below instruction to configure the divice

    //we dont use GPIO, so omit the instruction of 0x4200  and 0x4001

    >> wr 0x8000 // Program Register for Auto-1 Frame 1

    >> wr 0xFFFF // Program Register for Auto-1 Frame 2, to select all 16 channles

    >> wr 0x2C00 // Enable Auto-1 Mode, counter set to lower programmed channel (Ch1)

    >> wr 0x2841 // Stay in Auto-1 Mode, enable increment counter, Range 2 operation and GPIO set as output high

    >> wr 0x000 all

    give the instructions above  it only give the result of CH15,   oscilloscope display

  • CH1:SDI  CH2:SDO  CH3:CLK  CH4:/cs

  • anothe question: In Figure 51, every frame SDI : Programming for ‘frame n+1’ DI15..12 = 0010, is this a necessary configer ? thank you
  • As is shown in Table 7 in the datasheet, to stay in Auto-1 mode, write 0x0000 instead of 0x2841.

    And what do you mean by driving SDI low?

    Thanks a lot!

    Regards!

    Yangbo

  • Yangbo,

    You could stay in a given mode by either reprogramming the bits for that mode in every frame or by writing 0x0000 as mentioned in Table 7. By "driving SDI low" I meant writing 0x0000 for no change, as you have correctly mentioned.

    Regards,

    Sandeep

  • Tobby,

    Your register write sequence is correct.

    I would have made two small modifications and written the following:

    >> wr 0x4200 >> wr 0x8000 >> wr 0xFFFF >> wr 0x2C00 >> wr 0x2840 >> wr 0x000 >> wr 0x000 >>..

    The 0x4200 ensure that all the device registers are reset after power-up and 0x2840 since you do not want to use the GPIOs.

    Please try this sequence. If this does not work we will have to look at the circuit design and timing more closely.

    1. Since you are writing 0x0000, the timing of SDI with respect to the SCLK is not clear in your screen capture. Could you please share a screenshot when writing 0x4200?

    2. Could you share a circuit schematics for the section of the design related to the ADS7953

    Thanks.

    Regards,
    Sandeep
  • CH1:SDI  CH2:SDO  CH3:CLK   CH4:/CS

    We choose rising  edge to send data.

    The channel 1 data is 0x4200.

  • Tobby,

    This looks right.

    1. Did you try the same sequence after the 0x4200 register reset command ?

    2. Could you please share the schematics?

    Regards,

    Sandeep

  • Sandeep

    Tkanks for yours suggestion. The problem solved and the reason is configure timing , thanks
  • Tobby,

    Thank you for letting us know that you figured out the problem. Good luck with your design.

    Regards,
    Sandeep