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?
We have received your inquiry regarding the SPI interface of the AFE5809EVM and hope to have some answers back to you shortly.
In reply to Praveen Aroul:
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.
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:
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).
In reply to csmyth:
The SPI Data matches the data as displayed on the AFE5809 EVM GUI.
The SCLK is running only at 128 KHz.
In reply to Jack Zhang2:
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.
In reply to Chen Kung:
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.
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.
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?
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.
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.