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;
$begingroup$
I'm building a project with multiple RS-485 senders ("masters") and one receiver:

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?

- Any other advice?
arduino uart rs485 j1708
$endgroup$
add a comment |
$begingroup$
I'm building a project with multiple RS-485 senders ("masters") and one receiver:

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?

- Any other advice?
arduino uart rs485 j1708
$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
add a comment |
$begingroup$
I'm building a project with multiple RS-485 senders ("masters") and one receiver:

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?

- Any other advice?
arduino uart rs485 j1708
$endgroup$
I'm building a project with multiple RS-485 senders ("masters") and one receiver:

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?

- Any other advice?
arduino uart rs485 j1708
arduino uart rs485 j1708
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
$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.
$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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$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.
$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
add a comment |
$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.
$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
add a comment |
$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.
$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.
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
add a comment |
$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
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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