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.

Schottky Diode selection for MISO signal

Status
Not open for further replies.

Bjtpower_magic

Full Member level 1
Joined
May 28, 2020
Messages
98
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
876
Hello All,

I have made small mistake for SPI Communications.
i have used ADC and Isolator which is ISO7762 as shown in below architecture

ADC Issue.png


When i tried to connect both ADC as 1 master and 2 slave configurations.. i dont get MISO signal,
Independent ADC SPI Communication is working fine..

I observed in datasheet:ISO7762
Output pin is in Push-pull configurations, due to which Miso response of any digital isolator is pulled by another Digital isolator, so Communication is not working.

I thought to place Diode to Digital isolator output pin so that other oscillator will not pull down MISO Signal, Can someone explain how to select diode? My SPI CLK Frequency is 13.5 MHZ
or
Can someone help how we can drive both Slaves?
 

Its against the rules but a small signal Schottky diode like a BAT54 or BAT85 will probably work.
You might also need a pull-up resistor on the controller side so that it doesn't 'float' if all the diodes are reverse biased.

Brian.
 
Hi Brian,
Thanks for your reply.
Can you please which parameters did you considered here for Diode selection?

I have place to put Diode (In place of Series resistor 0603 package), Controller itself has Internal Pull up resistors-We can controlled with the help of FW.
--- Updated ---

Hi Brian,

You mentioned about "It is against rules", what do mean by this?
 

Hi,

you are looking for solution as workaround for one board?
Or for redesign?

***
The problem in your circuit is:
AS long as CS of an SPI slave is inactive: the slave has to three state MISO.

While the ADCs most probably will three state it´s MISO, the isolator does not three state it´s output.

for the diode solution to work properly you need at least three pull up resistors and two diodes.
* pullup at MISO of ADC1
* pullup at MISO of ADC2
* pullup at MISO input directly at the STM
* diode in series from isolator1_MISO (C) to STM_MISO (A)
* diode in series from isolator2_MISO (C) to STM_MISO (A)

***
diode is relatively uncritical. Most important:
* reverse voltage must be >= your SPI signal HIGH level
* forward current must be >= pull up current
but the diodes (forward drop voltage) increases the LOW level seen by the STM.
So if the diode drop is 0.6V then the STM sees a LOW level of 0.6V (in best case)
Thus the lower the voltage drop the better your (noise) margin.
--> chose a diode with low voltage drop. Thus Brian recommended a schottky diode. BAT54 is good.
BAT54A is a double diode in one SOT-23 package.

***
Instead of the double diode:
* a HC(T)1G08 gives better LOW level and better timing

***
I personally avoid the use of two seperate CS by using standard IO. I´d rather use the dedicated CS form the STM_SPI module and use an external 74HC138 as DEMUX.
The benefits:
* only one SLAVE can be activated
* automatic CS of the STM SPI periferal (faster, less software overhead)
* up to 8 slaves possible
* same or less pin count of STM32
Drawback:
* external device

****
If you use more than 2 slaves, or if you use high speed SPI, then I don´t recommend the diode circuit.
Go for dedicated Three state drivers, like 74HC1G126.

Klaus
 
Hi Klaus,

Currently on assembled board but going ahead i look ahead for new version of PCB to have recommended provision.
--- Updated ---


Will BAT30F4 solve my purpose? as i have footprint of 0603 package (Series resistor will replace with 0603 Diode) for functionality.
 
Last edited:

There is no guaranteed substitute for good design but the BAT30F4 should work. For future designs you should be careful never to connect totem pole outputs directly together unless they can be put into tri-state (isolated output) condition.

Brian.
 
I have tried with BAT54 but it seems that response is not good.
SPI Clock is 13.5 MHZ
Trise=1.5nS
Tfall=1.5nS
Ton_time=76nS

Can someone help me with Diode which will work for above frequency? or Any Mosfet- I want to use in open drain configuration?

Which mosfet will be good?
 

Try adding a resistor between the MCU side of the diodes and ground to pull the line down faster. The problem with using diodes for isolation is they can only actively pull the signal in one direction and they isolate it in the other so some assistance may be needed to restore the logic levels when they are not conducting. You may have to experiment with the value but I would suggest 1K as a starting point, lower values will speed up the signal but at the expense of more load on the isolators.

Brian.
 
Hi,

TRise and TFall will not be the problem.

But where do the 76ns come from.
From datasheet? From a real measurement? From simulation?

In either case a sketch always is helpful.

BTW: I don´t think that 13.5MHz is problematic for the BAT54.

Klaus
 

Hi Klaus and Betwix
Please find attached image
BAT54.jpg


I have done experiment with only Diode, reduced SPI Frequency to 1MHZ where i could see Communication working proper.. I pulled down MCU pin of MISO.

I agree that BAT54 should work, try small simulation in LTSpice (No problem).
What do you thing of Internal Capacitance of Diode which is 10pF, will it cause problem for data reduction?
--- Updated ---

Hi,
For next iteration of PCB.. i am planning to put Mosfet in open drain configuration.
Waveform from optoisolator output as as per below image.

Can you suggest Transistor which will translate this levels
Tek020.png
 
Last edited:

Hi,

What do you thing of Internal Capacitance of Diode which is 10pF, will it cause problem for data reduction?
So you do the simple math on your own? 2 x 10pF and your pulldown....
I recommend so.

I guess my post#4 was wasted time....

Klaus
 

Beware of another potential problem: when the CS signal is passed to the ADC it can put the MISO into a high impedance state and 'float' the input to the isolator. If it doesn't have a default state or pull down it could result in a false signal leaving the isolator. The diode can't protect against that !

If you use an open drain MOSFET, don't forget it will invert the logic levels. The BS138 would be a suitable cheap device.

Brian.
 

Beware of another potential problem: when the CS signal is passed to the ADC it can put the MISO into a high impedance state and 'float' the input to the isolator. If it doesn't have a default state or pull down it could result in a false signal leaving the isolator. The diode can't protect against that !

If you use an open drain MOSFET, don't forget it will invert the logic levels. The BS138 would be a suitable cheap device.

Brian.
in that case 2N7002 would also work here, I have few stock of this in my inventory.
--- Updated ---

Hi,

That's O.K.
But could you do an internet search "RC cutoff frequency"

Klaus
Got it.
 

Try adding a resistor between the MCU side of the diodes and ground to pull the line down faster. The problem with using diodes for isolation is they can only actively pull the signal in one direction and they isolate it in the other so some assistance may be needed to restore the logic levels when they are not conducting. You may have to experiment with the value but I would suggest 1K as a starting point, lower values will speed up the signal but at the expense of more load on the isolators.

Brian.
Yes.. With 1K, it is working.
Diode has internal Cap which is 10pF and controller internal pull down resistor was 40k
if both becomes High pass filter, cut off frequency was 395KHZ, so above this frequency it should have to work

Whats your opinion?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top