Part Number: ADS1256EVM-PDK
I am looking for the C code (or any programming language) running on the C55x DSP on the MMB0 board. I am familiar with the C55x DSP and CCS. I just need the source code and the project that contains the code that initialize the ADC.
I plan to use the ADS1256EVM board in a tester. I have implementing SPI code interface to the ADS1256 via the EVM board J2 connector. Enclosed is the wave form as I issue to reset the device. top 5 signals in white are digital waveform captured. Bottom 5 signals in blue are the same waveform in analog capture.
and below is the reset command done by the C55x on the MMB0 board
I don't know why after I issue the reset command, the DRDY (channel 7) continues to toggle. Also as I follow the same command sequence (captured on the logic analyzer) as the DSP initializes the ADC, I did not get back the same response. I am using SPI mode 1 (CPOL=0, CPHA=1) as implies in the ADS1256 datasheet page 6, figure 1. I tried SPI mode 0 also but I am not able to setup the ADC. I hope that the source code will shed some light on this.
I also looked for the ADS1256 programming guide of application notes (from a processor's perspective) and I could not find any. Please point me to the URL if these technical artifacts exist.
FYI, none of the images you posted in the last email came through. Can you repost?
To clarify, are you looking for the EVM source code, or just ADS1256 code in general? We don't have any code to share for the ADS1256 unfortunately, but there is code on the web you might be able to find e.g. https://github.com/adienakhmad/ADS1256. Note that TI cannot verify the usefulness, etc., of this third-party code.
Also note that TI does not recommend or support using our EVMs in an end-product or design. These boards are intended to evaluate the operation of our devices only.
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Bryan Lizon86:
Thank you for your reply. I plan to use the ADS1256 EVM to implement an internal engineering test equipment. The EVM is not intended to use in a customer product. It is just a quick way for me to use this device without building the board. The goal is to program in Python which runs on an Adafruit FT323H (or a similar board: Arduino Nano) to control the ADS1256.
The examples code you mention on github only shows basic commands implementation but it does not show how to setup the device uses in different modes. The reason I asked for the C55x code on the EVM is because I am vary familiar with this DSP as well as TI method in writing C code for this processor. I was hoping to read it and convert it to Python code.
Anyway, I reverse engineer the command sequences that the DSP on the EVM kit sends to the ADS1256 upon initialization. I captured the SPI waveform using the Saleae Logic Analyzer (which requires its software to read the waveform). I save the waveform data to CSV file and then convert it to the XLS and use it to do command sequence analysis. This is the same sequence I use to map it to the Python code running on the Adafruit FT323H. I was able to configure the ADS1256 in non-buffered mode and read out the ADC converted value. Enclosed is the XLS file for other people to use.
I have 3 questions:
1. Please confirm that the ADS1256 uses SPI mode 1 : write data and read data on the CLK trailing edge (falling edge).
2. My problem now is to change the ADS to a buffered mode as well as the offset and gain value. When I use the ADCPro to enable Buffer mode, then captured the SPI waveform on the logic analyzer:
3-byte command (0x50, 0x00, 0x03) then follow on with three separate commands (0xFC), (0x00), (0xF0). The DSP did not read back what it wrote.
In using ADCPro to test the ADS1256, any voltage above 3.8V resulted in saturate at 3.8V but the spec (SBAS288K − REVISED SEPTEMBER 2013), figute 7, page 15 indicates that it hsould be clamped at 3V. What should I expect?
3. In my setup using Python and Adafruit FT232H, I generate the similar sequence with similar delay in between each commands. When I read back with command (0x10, 0x00) what I get on the read value is 0xFF.
What should I expect to see when I read back the Status register? Enclosed is the timing captured.
In reply to Sy Tran:
Thanks for your additional info, here are the answers to your questions:
Make sure to send the "SDATAC" before reading or writing to registers on the ADS1256. If the device is in RDATAC mode it will ignore these commands. After power-up, I generally recommend sending the "RESET" and "SDATAC" commands first, and then proceeding to configure the registers through register writes
Let me know if any of these answers help resolve your issues
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.