17 Aug 03 13:20
In that case, it doesn't really matter.
The main differences between a CAN and a RS485 transceiver:
The CAN transceiver works like a RS485 transceiver, just with a dominant '0' and a recessive '1' state. The RS485 transceiver has both states dominant, therefore only one transceiver at a time is allowed to transmit, which results in the typical RS485 master/slave bus configuration. CAN is a multi-master protocol.
(Dominant means that a transceiver is forcing the line to a certain state; any attempt of changing the state before the transceiver releases the line means short circuiting it, which is obviously not good.)
Theoretically, you can use CAN transceivers for RS485 networks (just don't mix RS485 and CAN transceivers on the same line). Likewise, you can create your own recessive/dominant bits with a RS485 transceiver, by tieing the TX line to the desired state and using the TX_enable line for signal transmission, e.g what the National DS36277 does for J1708 communication.
If you use RS485, be aware that you will have to implement all the low level protocol stuff in software, e.g.
- creating data packets from raw data,
- implementing a CRC (not a checksum) with a tested polynomal
- re-requesting errorneous data
- error handling
RS485 will also limit you to a master/slave protocol, i.e. one computer in your network will be the master that polls all the other nodes.
How many nodes will your system have?
If it is just a point to point connection between two computers, then you are actually looking for RS422, not RS485.