Part Number: ADS1256
I have ADS 1256 development board and trying to interface with STM32F446ZE using STM cube and SW4 (Eclipse based workspace).
sometimes i'm able to read the default values from the configuration registers only when i write specific data to the any of the register. I meant after the write command is sent. if i write the data (with LSB bit 1 in it) then i will get the default register value in response to the read command. if i write the data (with LSB bit 0 in it) then i will get the register value as 0x00 in response to the read command.
Also i'm not able to write the registers with any values. Here i have attached the SPI communication details captured with logic analyzer.
Welcome to the TI E2E Forums and thanks for sharing your logic analyzer screenshots!
I noticed that you are reading and writing to different registers, is that intentional, or did you mean to read back the value that you are trying to program?
Currently, you are sending the "0x54 0x00" command which writes to the "I/O" register, and when you send the "0x10 0x00" command bytes, you are reading from the "STATUS" register.
The WREG command is being ignored because the "I/O" register does not allow you to write to the lower nibble bits when the upper nibble bits are all set to "0". Please refer to the I/O register description below:
Your RREG command is currently only reading the STATUS register. The first result of "0x31" seems valid. Do note that the LSB of this register follows the state of the /DRDY pin, so it may differ between consecutive readings; however, you should still see the same values in the upper nibble. In your second reading it looks like the ADS1256 is not responding to the RREG command. Is it possible that perhaps either the /RESET or /PWDN pins was set low, or for another device on the same SPI bus to also be active during this time? If not, do you see a regular /DRDY pulse on the ADS1256 to indicate that it is active?
One last and important recommendation... Make sure to send the SDATAC command before you read or write to the device registers. If you are in RDATAC mode, then this device might ignore the RREG and WREG commands. I would recommend sending the SDATAC command first thing to ensure that you are not in the RDATAC mode.
Christopher HallApplications Engineer | Precision Delta-Sigma Converters
Check out our helpful resources:TI Precision Data Converters | TI Precision Labs - ADCs | Analog Engineer's Calculator | Data Converters Learning Center | Selection Guide
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 Christopher Hall:
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. 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 respect to these materials. 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.