SparkFun will be closed for Memorial Day (5/30). Orders placed after 2pm MT on Friday (5/27) will process and ship out on Tuesday (5/31).


Member Since: November 18, 2007

Country: Switzerland

  • I’m trying to understand how it can work.

    TXD toggle both enables (~RE and DE) and same time it used as TXD!. You can’t use TXD as enable because DE (transmitter enable) must be tied low in order to receive. If you enable your own transmitter you force A/B lines to whatever TXD put on the transmitter buffer (and you are enabling DE with TXD eventually on a frame output, but just when TXD its low -DE high, ~RE high-)

    I think this uses the driver delays in order to work -best guess-, with TXD high -DE low, ~RE low- A/B outputs are H-Z. TXD low -DE high, ~RE high- A/B outputs are tied to TXD state (DI = 0) with A=1/B=0. If you put TXD high again, there is a delay from the enable that allow you to put A=0/B=1 until the internal parts put both on H-Z but this is bad idea, you’re cutting the output level to whatever enable time is -mostly random and varies from part to part for sure-.

    And, by the way (this can be solved with software but this is an bad idea), you need the RXD (and ~RE) enabled along the TXD frame or plain-text: you need to see your echo. This is because the low level -maybe high, sorry the dyslexia- is dominant this is how you control the collisions on the bus. If you put a high level and you are seeing a low level there is something messing with your bus and you need to stop and listen. Toggle the enables with TXD, and you dont know what are you doing, you transmitt blindy and happy but other devices on the bus will be very angry.

    So, what am I missing ?

No public wish lists :(