RS485 questions... - Page 1
Forum section: electronics / projects

author: alank2
author_rank: Super Contributor
timestamp: January 21, 2016, 10:20:30 pm
content: I'm working on a project with bacnet and a microcontroller. It uses RS485 master slave token passing type protocol. I've read a PDF called the art and science of rs485 and it talks about a terminating resistor on both end points of a daisy chained network that is only 120 ohms. It also mentions a pull up and pull down for the A and B lines to keep them in a known state when no device is driving them. I've got a rise in the B side when the driver is disabled, but I don't see it turn into anything in the receive of the other device (an RS485/usb adapter). Is this normal and no big deal? I've got a couple of screen captures from it with and without the 120 terminating resistor on one side. Second question is, is it no big deal that they are MUCH closer with the terminating resistor in place?There are 3 channels in the scope screen shots. The signal that tells the IC to drive the output, and A & B. This event is the driver being disabled after transmission.

author: alank2
author_rank: Super Contributor
timestamp: January 22, 2016, 04:24:41 pm
content: Bump - has anyone worked with RS485 stuff who has some thoughts?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 22, 2016, 04:54:08 pm
content: Looks like the driver is just outputting a neutral (~0V) state.What's more worrying is the fast risetime and common mode signal, which will ruin half the purpose of RS-485 (low emissions)!Are you sure that's not a "sleep" or "standby" pin instead of a "transmit enable" pin?It seems like a shitty chip design in any case.Tim

author: alank2
author_rank: Super Contributor
timestamp: January 22, 2016, 05:04:12 pm
content: Hi Tim,The IC on the board says 65176B.The traffic before the driver disables looks good, it forces both lines high or low and opposite of each other. I think many of these IC's will go into sleep mode if both the receiver enable and driver enable are disabled, but in this case the RE is active low and DE is active high and they are both being fed from the same uc pin. So it is either RE or DE which would prevent sleep.I don't understand why the rise in B when it disables. B is pulled down to GND with 750 ohms.This may be just my total lack of understanding, but the 120 ohm resistor between A and B brings them much closer together. Wouldn't that be a bad thing? I understand its purpose is to minimize relfections...Thanks,Alan

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 22, 2016, 08:34:56 pm
content: Also, you didn't say what the two screenshots were doing... because in the first, it's on, and then it's on... and in the second it's not..??!Tim

author: alank2
author_rank: Super Contributor
timestamp: January 22, 2016, 08:42:29 pm
content: Hi Tim,Both are shots of the driver being disabled from an enabled state. The top one has no termination resistor, and the bottom one does have a termination resistor (120ohm).I am beginning to think this is normal - though I don't understand why the bump a small period after the driver is disabled.Thanks,Alan

author: ajb
author_rank: Super Contributor
timestamp: January 22, 2016, 11:25:22 pm
content: I'm with Tim on the "shitty chip design" guess--more specifically that there's something wrong with the driver enable circuitry. 65176B is a TI part number, but who knows it's actual provenance.Quote from: alank2 on January 22, 2016, 05:04:12 pmWell, you can get transceivers nowadays with "failsafe" interfaces that will provide a guaranteed logic level if the link is open or shorted, in which case it shouldn't cause a problem, but typically if you have a situation where the bus may be undriven at times (IE, in a half-duplex or multi-master link) you'd want to bias the lines so that they stay at a defined logic level when undriven.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: January 23, 2016, 02:05:59 am
content: in my rs485 stuff, I have 120 across the A+B lines at the begining and end points and none on the drops in between. also the begining and end points have 10k pullups on each RO+DI line. I'm running 3.3v rs485 at 1.5mbps on pic32 uarts using a MAX3485ECPA chip.On the drops between the start + end points, I have 10k pullups on the RO/DI lines but not a 120ohm terminator across A+B.

author: bingo600
author_rank: Super Contributor
timestamp: January 24, 2016, 08:51:54 am
content: Quote from: alank2 on January 22, 2016, 05:04:12 pmHmm Alan , this makes me think about the 10 x RS485 boards i bought on AliExpress, for 5$.I wonder if the TI chips are fakes.I'll see if i can make a testcircuit soon.Did you buy boards on ebay or Ali ?/Bingo

author: alank2
author_rank: Super Contributor
timestamp: January 24, 2016, 01:49:01 pm
content: Hi Bingo,It is this board I'm using - probably sourced parts from good sources:http://bacnetdevelopmentkit.com/Thanks!Alan

author: bingo600
author_rank: Super Contributor
timestamp: January 24, 2016, 06:22:48 pm
content: Quote from: alank2 on January 24, 2016, 01:49:01 pmOutchh - That's a steep price for an avr with usb & rs-485 if.I suppose the author has to live./Bingo

author: uncle_bob
author_rank: Unknown
timestamp: January 27, 2016, 07:40:37 pm
content: HiAccording to the schematic, the IC is a MAX481CSA. There is a jumper at JP1 that should be installed to properly terminate the source. According to the Maxim data sheet, they go open when disabled. No idea how any of this relates to the parts that are *really* on your board.Bob

author: alank2
author_rank: Super Contributor
timestamp: January 28, 2016, 01:21:22 pm
content: Yep, it is pricy - someone else bought it.I think there is a different IC on the pcb than the schematic indicates should be.

author: uncle_bob
author_rank: Unknown
timestamp: January 28, 2016, 06:17:55 pm
content: HiIf the schematic and the board do not agree ... (and it's an expensive board like that) I'd ask the people who made it what's going on. The price certainly should include basic email support. My guess is that what ever is in there - it's a functional equivalent to the Maxim part. Pretty much a standard modern transceiver.When the transceivers on *both* ends of the pair go open circuit (both are disabled), the pair is going to float. That's just how things work. If in your application that matters (it may not), you put on the pull up and pull down resistors. Doing so comes at a penalty in terms of isolation. Things will always be more noise immune without the pull up / pull down resistors. That's why you do not see them in a lot of setups.The pull ups and pull downs are not to be confused with the termination resistors. Those are not optional. They need to be at each end of the twisted pair. That can be a really long ways with these setups. If you have multiple "drops" on the line, only the end ones get terminations. The stuff in the middle just hangs there. That's why you see stuff like the jumper on the board to enable the termination.Lots of fun.Bob

author: NivagSwerdna
author_rank: Super Contributor
timestamp: January 28, 2016, 06:34:11 pm
content: I might draw some horrified gasps here... I don't bother with the termination resistors! But I only have a very short run of <2m. Nor do I have idle-bus pull-ups.When nobody is transmitting I just let A and B float.Have you read...http://www.ti.com/lit/an/slla272b/slla272b.pdf? It's worth a read.The original traces are interesting.... is that ringing at the start, due to the discontinuity and then an RC discharge to steady state. How long are your wires?I just noticed the scale on the scope traces... 200nS? According to the datasheet the 65176B takes 150-250nS typical to turn the driver off from a high state (tPHZ); aren't all bets off during that period? 200nS is nothing, in my case the slaves won't respond for at least 10s of mS later.(I'm using MAX485CSA breakout from EBAY. £0.69, works well to a AKO data logger with Modbus RTU)

author: uncle_bob
author_rank: Unknown
timestamp: January 29, 2016, 06:24:27 pm
content: HiNot all drivers are "happy" without termination resistors. Instead of getting the nice well controlled low level / low slew rate signals , you get "full Vcc" sort of swings instead. This sort of defeats the EMI / cross talk part of the benefit of RS485 ...Bob