Hello,
I have a very interesting problem with ADS1298.
I have the ADS1298 running on MDK with VC5505 EVM without any problems. Now we have our own design which is based on the c5505 EVM, except that the external interrupt comming from the ADS has been moved from INT1 to an GPIO pin. Another difference is that on our board we have c5505 opposed to vc5505 on the development board.
If I execute the sample code for the ADS1298 on our own board (code is 99% the same except the interrupt is changed to a new pin) I can observe the following behaviour:
- Interrupts are executed at almost half the speed as they should. For example if I set the chip to run at 8Ksps, it will take 2 seconds to gather that quantity of samples. If I set the chip to 500sps it takes almost 2 seconds to gather this quantity of data.
- As soon as I comment the SPI read (LLC_SPI_WordLengthRead) function from the interrupt routine everything works properly. Interrupts are called on time every time.
So either SPI reading is slow and it slows down the interrupt routine which then skips over the next interrupt or whenever an SPI read is issued, next interrupt is delayed.
Additional problem is that I cannot measure any of the SPI lines because they are in the internal layers of our PCB :(
Can anybody provide some help with this, or some ideas about debugging this problem?
Cheers!