AFE5809 SPI

Hi,

Could we get some support regarding SPI on the AFE5809EVM board?

We are controlling the SPI from an ARM chip with the following configuration:

SCLK - 128 kHz

Data Width - 24 bits

Shift direction - MSB first

The data that comes out has been verified with an oscilloscope.

However, when the signals are connected to the SCLK, SEN, SDATA, GND pins, we are not able to have it working.

We use the exact same series of command as used by the AFE5809 EVM GUI (as it allows us to record its commands). The USB is disconnected and we are purely running the SPI from the on board pins.

Any suggestions as to why it might not be working?

Thanks,

Jack

13 Replies

  • Hello Jack,

    We have received your inquiry regarding the SPI interface of the AFE5809EVM and hope to have some answers back to you shortly.

    Regards

    Praveen.

    Best Regards


    Praveen Aroul

  • In reply to Praveen Aroul:

    Hi Jack,

    I do know of a few scenarios that could cause this problem.  Figure 66 of the datasheet shows that the device actually has two SPI blocks:  one that controls the ADC/VCA and the other that controls the DEMOD block.  In order to write to the ADC/VCA, the DUT pin "SPI_DIG_EN" must be set to a high level.  The device has an internal pull-up resistor which should allow ADC/VCA control as a default.  However, can you probe this pin and confirm it is level high?

    Other things that could prevent SPI write happening is if any of the following input pins are set wrong:  RESET, PDN_ADC, PDN_VCA, and PDN_GLOBAL.  Please confirm that these pins have the correct bias on them as per the PIN FUNCTIONS table starting on pp5 of the datasheet.

    Regards,

    Christian

  • Hi Jack,

    Are you saying that the SPI data on the scope matches the AFE5809 EVM? Also, what speed are trying to program at?

    Chuck Smyth, Applications Engineering, HealthTech-Imaging

    Please verify post if question is answered.

  • In reply to Christian Yots:

    Hi Christian,

    I checked the SPI_DIG_EN and it is set to high.

    How do I check the if those input pins are set wrong (RESET, PDN_ADC, PDN_VCA, and PDN_GLOBAL).

    Thanks,

    Jack

  • In reply to csmyth:

    Hi,

    The SPI Data matches the data as displayed on the AFE5809 EVM GUI.

    The SCLK is running only at 128 KHz.

    Thanks,

    Jack

  • In reply to Jack Zhang2:

    Hi Jack,

    According to your using AFE5809EVM and controlling SPI using different test board.

    We tested AFE5809EVM and measured the EVM converting USB bus to 8-pin data to control SPI and other signals.

    These 8-pin data (from USB on EVM) are: SEN, SCLK, SDATA, SPI_DIG_EN, PDN_ADC, PDN_VCA, PDN_GLOBAL and CDCM_LE

    Here are our connections using Oscilloscope:

    SEN (connected to Scope CH1)

    SCLK (connected to Scope CH2)

    SDATA (connected to Scope CH3)

    The following plots keep CH1, CH2 and CH3 connections without any change.

    Only CH4 is connected to different signal pin as below:

    SPI_DIG_EN (connected to Scope CH4) = HI, please see the following

    RESET (connected to Scope CH4) = LO, please see the following

    PDN_ADC (connected to Scope CH4) = LO, please see the following

    PDN_VCA (connected to Scope CH4) = LO, please see the following

    PDN_GLOBAL (connected to Scope CH4) = LO, please see the following

    CDCM_LE (connected to Scope CH4) = HI, please see the following

    Please check if you can see the SPI data from your test board works similarly.

    Thank you!

    Best Regards,

    Chen

  • In reply to Chen Kung:

    Hi Chen,

    The signal are correct, but when we connect our signals to P14 on the AFE5809 EVM, the pins are being pulled high to 3.3V, when our signal is only at 2.5 V. But we can see our FPGA signals when it's not connected to the AFE board.

    When we have our signals disconnected and the board connected to the USB, we are able to see the signals on P14.

    Thanks,

    Jack

  • In reply to Jack Zhang2:

    Jack,

    When you need to externally input SPI signals onto P14, you'll need to remove a component.  It is true that +5V_USB will power one side of the isolator chips, but AVDD will power the other side at VCC2. THis will force the outputs of the isolator to the unknown value of the input.  This is undesirable.

    Ideally, we would put the En pins to GND to guarantee that the outputs are high impedance, but the EVM doesn' t allow for that easily.   I suggest that we remove FB17, which will remove the power supply from the output side of the isolator, and the outputs should turn off.  However, the output pins are not necessarily high impedance in this state.  The AFE pins are 20kohms to GND.  We will test this in our lab as well.

     

    Thanks,

    Chuck Smyth

     

     

     

    Chuck Smyth, Applications Engineering, HealthTech-Imaging

    Please verify post if question is answered.

  • In reply to csmyth:

    This a different question but still related to SPI. Can I use a Raspberry Pi which only sends 1 byte at a time to communicate with the SPI on the AFE5809 which requires a packet of 24 bits at a time? In other word, can I send send 3 packets of 8 bits from the RPi to the AFE809?

    Thanks,

    Jack

  • In reply to Jack Zhang2:

    Jack,

    This should be fine.  Our EVMs don't send the 24 bits continuously.  But, mind the SCLK, and keep SEN low for whole 24 bit sequence.

    Thanks,

    Chuck Smyth

    Chuck Smyth, Applications Engineering, HealthTech-Imaging

    Please verify post if question is answered.