SPI Interface & TI Eval kit

Hi,

Can I just double check, which are the pins that I need to connect to between an Arduino UNo to ADS1299 to communicate via SPI interface?

Comments

  • wjcroftwjcroft Mount Shasta, CA
    See the 'Technology' tab for the V2 schematic pdf download. Holy cow, there are even <a href="http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=117919&start=0">TQFP 64 breakout boards</a> that bypass needing super nimble fingers to do surface mount soldering. Didnt realize that until just now(!)
  • wjcroftwjcroft Mount Shasta, CA
    This is the <a href="http://www.ebay.com/itm/LQFP64-TQFP64-QFP64-10x10-mm-0-5Pitch-IC-Program-Programmer-Programming-Adapter-/261012717510">.5 mm pitch adapter</a> I was referring to. Converts the TI EEG chip ADS1299 to DIP spacing, without needing to have surface mount soldering skills at .5 mm pitch. (Which is considerable skill!)
  • Looking in our OpenBCI code for Arduino, specifically in ADS1299_Manager.h, the Arduino pins being used are:

    <pre><code>/* Arduino Uno - Pin Assignments
    SCK = 13
    MISO = 12
    MOSI = 11
    CS = 10;
    RESET = 9;
    DRDY = 8;
    */
    #define PIN_DRDY (8)
    #define PIN_RST (9)
    #define PIN_CS (10)
    #define SCK_MHZ (4)</code></pre>



    Chip
  • Hi,

    What about the pins at the ADS1299 side?


    Inez
  • wjcroftwjcroft Mount Shasta, CA
    Inez & Chip, hi. Isn't this information on the upper right blocks of the ADS_V2-2-Sch.pdf schematic? The <strong>Arduino Shield Template</strong> pin signal assignments exactly match what Chip mentioned previously from the code comments and defines.

    Then on the <strong>Digital Isolation</strong> schematic section to the right of that, the underscore prefixed pins from the Arduino shield block are mapped into pin names that can be found connected to the ADS1299 TQFP on the schematic (see lower right of ADS1299). Seems straightforward...
  • Hi,

    Yup, I saw that... But as im connecting it to the Evaluation board, I dont have direct access to those pins on the ADS1299 chip, rather, is to the J2 pins on the module. http://www.ti.com/lit/ug/slau443/slau443.pdf

    On page 16, it gave me the J2 pins that I can connect to. I am wondering about the SCLK clock line. Which pin should I connect on the board? Is it SCL? But i thought SCL is for I2C interface? There are several other clock lines too. Also there are 2 CS lines...
  • wjcroftwjcroft Mount Shasta, CA
    Inez, have you seen <a href="http://www.mccauslandcenter.sc.edu/CRNL/tools/ads1298">this page</a> where they connect an Arduino to a TI Eval board? There is also a zip download on that page.
  • Hi,

    Thanks for sharing the resource. It is mentioned there that since we need 3.3 V, we can only use Arduino Due? Is it true? I cannot use UNO? What if I use a logic shifter to convert 5V to 3.3V?

    Looking forward to hear from you.

    Inez
  • I've used the OpenBCI V1 and V2 boards only with the Arduino UNO.

    Joel Murphy has used it with the Due.

    So, you can use either 5V or 3.3V systems.

    Chip
  • Hi Chip,

    I see... And all examples worked perfectly fine for you? Did you use any logic shifter, or just connect it directly?

    The thing is I am not using the OpenBCI v1 and v2 board, but rather, the evaluation module for ADS1299 produced by TI... It should work the same right?
  • OpenBCI plugs right into an Arduino board directly. No level-shifters because all of the that is taken care of by the electrical isolation ICs that we included in the design. Plug the OpenBCI board into the Arduino and go.

    As for the TI eval module...I can't speak for that. I have one, but I almost never work with it...it's just way too cumbersome compared to the OpenBCI board. So, I don't know whether the TI board is 5V tolerant or not. Sorry.

    Chip

  • I see... thing is actually I plan to connect to FPGA not Arduino later... Will the OpenBCI board work as well?

    Also, I just tried your code on your sandbox on Streaming Raw Data. Why is it that when I have nothing connected, and I just print the register values, the values keep changing? Isn't it supposed to remain constant?

    Inez
  • I don't know anything about FPGAs. Sorry.

    If you're using my code, do you have an OpenBCI board? Which version...V1 (green) or V2 (white)?

    Chip
  • Hi Chip,

    No, Im not using the OpenBCI board... am using the TI evaluation module...

    Inez
  • Oh yeah, you'd said that. Sorry.

    Unfortunately, I can't speak at all for how my code on the Arduino might interact with the TI dev kit...so I'm not going to be much help.

    In my limited experience with the TI Dev Kit, it seems to reset itself every time that you use the TI software to get a block of EEG data. If you're using your own software instead of the TI software, and if the register settings are changing unexpectedly, the dev kit hardware could be resetting the ADS1299 with every call, which would cause the register values to change when you don't expect it. If so, that would indeed be pretty annoying.

    Also, the TI Dev Kit might not be 5V tolerant, so if you're using an Arduino to control the dev kit somehow, the 5V signals from the Arduino might be corrupting (or damaging) the Dev Kit. Either situation could result in unexpected changes to the register settings. Hopefully it's not damaged.

    Like I said, my experience is with OpenBCI, so I can't really help you debug your work with the TI Dev Kit. Sorry.

    Chip
  • Hi Chip,

    Thank you for your explanation.. It seems plausible. I am not using the software that came with the TI though, but rather, I am using one of the codes from your sandbox. The Stream raw data.. But yea, the register value seems to keep on changing.

    Would really love to hear other thoughts of those out there who have tried the TI eval module..

    Thanks!

    Inez
  • Just realized something, what am I supposed to do with pin 4?
  • why is it also that my device ID is 0x00?
  • I have same issue, and getting device ID 0x00 did you fix it?
  • Inez- I am having the same problems you were facing. Did you find any solutions you may recommend?
  • biomurphbiomurph Brooklyn, NY
    Hi, 

    if you're interfacing the ADS1299 dev module with an Arduino, you will need to use a level shifter of some kind if you are using an Arduino that runs on 5V.
    ADS1299 cannot handle more than 3.3V on the Digital side...

    @inez_wihardjo  What do you mean by pin 4?
Sign In or Register to comment.