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.

[ARM] SN75176 network failure

Status
Not open for further replies.

haohaodk46

Member level 4
Member level 4
Joined
Apr 8, 2012
Messages
77
Helped
1
Reputation
2
Reaction score
2
Trophy points
1,288
Activity points
1,806
Hi Everyone ,
I am facing a issue relate to SN75176 in network RS485.
In my Rs485 network. The master send request to all node in network. I have use TVS diode for ESD protection as circuit below. In some cases these some node faile and it cause this entire network getting stopped communication with Master. Seem TVS is shorted to GND. If I remove all TVS diode in all node then It work well . I checked communicate face to face 1 master - 1 slave ( in case TVS diode have not removed yet ) then it still work well but in network then it fail
Anyone can help me this issue ?
This is my RS485 design :
1636015851394.png
 
Last edited:

Hi
Seem TVS is shorted to GND
What does "it seems" mean?
Is it shorted? If yes, which diode?

How many node do you have? All with identical circuit?

Is the "protection circuit" your idea, or from an application note?

What is R5, R9 for?

Klaus
 

Hi

What does "it seems" mean?
Is it shorted? If yes, which diode?

How many node do you have? All with identical circuit?

Is the "protection circuit" your idea, or from an application note?

What is R5, R9 for?

Klaus
Hi KLausST ,
I just guess it short when plug into network and cause all network fail. but when just communicate one to one then It is ok.
I used 30 device node and all use same circuir. Just R8 is add to start and end node
Protection circuite and R5 , R9 are referenced from some ciruit that i knew . And i also reference from USB485 module
Do you have indea for this ?
Thanks !
 

Hi,

please send a link to the SMCJ65A datasheet. Best directly at the manufacturer´s internet site.

Klaus
--- Updated ---

I just guess it short
Why not measure it? Then you can be sure.

are referenced from some ciruit that i knew
I don´t know what you mean with "I knew"....
The circuit makes not much sense to me. It really would be a good idea to send a link to the according document.

Klaus
 
Last edited:

Hi,

please send a link to the SMCJ65A datasheet. Best directly at the manufacturer´s internet site.

Klaus
--- Updated ---


Why not measure it? Then you can be sure.


I don´t know what you mean with "I knew"....
The circuit makes not much sense to me. It really would be a good idea to send a link to the according document.

Klaus
It is diode SMAJ6.8CA not SMCJ65A ( I have not updated on circuite)
You can see it here :
Thanks !
 

Hi,

the RS485 common mode input voltage range should be -7 ... +12V.
To work properly you don´t need to comply with this. But this ensures proper operation even with GND shift of several volts.

What we don´t see: All your GNDs should be connected.

Your protection circuit makes about: (if I'm not mistaken)
* limit "A" voltage to -0.7V ... +1.4V
* limit "B" voltage to +0.7V ... -7V
--> this is far from what it should be.

--> use a scope to verify your signal voltages.

Klaus
--- Updated ---

I have not updated on circuite
Please update your schematic
* according Protection diodes
* and R8.

Otherwise you confuse us ... and most probably yourself when you look at the schematic after years.

Klaus
 

I bet that the problem is caused by providing 120 ohm termination without suitable bias resistors. See this recent thread that discussed a similar problem https://www.edaboard.com/threads/max3485-with-usb-rs-485.400038

Having only kOhm bias resistors, the RS-485 level seen by the receiver when both peers are inactive is undefined, may be either 1 ("mark") or 0 ("space") due to receiver input offset and hysteresis. If the idle level is detected as "space", the receiver UART driver might interprete it as break state or frame error. Usually a RS-485 transmitter activates TXEN at least one bit time before the start bit. A correctly programmed RS-485 receiver software should be able to recover from the unintentional break state, but many implentaions don't manage it. Thus bias resistors that are strong enough to enforce "mark" level when the drivers are inactive must be used. Some RS-485 based protocols like PROFIBUS don't explicitly specify such resistors.
 

Hi,

if I´m not mistaken, then
* the 120 Ohms resistors are only installed at both ends of the bus. So a total of 60 Ohms.
* the 2 x 20 kOhms are installed on all 30 nodes, resulting in 2 x 670 Ohms.

the bis voltage then should be above 200mV.

The whole situation isn´t clear at all.

My "bet" lies on the (wrong) protection circuit. Let´s see who has beer tonight ;-)

Klaus
 

if I´m not mistaken, then
* the 120 Ohms resistors are only installed at both ends of the bus. So a total of 60 Ohms.
* the 2 x 20 kOhms are installed on all 30 nodes, resulting in 2 x 670 Ohms.

the bis voltage then should be above 200mV.
That's right, if all 30 nodes are conneceted and powered. Is so, the network should work in this special case. Generally, it's required to work with 2 to 30 nodes, so you need to provide strong bias resistors at the end nodes.
 

Hi,

I fully agree.
so at both ends: 720 / 120 / 720 Ohms

I wonder if there is no biasing at the nodes.. while they are disconnected from the bus
Isn´t the level undetermined and prone to noise pickup?

about 150k each should at least provide a proper HIGH level.

Klaus
 

Hi,

I fully agree.
so at both ends: 720 / 120 / 720 Ohms

I wonder if there is no biasing at the nodes.. while they are disconnected from the bus
Isn´t the level undetermined and prone to noise pickup?

about 150k each should at least provide a proper HIGH level.

Klaus
Hi Klaus.,
There was a strange that when I found a node impact to whole network then i replace it by a new one then It still OK. Or another way I have to remote all TVS diode on whole node Thus Do you think that protection circuit is wrong ?
In this case then It is not cause by wrong bias resistor.
And I also question same you that If I remove all bias resistor at each nodes and just add a both ends then It is OK ?
And another question : If i don'd add 120R restion then how to caculate bias volatage ? What resistor value between A ,B ?
 
Last edited:

S
Hi,

do you have a scope to verify the signal levels?

Klaus
Sorry I don't have a osilloscope for measurement.
If I don't use protection circurit then is it OK ? becasuse my RS485 network don't run in industry environment
Regard,
Hao
 

If I don't use protection circurit then is it OK ?
Yes, but only if the protection circuit is the problem. It's still not clear.

It's still unclear whether the protection circuit is a proven circuit ... or at least from a reliable datasheet.
Why it is used that unsymmetrically (on symmetric signals).
Why it limits voltages ... far below the typical RS485 voltage range.
If you statically drive the RS485 signals ... you will be able to use a DVM to measure the voltage levels (both close to the active driver and far away)
It's also still unclear whether you use just the two signal wires ... or additionally GND between the nodes.

All this "unknown" makes helping difficult and slow. (It's more a problem for you than for us)

Klaus
 

The termination resistors (across the two wires) are only needed at the physical ends of the network and the other resistors are only needed once, somewhere along it, they can be at one end with the terminator. To explain, the terminators are to match the characteristic impedance of the line so that reflections are minimised. The resistors to supply and ground are to hold the 'idle' state of the line in one condition so all they have to do is ensure at least the minimum logic threshold across the lines is achieved when it isn't being driven. You can use Ohms law to work out how to drop >200mV across the lines while taking the total termination resistance into account.
TVS probably isn't needed between the wires as they are at low impedance and should be following thd same physical path (twisted together). If you want to add TVS on each wire to ground it may offer some additional protection.

Brian.
 

additional
Hi Brian,
I just add 120R at begin and end line. With bias resistor , I just should add to whole or a node only in network ?
And How about add bias resistor ( once or whole network )
with in case use common GND and GND individual then ?
Thanks !
 

Hi,

A good transmission line has a known characteristic impedance ... and it should be linear.
Linear means that the magnitude of the current follows the magnitude of the applied voltage (twice the voltage leads to twice the current)
DC resistance of a cable is less important ...as long as the voltage levels are good at the far end (seen from the driver)
For reflections: dV/dI is more important than V/I.

Your protection circuit violates all this above.
* It causes current during normal operation (what a protection circuit should not do)
* It causes different currents for LOW than for HIGH
* It causes very unlinear current (maybe 10% higher voltage causes 100% higher current)
* it causes much higher current at the nodes close to the driver than at those far away.
* at least at nodes close to the driver the current through the protection circuit is much higher than through the termination

For sure you are free to ignore it ...but if you want reliable/stable results....

Klaus
 

The bias resistors are only needed once in the network, regardless of how many nodes. RS485 can have three electrical conditions: master sending to slave, slave sending to master and both ends receiving. Imagine situation where the master requests some data from a slave but the slave has to spend some time before it can reply (for example taking a measurement), after the request was sent, the master would switch to receive mode but the slave would not yet be transmitting. During that time, nothing would be driving the bus so it could go to an indeterminate state, the bias resistors are a weak force to hold the bus state in a known condition until one of the devices can drive it.

Brian.
 

Depending on baud rate and cable length, 120 ohm termination can be unneccessary. As for the strong bias resistors, it's a good idea to connect and disconnect them along with the termination resistors, as e.g. specified for PROFIBUS networks. They operate at up to 12 MBaud and thus need strict partyline topology with both side end termination.
 

Hi,

A good transmission line has a known characteristic impedance ... and it should be linear.
Linear means that the magnitude of the current follows the magnitude of the applied voltage (twice the voltage leads to twice the current)
DC resistance of a cable is less important ...as long as the voltage levels are good at the far end (seen from the driver)
For reflections: dV/dI is more important than V/I.

Your protection circuit violates all this above.
* It causes current during normal operation (what a protection circuit should not do)
* It causes different currents for LOW than for HIGH
* It causes very unlinear current (maybe 10% higher voltage causes 100% higher current)
* it causes much higher current at the nodes close to the driver than at those far away.
* at least at nodes close to the driver the current through the protection circuit is much higher than through the termination

For sure you are free to ignore it ...but if you want reliable/stable results....

Klaus
Thank for your comment. But why do i see almost use protection circuit
You can see application note as below :

1636447389610.png


Jindo
--- Updated ---

The bias resistors are only needed once in the network, regardless of how many nodes. RS485 can have three electrical conditions: master sending to slave, slave sending to master and both ends receiving. Imagine situation where the master requests some data from a slave but the slave has to spend some time before it can reply (for example taking a measurement), after the request was sent, the master would switch to receive mode but the slave would not yet be transmitting. During that time, nothing would be driving the bus so it could go to an indeterminate state, the bias resistors are a weak force to hold the bus state in a known condition until one of the devices can drive it.

Brian.

Just add bias resistor once regardless GND is common or not ? because if just add bias resisor conce then nodes in network is indeterminate state ?
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top