This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE5832: SPI readout fails sporadically.

Part Number: AFE5832

I have a custom AFE5832 board I am trying to test its SPI functionality. I am running the following test steps:

1. Software Reset : set address 0h to 0x0001 and SENe Low and SENo to High.

2. Write a custom ADC pattern: set address 5h to 0x00A0.

3. Set read_enable: set address 0h to 0x0002.

4. Read custom ADC pattern: set address 5h to 0x0000.

I get the correct output (0x00A0) but after running the test a few times the chip stops giving out any output.

Disconnecting the power source and waiting a few minutes before switch it on again fixes the issue sometimes but most times it doesn't.

Are there any start-up steps I am missing, or are there any required setup registers or pins I have to set correctly before I attempt to read out via SPI?

Many thanks

  • Momen, 

    Thanks for using TI's device! we will reveiw your question and come back. 

    Thanks! Take care and stay healthy!

  • Momen, 

    our team analyzed. It can be related to signal integrity issue. can you slow down the SPI read first and check if the issue is improved. Then you can place small cap of value ~10 to 20pF on SPI lines. 

    when it get to stuck mode, instead of power cycling, can you try if hardware reset takes the device out of stuck state. 

    Thanks!

  • Dear Xiaochen,

    Thank you so much for getting back to me.


    I have reduced the SCLK frequency to 2.5 kHz and added reset signal at the start. I have investigated the signal integrity by measuring the signals with an Oscilloscope.

    1 -The full write in/read out operation:

    2-  SDATA signal integrity: I see no overshooting or delays.. I am writing to 05h ADC address 000A here

    3- SCLK signal integrity

    Due to my current working arrangements I was not able to add the small caps in the signal lines. But please let me know if you still believe it's what's causing the issue.

    Many thanks,
    Momen

  • Hello,

    I am very tempted to conclude the issue as a faulty chip.. I have connected the FPGA running the same above code to AFE5832EVM USB ports and it worked. However, it only works when I have the AFE5832 GUI software open before I power the device or I have to write any data to any register using the GUI. After doing that, I am able to read and write from the AFE5832 chip using my FPGA code just fine.

    My guess this has to do with USB initialisation and does not have to do with programming the AFE5832, Hence, I kindly request that you share with me the exact USB initialisation  steps that GUI does, so that I can replicate them with PyUSB and be 100% confident that my custom board is not working due to a faulty chip.

    Many thanks,
    Momen

  • I have solved the issue by setting pin K16 to High, Even though it says in the datasheet to keep it unconnected, which I presume is a typo. 

    Many thanks,