RS485 network failing on replacing SP485 chip with MAX485

ftdimsp430rs485serial

I have created an RS485 communication network as shown below.

{PC}->[FT232->RS485](120 ohm)<—-twisted pair(2 wires)——>(120 ohm)[RS485 -> MSP430]

Here PC acts as Master and sends the data towards MSP430.Data is a single 8 bit character.
I am using CBUS pins to put the RS485 chips in Receive mode and transmit mode by using the CBUS bitbang mode. After which I just send the character in serial format.

PC puts the RS485 chip in Transmit mode and sends the data.

On the MSP430 side, MSP430 puts the chip in Receive mode and waits for the character to receive.

On both sides I am using 120R termination resistor.

Now if I am using SP485 chip from EXAR (similar to MAX485) on both sides system works beautifully. No issues.

{PC}->[FT232->SP485](120 ohm)<—-twisted pair(2 wires)——>(120 ohm)[SP485 -> MSP430]

Transmission of the character happens fine.

On the other hand
if I am using SP485 on the PC side and MAX485 on the MSP430 side, the system just fails to receive the character.

{PC}->[FT232->SP485](120 ohm)<—-twisted pair(2 wires)——>(120 ohm)[MAX485 -> MSP430]

Please note that I haven't changed the circuit a bit , I have just dropped in MAX485 instead of SP485. The length of the transmission line is about 1.5 meters and I'm using termination resistors of 120 ohm on both sides.
I don't have any oscilloscope so I have connected an LED to the RO pin of MAX485 on the MSP430 side to check for reception of character.
When I send the character from the PC side the LED on the RO pin lights up indicating some data is coming but microcontroller refuses to acknowledge it.
I have also changed the MAX485 chip twice to check wheter it is the ic's problem.

Does any body have a solution for this ?

Best Answer

Do you have pull-up/pull-down bias resistors on the lines? These bias resistors set the state of the line when it is idle, i.e. no devices are driving it. The behavior of the driver chips is undefined by the standard if the lines are allowed to both float to zero volts. Some drivers implement a feature called 'fail-safe' such as the MAX485, with this feature bias resistors are not required.

See Failsafe Bias Resistors section in this application note.