Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problems with SPI

FreshmanNewbie

Advanced Member level 1
Advanced Member level 1
Joined
May 10, 2020
Messages
437
Helped
0
Reputation
0
Reaction score
3
Trophy points
18
Activity points
4,333
1706712849457.png


1706712949221.png




There is a Master MCU. Connected to two slaves (One slave is shown above, the memory IC). One is the memory IC. Other is an metering IC connected through the TI isolator part.


When I try to read the memory IC, I see data going. But the SPI_SDI line voltage moves between 3.3V and 1.5V. It doesn't go to 0V. This is only observed on the SPI_SDI line and not other lines.
I guess, since the TI part has the SPI_SDI (pin 6 of TI part) it as an output pin, it is causing some issues.

When I remove the TI part, I see the SPI_SDI line going from 3.3V to 0V. Can someone tell me why is this issue being caused?

I saw in TI forum - over here, there is a similar issue over here. But I am not convinced of the reason given in TI forum because I am used the right probes and tried. But still having the issue.

Is it related to drive level of the ICs? Can someone explain the reason for the issue.
 
Hi,

The problem is quite expectable, because you don´t comply with SPI standards. You "short circuit" two outputs (SST25 and ISO7441 on signal SDI_SDI)
This way you can easily kill one or both devices.

--> When a device id DESELECTED the MISO line needs to be HIGH IMPEDANCE.

The SST25.. works correctly on this.
But: For this the ISO7741 has an EN input. This is why they designed it in. Just use it!

***
Btw:
Why does /WP line have two pull up resistors?


Klaus
 
Hi,

The problem is quite expectable, because you don´t comply with SPI standards. You "short circuit" two outputs (SST25 and ISO7441 on signal SDI_SDI)
This way you can easily kill one or both devices.

--> When a device id DESELECTED the MISO line needs to be HIGH IMPEDANCE.

The SST25.. works correctly on this.
But: For this the ISO7741 has an EN input. This is why they designed it in. Just use it!

***
Btw:
Why does /WP line have two pull up resistors?


Klaus
Thank you for the answer.

Yes, it is a mistake there having 2 pull up on /WP.

My questions:

1. Why should the MISO line be HIGH IMPEDANCE when the device ID is deselected? Is it an SPI standard?

2. Yes, I need to use the EN input. But I don't have a GPIO from the MCU to control the EN pin of the ISO device. That's why pulled up to high for always ON. Is there any other alternate way to modify to control the EN without GPIO from MCU?

3. Can you tell me how this voltage offset is occuring due to this issue? Because, usually, as per SPI interface, all the SPI signals (Except CS) will be shared by the slave devices. That's what I have done here as well. But how this issue is coming? Can you break down the issue on how the voltage offset is arising? A little more explanation can help me to understand.

4. How do you tell that the issue is "quite expectable"? What SPI standard am I missing to follow here?

Thanks.
 
HI,

1) read my post above

2) use inverted_ SPI1_CS

3) read basic SPI explantions

4) explained above

Klaus
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top