Other Parts Discussed in Thread: THVD1400, THVD1420
Tool/software:
Good day.
Having a look into the datasheet, I see that minimum operating voltage is declared as 4.75V. I like to use this driver because it allows more nodes than other drivers.
I have two questions for better understanding:
As the datasheet does not cover answers to below questions, I want to ask here to be on safe side in future designs.
- I have designed several PCBs where the IC is supplied with 3.3V only, because of missing availability of 5V. So the SN75176A is running 1.45V below specified minimum operating voltage. This boards work fine, with absolutely no problems (19200bps, bus length <20m). Can you, please, tell me what effect this under-voltage operation has, as there is absolutely nothing mentioned in the datasheet on that?
- Will the bus length be shorter (and approx. to which length)?
- Is the transmission speed limited?
- Is the number of nodes limited? - When running the SN75176A on +5V, but running the MCU on +3.3V, what kind of adaption of voltage levels is needed?
- What is the maximum output current on "R" (Receive Data Out) of SN75176A? It is long ago that I built a board where I forgot to insert any voltage divider, but this board works since years! (Possibly because protection diodes on PIC controller are stronger than Fan-out of SN75176A.)
- Is it acceptable to use a series resistor of i.e. 4k7 inside line "R" and a diode to +3.3V afterwards? This will not cause a pull-down to GND as a normal voltage divider does, when the receiver is disabled.
- Or is it better to use a singe buffer (Non inverting Schmitt trigger with 5V tolerant input) to do level shifting?
The reason for 2.) is simple: I usually add a pull-up resistor on "R" to get the signal into Idle state. This keeps the serial data line to MCU on high level when the receiver is disabled, and disabling the Receiver keeps the line in "IDLE" state. Using a voltage divider has the drawback of pulling the serial data line to GND when the receiver is disabled, this generates a fake start-pulse followed by a framing error, not what I like. Using a resistor and diode towards 3.3V will limit the voltage to approx. 3.8V but this will cause no harm to MCU because MCU has a further input protection diode and the current is limited by the resistor (also the pullup resistor will still work as before).
Of course, a buffer is the best way, but is it necessary at low baudrate?
From my opinion this 4.75V primarily come from maximum bus length.
Lower voltage -> lower voltage on other end -> no sufficient voltage difference for reliable operation. As RS485 can run on bus lengths lots more than 1000m, 3.3V should be easily work within 100~200m?
Thanks in advance for your answer(s).