This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RS485 network failing on replacing MAX485 with DS485 or DS36C279

Other Parts Discussed in Thread: MSP430G2553

I have build a RS485 communication system  between a PC and a MSP430 launchpad board using MAX 485 RS485 chip from Maxim integrated.The circuit diagram is attached as an image.

I have given a detailed explanation first and the problem at the end

Transmitter Section.

Consists of  an FT232 (USB to UART converter) connected to a MAX485 chip.The CBUS pins of the FT232 are configured to control the DE and ~RE pins of the MAX485 .

A 120 ohm termination resistor is connected to the MAX485 chip in the transmitter.

Two Biasing resistors are connected to A,B of MAX485 and pulled up and down as shown in the circuit.

FT232 signal levels are at 5V levels.

Receiver Section 

A MAX485 is interfaced to a MSP430G2553 as shown in the attached image.

A 120 ohm resistor is used as termination in the receiver side.

Working

The PC transmits a couple of characters through the transmitter section.CBUS pins are used to control the he DE and ~RE pins of the MAX485 using a library provided by FTDI.

On the receiver side MSP430 waits for the characters and blinks an LED on receiving it.

The  transmitter and receiver are connected by a 1 meter long twisted pair (not shielded).

During testing the power for transmitter and receiver are taken from the same PC USB port ,(grounds are same).

The Transmission baudrate is 9600,8N1 data format.

Problem

The characters transmitted from the PC through the transmitter section are received by the MSP430 and it lights up the corresponding LED.

The Problem comes when i replace the MAX485 ic in the receiver section with DS485 or  DS36C279 which according to TI are drop in replacements for  MAX485.like this

[FT232]+[MAX485] ----------------------- [DS485]+[MSP430]

After replacement The MSP430 in the receiver side stops receiving the serial data,No serial data received interrupt is coming in MSP430.If i put back the MAX485 in the circuit the system works perfectly

Why does this happen?

Now if i use DS485 on both sides  as shown below

[FT232]+[DS485] ----------------------- [DS485]+[MSP430]

system works fine.

Also if i use DS36C279 on both sides  as shown below

[FT232]+[DS36C279 ] ----------------------- [DS36C279 ]+[MSP430]

system works fine.

Also if i interchange the ic's like 

{FT232]+[DS36C279 ] ----------------------- [DS485 ]+[MSP430]

system works fine.It appears that TI chips do not work with the RS485 chips from Maxim.

Does anybody know how to rectify this problem?

 Please click on the image to see it 

  • Hi Rahul,

    I am looking into this issue. As these two TI parts date back about 15 years, I will need one or two days to research and get back to you.

    Thanks,

    Michael

  • Hi Rahul,

    I took some time to take a look at this, and it is tough to say what the root cause of the problem is. The parts are all pin-to-pin compatible and are spec'd to meet the same signal levels specified by RS-485. From a practical standpoint, the parts should be able to inter-operate with one another.

    I do notice that all three of these parts incorporate fail-safe biasing in the event that receive inputs are open. I am wondering if there may be something internally that is different between the Maxim and TI implementation for the receivers that are causing this incompatibility, possibly that something is causing the inputs not to recognize the minimum +/- 200 mV VOD threshold. Again, due to the age of these parts, I am unable to locate more background information other than what is on the datasheet.

    I am wondering if you could try two things as an experiment to see if you can get serial communication back when interoperating TI and Maxim:

    1. Swap the MAX485 and DS485 so that the DS485 is the transmitter side and the MAX485 is on the receive section:

    [FT232] + [DS485] ================== [MAX485] + [MSP430]

    2. Remove the 1kOhm pull-up and 1kOhm pull-down external fail-safe bias resistors on the transmitter side. 

    Thanks,

    Michael

  • Dear Michael,

    Thank you for taking the time to go through the entire post.I have tried out your suggestions and the results are posted below.

    "1. Swap the MAX485 and DS485 so that the DS485 is the transmitter side and the MAX485 is on the receive section"

    I have made the connections as shown below

                    Transmitter     -------------------------------------------------------------------------------------------->  Receiver

    [PC] ===FT232] + [DS485]================================================> [MAX485] + [MSP430]

    Termination Resistor -120 Ohms on both sides

    No biasing resistors are used (1K resistors are removed) 

    DS485 transmits and MAX 485 receives

    On the Transmitter side,

    PC communicates with DS485  through FT232(USB to UART converter),CBUS pins control RE and DE of DS485 .

    On the PC  a software transmits  character  'A' ,waits for 1 second and transmits A again in a loop into the Virtual COM port of FT232.

    COM port Operates at 9600 bps, 8N1 data format.

    On the receiver side,

    MAX485 is interfaced to MSP430 

    RO ->P1.1

    DI <-P1.2

    P2.0 and P2.1 controlling RE and DE

    MSP430 waits for the Character 'A' and blinks the LED on receiving it.Goes back to wait for new character again.

    Result

     MSP430 do not receive the characters send by the transmitter,No UART interrupt is coming. 

    ________________________________________________________________________________________

     

    Debugging using LED


    On the transmitter side,

    I have connected a LED to the input of the DI pin of DS485 chip,

    when software on the PC transmits the data continuously LED connected to the  DI pin of DS485 chip is Continuously on ,No blinking is observed.

     

    On the Receiver side,

    I have connected a LED to the output of the RO pin of MAX485 chip,

    when software on the PC transmits the data continuously,

    On the receiver side the output of the RO pin of MAX485 chip blinks Continously 

     

    NOW if i replace the DS485  on the Transmitter with MAX 485  such that circuit looks like this

      Transmitter     -------------------------------------------------------------------------------------------->  Receiver

    [PC] ===[FT232] + [MAX485]=======================================> [MAX485] + [MSP430]

    Termination Resistor -120 Ohms on both sides

    No biasing resistors are used (1K resistors are removed) 

    MAX485 transmits and MAX 485 receives

     

    The System works,MSP430 recieves the Characters transmitted by the PC.

     

    In this case,

    On the receiver side the output of the RO pin of MAX485 chip stays continously on .No blinking is Observed.

    In short whenever  the system does not work the RO pin on the receiver side Blinks.

    When the system works fine RO pin Stays continuously on.

     

     "2. Remove the 1kOhm pull-up and 1kOhm pull-down external fail-safe bias resistors on the transmitter side. "


    I have done the experiment in the first post with and without biasing resistors the results are the same 

    Regards

    Rahul

  • Dear Michael,

    Any progress with my query?

    Regards

    Rahul

  • Hi Rahul,

    Unfortunately, I am unable to pinpoint the source of this inter-operability issue. There may be differences in the datasheet parameters that are leading to this issue.

    For example, one thing that is different is the enable/disable times for the three devices. Try measuring the output waveforms observed coming from the MAX485, DS485, and DS36C279 DO and RO in the cases where the signaling worked and when it didn't to see if you can spot a difference in the transmitted waveforms and a way to resolve it.

    From your findings thus far, we conclude that, though the MAX485 can be replaced with a DS485 or DS36C279, the TI and Maxim parts cannot interoperate together.

    Thanks,

    Michael