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.

ADS7957: Set GPIOs per SPI command

Part Number: ADS7957

Hello,

my target is to set the ADS7957 IOs per SPI command. Problem: I can see the set output values neither on the SDO data (if this mode is selected), nor on the outputs.

I can confirm that the communication itself is working properly:

1)Power on Reset:

2)I set all GPIOs as output  Frame: 0x400F

3) switch to Auto1 mode with Mux Channel output on SDO[15..12]  Frame: 0x2800

==> I can see the channels being counted up (as expected)

Problem Case:

1)Power on Reset:

2)I set all GPIOs as output  Frame: 0x400F

3) switch to Auto1 mode with GPIO Channel output on SDO[15..12]  Frame: 0x281F (ALL GPIOS = 1) respectively Frame: 0x2810 (ALL GPIOS = 0)

4) sent permanently Auto1 steady mode Frame: 0x2000

==> There is no change in the signal level nor on the SDO data [15:12]

Could you please confirm that the initialisation messages are reasonable?

Is there any external circuitry that has to be foreseen for the GPIOs?

Thanks in advance for your time!

  • Hello Robert,
    I would suggest using a known DC value as the input to debug the device, this way you can compare the results to the expected results.
    I would also suggest acquiring scope shots of the digital communication to ensure that it is as exected.

    In the first set of steps, you configred the device for Auto 1 mode, and leave all the rest of the register setting s the same. Meaning you are using all the default conditions. note here you leave bit 4 as 0.

    In the second set, the problem case, you are now wanting to change the register setting and launch Auto 1 mode. Note here you change bit 4 to 1, where you will now be using the GPIOs. The device then outputs the GPI data on the SDO line. Table 11 in the datasheet can help break down the GPIO functionanilties.

    It also seems that you have not selected what channels to scan through. Once you are ready to, you can perform a Program Register setting, described on page 37 to select the channels to sample.

    To continue in this mode, the permanent command you are sending, x2000, is correct, if you do not want to change any more of the register setting for any of the channels sampled, for example range selection, and GPIO programming.

    Regards
    Cynthia