Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] [moved] RS422 communication failure at elevated temperature

Status
Not open for further replies.

jeevaaraam

Member level 2
Joined
Nov 21, 2011
Messages
45
Helped
8
Reputation
16
Reaction score
8
Trophy points
1,298
Location
Chennai
Activity points
1,735
I have faced peculiar problem with RS422 COMMUNICATION Rx side.

The circuit flow is add follows,
TX -> CABLE (Length 3m, twisted pair) -> 120 ohm shunt & Transceiver IC (Make - TI: AM26L, RS422 to TTL level) -> UART chip -> processor.

Note :
1) 120 ohm shunt & Transceiver IC are in Communication board.
2) UART chip & processor are in processor board.
3) The above two boards are connected through mother board.
4) Tx from ATE system.

Operated Baud rate: 115200 and 9600 ( Both case it was failed)

The setup should be worked upto 55 deg C.

The circuit is working fine upto 45 deg C. But it is not working above 45 deg C. If the board is cooled below 44 deg C, the test was passed.

The failure is found as two cases,
1. Data is missed (For ex: If Tx is AAFF, Rx is AFF)
2. CRC error.

I have probed the data at input (differential ) and output (single ended TTL) of Transceiver IC. The Tx data is available at all times. The time is observed as 8.04us at 115200 baud rate.

If the communication board is replaced by other one, the mentioned problem is not observed.

Hence , the problem is isolated to that particular communication board.

Since, the Tx data is available , while proving, I cannot isolated the issue in the particular board. Is it the PCB Malfunctioning above 45 deg C?
 

Re: RS422 communication failure at elevated temperature

Maybe you have a timing problem between the Transceiver IC and the UART chip or between the UART chip and the micro.
 

Re: RS422 communication failure at elevated temperature

But the communication board is replaced by other one, the setup is working fine. Also I'm having 7 working systems of the similar type.
 

Re: RS422 communication failure at elevated temperature

Almost always temperature related problems that appear on a small number of boards is typically caused by some timing problem that wasn't addressed in the design. Most of the boards work, but there are those boards that don't work at some temperature, but work at other temperatures. Was the interface between the Transceiver IC/UART and UART/microcontroller analyzed correctly for both best and worst case timing?

- - - Updated - - -

I've seen cases where inexperienced engineers would change good parts out because a board didn't work and after words the board works so the test instructions reflect that change, but it turns out the design was capturing the data when it was changing due to an error in the interface design. I got dragged into debugging the problem because the new FPGA based design (that matched the interface specification) that I did was much faster than the original SSI interface and was able to sample the changed data. All it took was a scope after I determined that I was getting bad data to see that the last data word was changing at the clock edge instead of mid-bit like the reset of the transfers.
 

Re: RS422 communication failure at elevated temperature

From my analysis, I have located the problem in Communication board. Hence, UART to processor will not be in the scope.

Also, the operating temperature of Transceiver IC is 125 deg C maximum.

For your information, I have same system about 28 Nos (was worked at 75 deg C, 8 hours ) and I have faced this problem in only one board. From that I have concluded that there is no issue with timing. Correct me, if I'm wrong.
 

Re: RS422 communication failure at elevated temperature

Hi,

only one board...
* Bad solder joint
* bad via at the PCB
* bad power supply



You connected GND of both systems and the signal pair?
Not shielded I assume?

Do you have ESD protection diodes installed? An interface chip that once got an ESD pulse that damaged the isolation barrier inside the IC may show this behaviour.

With a scope you should be able to locate the problem.

Klaus
 

Re: RS422 communication failure at elevated temperature

From my analysis, I have located the problem in Communication board. Hence, UART to processor will not be in the scope.

Also, the operating temperature of Transceiver IC is 125 deg C maximum.

For your information, I have same system about 28 Nos (was worked at 75 deg C, 8 hours ) and I have faced this problem in only one board. From that I have concluded that there is no issue with timing. Correct me, if I'm wrong.

Sounds like you didn't actually analyze anything, just ran it at a bunch of temperatures and tested it as if it was designed correctly in the first place.

Analyzing the timing means checking the min and max timing for all paths for setup hold timing between each chip and accounting for skew and jitter. If the design is clocking the interface or is asynchronous it doesn't matter you need to verify that all the timing between the chips is adhered to. If you don't understand what I'm saying then you should learn this as it's important regardless of being lucky most of the time. I sure wouldn't want a design in say a medical device with this standard of testing and design analysis being done.

If the design was done incorrectly and it's violating setup or hold or some other signal relationship, it may work most of the time for nearly every board, but given the right set of parts that exhibit the worst case timing with the worst possible relationship then you end up with a problem.

If you insist everything is okay then just replace all the parts and ignore my advice. That's what I describe in my other post, they covered up the design flaw by cherry picking parts till it worked. I never asked how many parts were removed and replaced on those previous boards. Or perhaps there is something wrong with the PCB that responds to heat, perhaps a problem solder joint, or delamination.

- - - Updated - - -

With a scope you should be able to locate the problem.

Klaus

The original post mentions looking at the Transceivers RX pair and everything looked fine and all the RX data reached the IC.
 

Re: RS422 communication failure at elevated temperature

Thanks for supporting me to find the root cause. I'm expecting further too.

The timing analysis had been done for proto system and the timing are within the margin.

Today, At temperature 55 Deg C (during debugging, the temperature went upto 55 Deg C!), I have problem with 6 channels of RS422 and also two channels of RS232 (Which is available in the same 'Communication Board'). The RS232 transceiver is 'MAX232AMLP'. Both RS422 & RS232 receivers are placed in the same zone of the board.

The RS422 receiver (AM26LS32AMFKB) has 4 channels and all are used in the board. Out of 4 channels, 3 channels are failed. Similar case in the two receivers (Totally 3 x 2 = 6 channels are failed).

If there is component performance degradation, it may not happened to all 4 devices (2Nos - RS422 & 2Nos - RS232).

The soldering touch done for all the 4 devices and same failure observed.

Now, shall I suspect the PCB? But, out of 4 channels, one is passed. The routings are almost in the same zone in the PCB for all the 4 channels. Then, PCB issue may not possible.
Am I going in the right path of debugging?
 

Re: RS422 communication failure at elevated temperature

It seems like a reoccurring theme with that MAX232 part I've seen more than one post (in various forums) about issues with that part and various "fixes" to make it work, e.g. adding caps, extra resistors, diodes, etc. Makes me wonder if that part is inherently just a bad design.

The problem from this end seems like it's pointing towards a board problem, has that board been subjected to any unusual stress? e.g. overheating, contamination, mechanical stress, etc?

Perhaps if you have a TDR unit you can check if there is some impedance discontinuity between bad RS232 input from the ?connector? and the max232 part which might indicate a problem with PCB like a broken via. Should be pretty obvious if there is a significant change in the TDR results as the temp increases.

- - - Updated - - -

I have probed the data at input (differential ) and output (single ended TTL) of Transceiver IC. The Tx data is available at all times. The time is observed as 8.04us at 115200 baud rate.

I just remembered that you implied that you checked the transceiver input for the bad RS232 at the transceiver IC at the failure temperature and the signal was fine even when the scope was on the pin and you couldn't communicate properly. Is this true? Was this also done in a infinite persistence mode or single shot so you can examine the quality of the signal?

If this was the case and the signal looked fine (or exactly the same as the working temperature) then I would suspect the problem is the RS232 IC itself being bad or more likely damaged in handling due to ESD (I have no clue how strict your company is about ESD, but I've never seen a problem with parts when a company is extremely careful about it).
 

Re: RS422 communication failure at elevated temperature

1. I had probed about 8 iteration with different Tx data ( Data size - 128 byte - 2 Itn, 4 byte - 6 Itn). The probed waveform is same as Tx data and the time is almost same as in working temperature.

2. The ESD guidelines are strictly followed throughout the process.

3. The board was undergone board level screening test - "Stabilisation bake test " (85 deg C, 24 hours, OFF condition) and "Thermal shock test " ( -55 deg C and +85 deg C, 10 cycles, period of exposure is 30 minutes at each temperature, OFF condition ).
 

Re: RS422 communication failure at elevated temperature

Further to this, I have found that the Rx failure has occurred only when the temperature is high and Tx data is x2 or x6 or xA or xE, Where 'x' is don't care.

Means that if LSB0=0 and LSB1=1 after start bit, the communication has been terminated.

I have checked the line status register, it shows ' NO DATA ERROR ' after receiving the above mentioned data. But the data is physically available on the bus ( Both Transceiver IC out pin and UART IC IN pin).

This is not observed below 45 deg C.
 

Re: RS422 communication failure at elevated temperature

Hi,

Interesting.

Do you have a detailed description about "no data error".
Is it when it received nothing or wrong stop bit?

When in idle... please measure the following voltages with a DVM.
* transmitter TX+_voltage wrt transmitter_GND.
* transmitter TX-_voltage wrt transmitter_GND.
* receiver RX+_voltage wrt receiver_GND.
* receiver RX-_voltage wrt receiver_GND.

Klaus
 

Re: RS422 communication failure at elevated temperature

I think the real diagnosis will come from using a logic analyzer on both pairs of lines. Clearly something shifts in the bit timing and that isn't normally due to the interface itself but the UARTs providing the serial bit stream. As you have eliinated the data source already, the next question has to be: is there any circuitry between the UART and the RS422 interface? Perhaps the problem is more 'in-board' than the actual TX and RX wires.

Brian.
 

Re: RS422 communication failure at elevated temperature

When in idle... please measure the following voltages with a DVM.
* transmitter TX+_voltage wrt transmitter_GND.
* transmitter TX-_voltage wrt transmitter_GND.
* receiver RX+_voltage wrt receiver_GND.
* receiver RX-_voltage wrt receiver_GND.

Klaus

Transmitter TX+_voltage wrt transmitter_GND = 4.1V
Transmitter TX-_voltage wrt transmitter_GND = -4.0V

I have connected both transmitter_GND and receiver_GND, ( System configuration is like!)

As I mentioned earlier, I have Transceiver IC and it is converting the differential signal to TTL LEVEL.

The converted TTL LEVEL = 4.2V.

If I included the 10k pull up at the Transceiver output, the voltage level is 4.95V.

The UART IC will take greater than 2.8V as LOGIC HIGH and less than 0.8V as LOGIC LOW.
 

Re: RS422 communication failure at elevated temperature

Hi,

Transmitter TX+_voltage wrt transmitter_GND = 4.1V
Transmitter TX-_voltage wrt transmitter_GND = -4.0V
No wonder if it fails, if those values are true..

RS422 transmiters will never output negative voltages wrt GND!
And the positive is too high for my taste...when properly terminated.

I have connected both transmitter_GND and receiver_GND, ( System configuration is like!)
For sure you should. But with the four measurements you (I) can find out about GND bounce between driver and receiver...and the absolute voltages for transmitter and receiver.

******
Show us the complete communication circuit..from uart output to uart input..with all connections and supply voltages.

There is something really wrong with your circuit!

Klaus
 

Re: RS422 communication failure at elevated temperature

@Klaus

The voltage measure using DVM are as follows,

Transmitter TX+_voltage wrt transmitter_GND = 3.74V
Transmitter TX-_voltage wrt transmitter_GND = 1.15V

The converted TTL LEVEL = 4.2V.

The earlier mentioned data is wrong.
 

Re: RS422 communication failure at elevated temperature

@Brain

<As you have eliminated the data source already, the next question has to be: is there any circuitry between the UART and theRS422*interface? >

There is a TRANSCEIVER IC, which converts RS422 level to 5V TTL level. This is available in the communication board.

- - - Updated - - -

One more observations is that in FIFO mode with one retry (means that one more try to read the FIFO) , it was passed. For each byte, which has x2 (or x6 or xA or xE ), one retry is required. Then it is passing.

For example 1:
Tx data AA01 0E55.

Rx data is AA01 0E <NO DATA ERROR >.
Retry to read fifo, then 55 received.

For example 2:

Tx data AA02 0E55.

Rx data is AA02 <NO DATA ERROR >.
Retry to read fifo, then 0E received and then <NO DATA ERROR >.

Retry to read fifo again , then 55 is received.

********

From the above, it shows that FIFO has received all the required data. One thing to know that what makes FIFO to give 'no data error ' after the mentioned data pattern( x2 or x6 or xA or xE ). What is the need for retry?

And also why it is happening only with that paticularl communication board.
 

Re: RS422 communication failure at elevated temperature

Hi,

From the above, it shows that FIFO has received all the required data. One thing to know that what makes FIFO to give 'no data error ' after the mentioned data pattern( x2 or x6 or xA or xE ). What is the need for retry?
Things clearing up.

You read the FIFO too fast. It is empty because the 0x55 simply has not yet arrived.

But this is no error of the system.. It just takes it´s time to send 4 bytes.
With 9600 baud it takes at least 4.16 ms to transmit 4 bytes.

Klaus
 

Re: RS422 communication failure at elevated temperature

Hi,


Things clearing up.

You read the FIFO too fast. It is empty because the 0x55 simply has not yet arrived.

But this is no error of the system.. It just takes it´s time to send 4 bytes.
With 9600 baud it takes at least 4.16 ms to transmit 4 bytes.

Klaus


Hi Klaus,

1) Iteration 1:
I have read the Rx FIFO after 20 seconds of transmission of data(128 byte). The same NO DATA ERROR has been observed after the mentioned data(x2 or x6 or xA or xE ). If any of the above data is not in the Tx pattern, all the 128 byte are received.

2) Iteration 2:
I have read the Rx FIFO 'byte by byte' after 20 seconds of transmission of data(128 byte). Also given 2 seconds delay between each byte read. Response is same.

ie) Tx of data, 20 sec delay, read first byte, 2 sec delay, read 2nd byte, 2 sec delay, read 3rd byte and so on.

Note: Tx had sent the data only one time. During retry, Tx is not sending again and only I'm reading Rx FIFO one more time.
 

Re: RS422 communication failure at elevated temperature

Hi,

It's really time to show us the complete circuit, like I requested before.
Also the voltages at receiver side are still missing.
Code could also help.

Klaus
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top