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.

ADS1293EVM: Connect MCU to EVM's SPI probe, so MCU can read ECG data stream

Part Number: ADS1293EVM
Other Parts Discussed in Thread: ADS1293

I am working with the EVM as instructed by the user guide (SNAU138 Rev. B). As is, I am able to connect an ECG simulator to the ADS, click 'Run' to measure the data, and see its signal - no problems.

But if I connect an external MCU (Nordic nRF5340DK) to the EVM's J2 (SPI Probe), then try clicking 'Run' on the ADS software, it does not work anymore; I get the error "Capture Data Failed, possible reason : Capture thread timed out not getting any new data, time out: 10 sec Will cancel the capture ...". I've noticed the other following symptoms:

  • Even if the MCU is powered off (but connected), the software will report the same error
  • Disconnecting the MCU fixes the issue and it will run normally again
  • When connecting a logic analyzer to the SPI pins (and while the MCU is still connected but powered off):
    • When I click 'Run', I see register writes on the EVM's SDI pin (0x01 0x11, 0x02 0x19, 0x06 0x00, ... 0x2F 0x30, 0x00 0x01). These don't seem to change whether I connect the MCU or not.
    • After this, I see either no activity or only 1 response to 0xD0. When I do get a response, the bytes are all 0x00.
      • I still need to find out what conditions cause it to sometimes do one or the other.
    • Then there's nothing on the SPI lines until I close the error on the ADS software.

To clarify, I am not trying to program the ADS with the MCU. I just simply want the MCU to read the data on the SPI lines.

Setup Info:

  • ADS1293 software (on Windows 10 machine)
  • jumpers at EVM JP2 & JP3
  • 3-lead configuration
  • external MCU is Nordic nRF5340 DK

EDIT1: Also discovered, when I disconnect the MCU but use those jumper wires and connect them to a breadboard instead, that the software also reports the same error.

  • (OP replying here) Could it be that the MCU adds impedance to the SPI lines i.e., perhaps J2 is not meant to handle situations like mine?

    So far the only thing I found that could possibly deal with this is register 0x1F (DIGO_STRENGTH; digital output drive strength). But I cannot seem to find in the ADS software where I can read/write that register.

  • (OP replying here) Tried another method where I "disable" the MSP on the EVM. I did so by pulling down the MSP's RST line (put jumper wire connecting J6 JTAG pins 9 and 11). This seems to do the trick (computer and software doesn't recognize the EVM when I connect USB anymore) but now I'm working on writing MCU code to write as well as read from the ADS.

    The rest of this is quite experimental, but I then proceeded to try the following:

    • Start w/ EVM "intact" (no jumper on JTAG; MSP enabled)
    • Connect EVM to computer via USB
    • Open ADS software (which detects device and starts writing/reading registers)
    • Disable MSP w/ jumper method described above
      • I'm assuming, while MSP is disabled, that ADS is still active/running because it's still receiving power from USB. May not be the case, though.
    • Connect MCU and have it simply read register 0x18
      • But I read back 0xFF (whereas the EVM in the normal setup returns 0x00 for no errors).

    While I'm debugging the 0xFF, the main questions I had were:

    • Does disabling the MSP like that work (in general, and/or for my particular use case)?
    • Would the ADS turn off and "lose its settings in the registers" in the process I described above?
  • Hello Andy,

    Unfortunately we cannot provide much support when it comes to making customizations to our EVM software or hardware.

  • Determined that connecting J6 JTAG pins 9 and 11 together, while keeping the EVM powered by USB, will work. I also don't need to "start the EVM intact" and then add the jumper; I can add the jumper before powering the EVM up and it still works.

    The ADS is still active as well. But now that the MSP is disabled, my MCU has to do more than simply reading data; it would have to configure the ADS, request data from it, etc (basically like how a normal SPI connection is).