0
\$\begingroup\$

I'm actually designing a system with:

  • ~10 "Master" boards that transmit data from slaves boards to a RS485 network
  • 4 "Slave" boards per master one, connected trough a 3 pin jack (5V, GND and half-duplex TTL)

Most of the time the slaves are sending data to the master (and so to the RS485 network), but each time a new slave is connected I need to send it its position (on which master board it is connected). So here's the schematic I want to use:

schematic

simulate this circuit – Schematic created using CircuitLab

SN74HC245N functional diagram: (from datasheet)

SN74HC245N functional diagram

So each time the micro-controller on the master board is detecting a new slave, it toggles the DIR pin and send the position to slaves (the data sent by others slaves will be lost in this time but that's not a problem).

My questions are:

  1. Will it work?
  2. If, while the master is sending position to the slaves and some slaves are sending data at the same time, is there a risk to damage the SN74HC245N? As it's supposed to be a bus transceiver I think it is protected against this but I'm not sure...

Thank you, Emerick

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

If you want the "master" to be able to override the "slave", you need to put the resistor in series with the slave's transmit pin:

schematic

simulate this circuit – Schematic created using CircuitLab

But what you're doing on the "B" side of the '245 is completely invalid. You can't just tie four of the pins together like that.

For receiving, a 4-input AND gate (unfortunately, CircuitLab doesn't have one) combines the signals, assuming that these are UART signals that are high when idle. For the transmit path, individual resistors are used to limit the current when in receive mode.

\$\endgroup\$
2
  • \$\begingroup\$ Thank you very much for your help! Because my supplier don't have any 4 input AND Gate in DIP package, do you think using 3 2-input gates (from a CD4081BE) to build a 4 input AND would be a problem ? \$\endgroup\$ Commented Jul 17, 2019 at 16:21
  • 1
    \$\begingroup\$ Not at all, it would work just fine. \$\endgroup\$
    – Dave Tweed
    Commented Jul 17, 2019 at 19:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.