RS-485 network with multiple mastersIdeal serial communications test?Unused twisted pair termination with RS-485 on 8P8CRS485 network failing on replacing SP485 chip with MAX485Home automation on Cat5e again: is this a reasonable multidrop protocol?RS485 transmission errorsDifferences max485 and max13487How to prevent polling using RS485Long distance (and I think low frequency) serial communication with ArduinoMultiple MAX3485 on same UARTReverse-engineering RS-485 communication

Vectorised way to calculate mean of left and right neighbours in a vector

foot-pounds of energy?

“The Fourier transform cannot measure two phases at the same frequency.” Why not?

What are the limitations of the Hendersson-Hasselbalch equation?

Why is the Vasa Museum in Stockholm so Popular?

What could prevent players from leaving an island?

Has J.J.Jameson ever found out that Peter Parker is Spider-Man?

Is space radiation a risk for space film photography, and how is this prevented?

In MTG, was there ever a five-color deck that worked well?

Why did the US Airways Flight 1549 passengers stay on the wings?

Write The Shortest Program to Calculate Height of a Binary Tree

Why are there yellow dot stickers on the front doors of businesses in Russia?

How to increase Solr JVM memory

Is there a booking app or site that lets you specify your gender for shared dormitories?

Getting Lost in the Caves of Chaos

Why is it to say 'paucis post diebus'?

conditional probability of dependent random variables

What is the reason behind water not falling from a bucket at the top of loop?

If someone else uploads my GPL'd code to Github without my permission, is that a copyright violation?

Probably terminated or laid off soon; confront or not?

How easy is it to get a gun illegally in the United States?

When using the Proficiency Dice optional rule, how should they be used in determining a character's Spell Save DC?

Is it okay to use different fingers every time while playing a song on keyboard? Is it considered a bad practice?

Piece de Resistance - Introduction & Ace and A's



RS-485 network with multiple masters


Ideal serial communications test?Unused twisted pair termination with RS-485 on 8P8CRS485 network failing on replacing SP485 chip with MAX485Home automation on Cat5e again: is this a reasonable multidrop protocol?RS485 transmission errorsDifferences max485 and max13487How to prevent polling using RS485Long distance (and I think low frequency) serial communication with ArduinoMultiple MAX3485 on same UARTReverse-engineering RS-485 communication






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4












$begingroup$


I'm building a project with multiple RS-485 senders ("masters") and one receiver:





schematic





simulate this circuit – Schematic created using CircuitLab



I'm using one MAX485 as receiver connected to a Serial>USB adapter and all the other ones are "masters" sending data from sensors.



If I'm losing some data when multiples masters are sending data at the same time that's not a problem (I'm doing some collision detection with a checksum), but I have some questions:



  • Is there any risk of damaging chips, if one is sending a high bit (0V because it's UART) when others are staying high (idle or low bit)?

  • Do I need to turn off the DE pin of my MAX485 chips when I'm not sending data, to let other masters talk?

  • If yes, even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?

SAE J1708



  • Any other advice?









share|improve this question











$endgroup$









  • 1




    $begingroup$
    I'm sorry but this kinda sounds like exactly the single master config, but reversed. Why cant you just have the USB serial one be the Master and on the computer side have it poll the "masters"? (where they would be slaves)
    $endgroup$
    – Wesley Lee
    8 hours ago










  • $begingroup$
    @WesleyLee I thing you misunderstood what I'm trying to do (because of the word "master", which is not the best I could have used I admit): the problem is not polling some "slaves" to ask them to send data, here's it's a simplex bus (one way), and I just want to know what happens if multiples MAX485 are sending data at the same time (not on the protocol side but on the hardware side)
    $endgroup$
    – Emerick Herve
    8 hours ago

















4












$begingroup$


I'm building a project with multiple RS-485 senders ("masters") and one receiver:





schematic





simulate this circuit – Schematic created using CircuitLab



I'm using one MAX485 as receiver connected to a Serial>USB adapter and all the other ones are "masters" sending data from sensors.



If I'm losing some data when multiples masters are sending data at the same time that's not a problem (I'm doing some collision detection with a checksum), but I have some questions:



  • Is there any risk of damaging chips, if one is sending a high bit (0V because it's UART) when others are staying high (idle or low bit)?

  • Do I need to turn off the DE pin of my MAX485 chips when I'm not sending data, to let other masters talk?

  • If yes, even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?

SAE J1708



  • Any other advice?









share|improve this question











$endgroup$









  • 1




    $begingroup$
    I'm sorry but this kinda sounds like exactly the single master config, but reversed. Why cant you just have the USB serial one be the Master and on the computer side have it poll the "masters"? (where they would be slaves)
    $endgroup$
    – Wesley Lee
    8 hours ago










  • $begingroup$
    @WesleyLee I thing you misunderstood what I'm trying to do (because of the word "master", which is not the best I could have used I admit): the problem is not polling some "slaves" to ask them to send data, here's it's a simplex bus (one way), and I just want to know what happens if multiples MAX485 are sending data at the same time (not on the protocol side but on the hardware side)
    $endgroup$
    – Emerick Herve
    8 hours ago













4












4








4


1



$begingroup$


I'm building a project with multiple RS-485 senders ("masters") and one receiver:





schematic





simulate this circuit – Schematic created using CircuitLab



I'm using one MAX485 as receiver connected to a Serial>USB adapter and all the other ones are "masters" sending data from sensors.



If I'm losing some data when multiples masters are sending data at the same time that's not a problem (I'm doing some collision detection with a checksum), but I have some questions:



  • Is there any risk of damaging chips, if one is sending a high bit (0V because it's UART) when others are staying high (idle or low bit)?

  • Do I need to turn off the DE pin of my MAX485 chips when I'm not sending data, to let other masters talk?

  • If yes, even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?

SAE J1708



  • Any other advice?









share|improve this question











$endgroup$




I'm building a project with multiple RS-485 senders ("masters") and one receiver:





schematic





simulate this circuit – Schematic created using CircuitLab



I'm using one MAX485 as receiver connected to a Serial>USB adapter and all the other ones are "masters" sending data from sensors.



If I'm losing some data when multiples masters are sending data at the same time that's not a problem (I'm doing some collision detection with a checksum), but I have some questions:



  • Is there any risk of damaging chips, if one is sending a high bit (0V because it's UART) when others are staying high (idle or low bit)?

  • Do I need to turn off the DE pin of my MAX485 chips when I'm not sending data, to let other masters talk?

  • If yes, even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?

SAE J1708



  • Any other advice?






arduino uart rs485 j1708






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 7 hours ago









SamGibson

12.3k4 gold badges18 silver badges43 bronze badges




12.3k4 gold badges18 silver badges43 bronze badges










asked 8 hours ago









Emerick HerveEmerick Herve

255 bronze badges




255 bronze badges










  • 1




    $begingroup$
    I'm sorry but this kinda sounds like exactly the single master config, but reversed. Why cant you just have the USB serial one be the Master and on the computer side have it poll the "masters"? (where they would be slaves)
    $endgroup$
    – Wesley Lee
    8 hours ago










  • $begingroup$
    @WesleyLee I thing you misunderstood what I'm trying to do (because of the word "master", which is not the best I could have used I admit): the problem is not polling some "slaves" to ask them to send data, here's it's a simplex bus (one way), and I just want to know what happens if multiples MAX485 are sending data at the same time (not on the protocol side but on the hardware side)
    $endgroup$
    – Emerick Herve
    8 hours ago












  • 1




    $begingroup$
    I'm sorry but this kinda sounds like exactly the single master config, but reversed. Why cant you just have the USB serial one be the Master and on the computer side have it poll the "masters"? (where they would be slaves)
    $endgroup$
    – Wesley Lee
    8 hours ago










  • $begingroup$
    @WesleyLee I thing you misunderstood what I'm trying to do (because of the word "master", which is not the best I could have used I admit): the problem is not polling some "slaves" to ask them to send data, here's it's a simplex bus (one way), and I just want to know what happens if multiples MAX485 are sending data at the same time (not on the protocol side but on the hardware side)
    $endgroup$
    – Emerick Herve
    8 hours ago







1




1




$begingroup$
I'm sorry but this kinda sounds like exactly the single master config, but reversed. Why cant you just have the USB serial one be the Master and on the computer side have it poll the "masters"? (where they would be slaves)
$endgroup$
– Wesley Lee
8 hours ago




$begingroup$
I'm sorry but this kinda sounds like exactly the single master config, but reversed. Why cant you just have the USB serial one be the Master and on the computer side have it poll the "masters"? (where they would be slaves)
$endgroup$
– Wesley Lee
8 hours ago












$begingroup$
@WesleyLee I thing you misunderstood what I'm trying to do (because of the word "master", which is not the best I could have used I admit): the problem is not polling some "slaves" to ask them to send data, here's it's a simplex bus (one way), and I just want to know what happens if multiples MAX485 are sending data at the same time (not on the protocol side but on the hardware side)
$endgroup$
– Emerick Herve
8 hours ago




$begingroup$
@WesleyLee I thing you misunderstood what I'm trying to do (because of the word "master", which is not the best I could have used I admit): the problem is not polling some "slaves" to ask them to send data, here's it's a simplex bus (one way), and I just want to know what happens if multiples MAX485 are sending data at the same time (not on the protocol side but on the hardware side)
$endgroup$
– Emerick Herve
8 hours ago










1 Answer
1






active

oldest

votes


















3












$begingroup$



Is there any risk of damaging chips if one is sending a high bit (0v because it's UART) when others are staying high (idle or low bit)?





My understanding is that multi-master RS-485 (at least one possible scheme anyways) has every node also has its receiver enabled when transmitting so it can monitor what is actually being put onto the line. If whatever it is trying to put on the line is not getting on the line, then it knows there has been a data collision. In the event of collisions, all transmitters back off for a randomized amount of time (with some fancy schemes randomizing that time too) before re-trying (and obviously don't try to transmit if something is already happening on the line). Therefore, I think it's fine though I've not noticed any obvious datasheet info that says this is okay. It might be something in the hardware protocol that's omitted from the datasheets.





Do I need to turn off DE pin of my MAX485 chips when I'm not sending data to let others masters talk?





Yes, or else the transmitter continues to hold the line at whatever level you are inputting into the chips. I made the mistake of not implementing the DE to only be enabled during a transmission and just tied it high in a system I was working on. The result was that I could not use a PC to tap into the line to send my own commands during debugging. I could only listen in to what the boards were doing because the boards would not relinquish drive control of the line.





If yes even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?





I looked into what actually J1708 is and it appears to be an RS-485 hardware workaround to allow dominant/recessive scheme where one bit overrides the other, similar to CAN and I2C.



So unlike what I described in my first answer, where all all transmitters backoff in a data collision, not all transmitters back off in J1708. Instead only some transmitters back off. When messages collide, a dominant colliding bit will override a recessive one in a "pull-up with open-collector" scheme or
"pull-down with open emitter" scheme to produce an ORing effect, using the DE pin as a data pin since it can put the transmitter to the required high-impedance state (while the regular data pin can only output a definite HI or LO which would not allow for a dominant and recessive bit scheme).



Therefore, messages with the most, earliest, dominant bits can "override" all other messages without getting corrupted. The messages with the earliest recessive bits "lose" and back off while the more dominant message continues to transmit, in a "last man-standing" scenario.



Therefore, the Rs and Cs are mandatory for J1708 since they are what bias the line to the appropriate logic level to be transmitted when the driver goes high impedance when the DE is used as a data pin. Like before, this still means that if you have the DE pin set to the dominant bit state, nothing else can be transmitted on the line because the line will be held at that and nothing can override it.






share|improve this answer











$endgroup$














  • $begingroup$
    Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
    $endgroup$
    – Emerick Herve
    8 hours ago











  • $begingroup$
    @EmerickHerve see updates
    $endgroup$
    – DKNguyen
    6 hours ago













Your Answer






StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "135"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f451684%2frs-485-network-with-multiple-masters%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









3












$begingroup$



Is there any risk of damaging chips if one is sending a high bit (0v because it's UART) when others are staying high (idle or low bit)?





My understanding is that multi-master RS-485 (at least one possible scheme anyways) has every node also has its receiver enabled when transmitting so it can monitor what is actually being put onto the line. If whatever it is trying to put on the line is not getting on the line, then it knows there has been a data collision. In the event of collisions, all transmitters back off for a randomized amount of time (with some fancy schemes randomizing that time too) before re-trying (and obviously don't try to transmit if something is already happening on the line). Therefore, I think it's fine though I've not noticed any obvious datasheet info that says this is okay. It might be something in the hardware protocol that's omitted from the datasheets.





Do I need to turn off DE pin of my MAX485 chips when I'm not sending data to let others masters talk?





Yes, or else the transmitter continues to hold the line at whatever level you are inputting into the chips. I made the mistake of not implementing the DE to only be enabled during a transmission and just tied it high in a system I was working on. The result was that I could not use a PC to tap into the line to send my own commands during debugging. I could only listen in to what the boards were doing because the boards would not relinquish drive control of the line.





If yes even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?





I looked into what actually J1708 is and it appears to be an RS-485 hardware workaround to allow dominant/recessive scheme where one bit overrides the other, similar to CAN and I2C.



So unlike what I described in my first answer, where all all transmitters backoff in a data collision, not all transmitters back off in J1708. Instead only some transmitters back off. When messages collide, a dominant colliding bit will override a recessive one in a "pull-up with open-collector" scheme or
"pull-down with open emitter" scheme to produce an ORing effect, using the DE pin as a data pin since it can put the transmitter to the required high-impedance state (while the regular data pin can only output a definite HI or LO which would not allow for a dominant and recessive bit scheme).



Therefore, messages with the most, earliest, dominant bits can "override" all other messages without getting corrupted. The messages with the earliest recessive bits "lose" and back off while the more dominant message continues to transmit, in a "last man-standing" scenario.



Therefore, the Rs and Cs are mandatory for J1708 since they are what bias the line to the appropriate logic level to be transmitted when the driver goes high impedance when the DE is used as a data pin. Like before, this still means that if you have the DE pin set to the dominant bit state, nothing else can be transmitted on the line because the line will be held at that and nothing can override it.






share|improve this answer











$endgroup$














  • $begingroup$
    Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
    $endgroup$
    – Emerick Herve
    8 hours ago











  • $begingroup$
    @EmerickHerve see updates
    $endgroup$
    – DKNguyen
    6 hours ago















3












$begingroup$



Is there any risk of damaging chips if one is sending a high bit (0v because it's UART) when others are staying high (idle or low bit)?





My understanding is that multi-master RS-485 (at least one possible scheme anyways) has every node also has its receiver enabled when transmitting so it can monitor what is actually being put onto the line. If whatever it is trying to put on the line is not getting on the line, then it knows there has been a data collision. In the event of collisions, all transmitters back off for a randomized amount of time (with some fancy schemes randomizing that time too) before re-trying (and obviously don't try to transmit if something is already happening on the line). Therefore, I think it's fine though I've not noticed any obvious datasheet info that says this is okay. It might be something in the hardware protocol that's omitted from the datasheets.





Do I need to turn off DE pin of my MAX485 chips when I'm not sending data to let others masters talk?





Yes, or else the transmitter continues to hold the line at whatever level you are inputting into the chips. I made the mistake of not implementing the DE to only be enabled during a transmission and just tied it high in a system I was working on. The result was that I could not use a PC to tap into the line to send my own commands during debugging. I could only listen in to what the boards were doing because the boards would not relinquish drive control of the line.





If yes even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?





I looked into what actually J1708 is and it appears to be an RS-485 hardware workaround to allow dominant/recessive scheme where one bit overrides the other, similar to CAN and I2C.



So unlike what I described in my first answer, where all all transmitters backoff in a data collision, not all transmitters back off in J1708. Instead only some transmitters back off. When messages collide, a dominant colliding bit will override a recessive one in a "pull-up with open-collector" scheme or
"pull-down with open emitter" scheme to produce an ORing effect, using the DE pin as a data pin since it can put the transmitter to the required high-impedance state (while the regular data pin can only output a definite HI or LO which would not allow for a dominant and recessive bit scheme).



Therefore, messages with the most, earliest, dominant bits can "override" all other messages without getting corrupted. The messages with the earliest recessive bits "lose" and back off while the more dominant message continues to transmit, in a "last man-standing" scenario.



Therefore, the Rs and Cs are mandatory for J1708 since they are what bias the line to the appropriate logic level to be transmitted when the driver goes high impedance when the DE is used as a data pin. Like before, this still means that if you have the DE pin set to the dominant bit state, nothing else can be transmitted on the line because the line will be held at that and nothing can override it.






share|improve this answer











$endgroup$














  • $begingroup$
    Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
    $endgroup$
    – Emerick Herve
    8 hours ago











  • $begingroup$
    @EmerickHerve see updates
    $endgroup$
    – DKNguyen
    6 hours ago













3












3








3





$begingroup$



Is there any risk of damaging chips if one is sending a high bit (0v because it's UART) when others are staying high (idle or low bit)?





My understanding is that multi-master RS-485 (at least one possible scheme anyways) has every node also has its receiver enabled when transmitting so it can monitor what is actually being put onto the line. If whatever it is trying to put on the line is not getting on the line, then it knows there has been a data collision. In the event of collisions, all transmitters back off for a randomized amount of time (with some fancy schemes randomizing that time too) before re-trying (and obviously don't try to transmit if something is already happening on the line). Therefore, I think it's fine though I've not noticed any obvious datasheet info that says this is okay. It might be something in the hardware protocol that's omitted from the datasheets.





Do I need to turn off DE pin of my MAX485 chips when I'm not sending data to let others masters talk?





Yes, or else the transmitter continues to hold the line at whatever level you are inputting into the chips. I made the mistake of not implementing the DE to only be enabled during a transmission and just tied it high in a system I was working on. The result was that I could not use a PC to tap into the line to send my own commands during debugging. I could only listen in to what the boards were doing because the boards would not relinquish drive control of the line.





If yes even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?





I looked into what actually J1708 is and it appears to be an RS-485 hardware workaround to allow dominant/recessive scheme where one bit overrides the other, similar to CAN and I2C.



So unlike what I described in my first answer, where all all transmitters backoff in a data collision, not all transmitters back off in J1708. Instead only some transmitters back off. When messages collide, a dominant colliding bit will override a recessive one in a "pull-up with open-collector" scheme or
"pull-down with open emitter" scheme to produce an ORing effect, using the DE pin as a data pin since it can put the transmitter to the required high-impedance state (while the regular data pin can only output a definite HI or LO which would not allow for a dominant and recessive bit scheme).



Therefore, messages with the most, earliest, dominant bits can "override" all other messages without getting corrupted. The messages with the earliest recessive bits "lose" and back off while the more dominant message continues to transmit, in a "last man-standing" scenario.



Therefore, the Rs and Cs are mandatory for J1708 since they are what bias the line to the appropriate logic level to be transmitted when the driver goes high impedance when the DE is used as a data pin. Like before, this still means that if you have the DE pin set to the dominant bit state, nothing else can be transmitted on the line because the line will be held at that and nothing can override it.






share|improve this answer











$endgroup$





Is there any risk of damaging chips if one is sending a high bit (0v because it's UART) when others are staying high (idle or low bit)?





My understanding is that multi-master RS-485 (at least one possible scheme anyways) has every node also has its receiver enabled when transmitting so it can monitor what is actually being put onto the line. If whatever it is trying to put on the line is not getting on the line, then it knows there has been a data collision. In the event of collisions, all transmitters back off for a randomized amount of time (with some fancy schemes randomizing that time too) before re-trying (and obviously don't try to transmit if something is already happening on the line). Therefore, I think it's fine though I've not noticed any obvious datasheet info that says this is okay. It might be something in the hardware protocol that's omitted from the datasheets.





Do I need to turn off DE pin of my MAX485 chips when I'm not sending data to let others masters talk?





Yes, or else the transmitter continues to hold the line at whatever level you are inputting into the chips. I made the mistake of not implementing the DE to only be enabled during a transmission and just tied it high in a system I was working on. The result was that I could not use a PC to tap into the line to send my own commands during debugging. I could only listen in to what the boards were doing because the boards would not relinquish drive control of the line.





If yes even if I have an Arduino next to each MAX485, it's not this one that is sending data (TX on the schematic, it's a serial sensor) and so I don't know when it's going to "talk", should I follow the SAE J1708 wiring? Are the capacitors and the resistors necessary for a short network?





I looked into what actually J1708 is and it appears to be an RS-485 hardware workaround to allow dominant/recessive scheme where one bit overrides the other, similar to CAN and I2C.



So unlike what I described in my first answer, where all all transmitters backoff in a data collision, not all transmitters back off in J1708. Instead only some transmitters back off. When messages collide, a dominant colliding bit will override a recessive one in a "pull-up with open-collector" scheme or
"pull-down with open emitter" scheme to produce an ORing effect, using the DE pin as a data pin since it can put the transmitter to the required high-impedance state (while the regular data pin can only output a definite HI or LO which would not allow for a dominant and recessive bit scheme).



Therefore, messages with the most, earliest, dominant bits can "override" all other messages without getting corrupted. The messages with the earliest recessive bits "lose" and back off while the more dominant message continues to transmit, in a "last man-standing" scenario.



Therefore, the Rs and Cs are mandatory for J1708 since they are what bias the line to the appropriate logic level to be transmitted when the driver goes high impedance when the DE is used as a data pin. Like before, this still means that if you have the DE pin set to the dominant bit state, nothing else can be transmitted on the line because the line will be held at that and nothing can override it.







share|improve this answer














share|improve this answer



share|improve this answer








edited 6 hours ago

























answered 8 hours ago









DKNguyenDKNguyen

5,3301 gold badge6 silver badges25 bronze badges




5,3301 gold badge6 silver badges25 bronze badges














  • $begingroup$
    Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
    $endgroup$
    – Emerick Herve
    8 hours ago











  • $begingroup$
    @EmerickHerve see updates
    $endgroup$
    – DKNguyen
    6 hours ago
















  • $begingroup$
    Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
    $endgroup$
    – Emerick Herve
    8 hours ago











  • $begingroup$
    @EmerickHerve see updates
    $endgroup$
    – DKNguyen
    6 hours ago















$begingroup$
Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
$endgroup$
– Emerick Herve
8 hours ago





$begingroup$
Thank you for your answer, it's already good to know that I need to turn off DE (even if that's not easy in my case, but I will find a solution). If just someone can confirm me that it's not a problem if multiples ones are sending at the same time (on the electronic side, not on the protocol) that would be perfect! For the resistors I was not talking about RS485 terminations but the J1708 implementation, I think you misunderstood.
$endgroup$
– Emerick Herve
8 hours ago













$begingroup$
@EmerickHerve see updates
$endgroup$
– DKNguyen
6 hours ago




$begingroup$
@EmerickHerve see updates
$endgroup$
– DKNguyen
6 hours ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Electrical Engineering Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f451684%2frs-485-network-with-multiple-masters%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Sahara Skak | Bilen | Luke uk diar | NawigatsjuunCommonskategorii: SaharaWikivoyage raisfeerer: Sahara26° N, 13° O

The fall designs the understood secretary. Looking glass Science Shock Discovery Hot Everybody Loves Raymond Smile 곳 서비스 성실하다 Defas Kaloolon Definition: To combine or impregnate with sulphur or any of its compounds as to sulphurize caoutchouc in vulcanizing Flame colored Reason Useful Thin Help 갖다 유명하다 낙엽 장례식 Country Iron Definition: A fencer a gladiator one who exhibits his skill in the use of the sword Definition: The American black throated bunting Spiza Americana Nostalgic Needy Method to my madness 시키다 평가되다 전부 소설가 우아하다 Argument Tin Feeling Representative Gym Music Gaur Chicken 일쑤 코치 편 학생증 The harbor values the sugar. Vasagle Yammoe Enstatite Definition: Capable of being limited Road Neighborly Five Refer Built Kangaroo 비비다 Degree Release Bargain Horse 하루 형님 유교 석 동부 괴롭히다 경제력

19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу