I have a few rs485 questions. I have accidentally installed a 5v transceiver in a 3.6v circuit ...
Absolutely nothing wrong with mixed voltages, it's very common now. There are plenty of Transceivers for these situations.
Questions - What is "Unit Loads" this chip is specified as "1/8"?
Not totally sure of unit load, but they say you can have 256 nodes, which is quite high. Since it says "optional", I wouldn't worry about it.
Maybe it's a de-rating at 32MB speeds.
- The part specifies a signalling rate of 1Mbps (there are others for 10Mbps and 32Mbps). Is the only speed it will work at, or will it work up to the specified rate? What happens if I use the 32Mbps chip at 1Mbps?
Absolutely FINE. You can go from DC to the max speed. It's not like TCP for example, with a narrow Freq range.
- Is there anything else I should be looking at.
I've made 1,000s of RS485 driver / converter sets. It's pretty damn well bullet-proof. Leave provision for 3x Terminating resistors.
D+ to Supply, D- to Gnd, and D+ to D- . Depending on your network topography, you may need to Terminate the end-of-lines.
RS485 ideally likes a daisy-chain network, with terminations each end. Star network is the "hardest" to get perfect. BUT, I've had all
sorts of mixed combinations work perfectly fine. Even though it's supposed to be a NON-0V referenced system, sometimes I've had
to use opto isolation on "bad" nodes, but they were over KMs away, in different buildings.
And some general rs485 questions...
- I'm running a 5v transceiver at 250kbs at 3.6v, sending 10 short messages per second, and I'm getting crc receive errors in about 1 in 10 messages (20cm link). Is this mostly likely due to running the chip undervoltage?
VERY unlikely, as I said, the drivers are designed for multi-voltage. The specs say 6V max Vcc. More likely your termination resistors,
or topography. Is it just 1-1 for now? Otherwise, if you don't need the speed, there are other chipsets with more flexible Voltage ranges.
- I'm only using 2 wires (D+,D-) at the moment. Do I need to ground all the modules on the rs485 bus too? I tried this, but it seemed to increase the error rate.
IF you mean "connect the 0Vs" - ie 3 wire : By the specs, you're not supposed to, BUT I always have and it's NEVER been a problem.
Your issue must be something else.
- Termination resistors - From what I've read, I need to put 2 x 120ohm resistors across D+,D-. These should be placed at either end of the rs485 chain. How important is the value of the resistors, and their placement? Is there a way to check my chain is "good"? What does an oscilloscope show when the chain is good and bad?
Depending on the number of nodes, it should be pretty close. On a slightly messy star network, I use ~330-500R at each branch, to
get it close to 120R. The lower the data-rate, the more you can get away with, but 120-150R should be the final range. Try the extra
2 resistors to Supply/0V. I use from 1K-2K2. Terminations should be reasonably close to the end nodes.
As far as CRO waveforms go - IF, you use 3x Resistor termination method, both signals should never be higher or lower than Vcc/0V
by 1V (it's how they detect a short). So you'll see a 1-2V square wave, opposite polarity.
RS485 is quite easy to use, so your problem shouldn't be hard to solve.