I've got a similar problem, where I can't recover from a SPI bus lock up.
I have a similar set up where the SPI bus is multiplexed to 3x ADS1282 via a CPLD.
If the microcontroller driving the SPI bus resets, the ADS1282 locks up and stops toggling the DRDY pin.
I have a hard pull-up on the ADS1282 RESET pin so am unable to toggle it without a hardware change.
When the ADS1282 locks up I can only get it to work again by cycling power to the board.
The data sheet suggests that I should be able to recover from a lock up by holding the SCLK low for 64 DRDY cycles.
I've tried holding the SCLK low for >300ms and and have checked that this period is clean and there are no glitches.
I then send a reset command, and try to read from the device, the device remains unresponsive, no DRDY and no data.
Is this a known issue? Do I need to modify my hardware so that I can toggle the RESET pin, or is there something else I can do to recover from the lock up?
Welcome to the e2e forum! I'm sorry to hear that you are also experiencing SPI lockout issues with the ADS1282. Can you please send along some screen shots of your communications interface (the SCLK, SDI, SDO, etc)? Do you have any idea why your micro might reset? If there is some sort of voltage brownout/droop that causes your CPU to reset, that might also cause problems with the ADS1282 and may explain why the SCLK reset is not working. Using the HW reset pin may help, but it might not get to the root cause of your issue.
We are deliberately resetting the microcontroller as part of our fault recovery testing. The power supplies to the ADCs are stable throughout the reset. The reset could occur at any time, including during an SPI transfer. It is also probably that the CLK input is unstable and interrupted during the reset.
When the microcontroller boots up, it holds the SCLK line low for 300ms in order to reset the SPI bus. It then sends a SDATAC and a RESET command via the SPI bus. The configuration registers are updated. When reading from the device, all registers read as zero. A RDATAC command is sent, but we do not get a DRDY signal.
I have modified one of our boards to allow the reset pin to be toggled; this does solve the problem, but is a very difficult and expensive solution as we have chosen to tie the reset pin high in our board layout.
I had assumed that once the SPI bus was freed, sending a RESET command would have the same effect as toggling the reset pin. Is this not the case?
The same code is used during a cold reset and the ADCs function properly.
I hope this gives you the information need to help debug the lock up issue.
There is nothing that I am aware of that would cause this to happen - sending the reset command should clear/reset the part. Are you toggling the /CS line as well? Can you send screen captures that might help us try to reproduce your setup??
The ADS 1282 does not have a /CS pin.
Either holding SCK low does not fully reset the SPI bus, or, sending the RESET command does not reset the part in the same way as toggling the reset pin.
My bad on the /CS comment - can you send along screen captures of the control lines to the ADS1282 so that we can try to reproduce the same conditions you have?
Have you made any progress here? Are you able to send the screen shots i asked for?
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.