I have a Microchip PIC with a USART port connected to a MAX3485. The PIC is polled over the RS485 link(half duplex) by a controller which I have no control over.
When I run the master polling with no devices connected, I can run a monitor of the RS485 link and see the polls being transmitted. When I connect devices that don't respond (wrong poll address) then I can still see the polls on the monitor. As soon as I poll a valid device address, the transmission gets corrupted. This looks like a turn-around problem. I can look at the RS485 with my scope, but it is not possible to see which side is transmitting at any given point in the trace. If I could see which side is transmitting when, I should be able to fix the problem quite easily. Unfortunately I don't have control over the firmware in the master device(poller) so I cannot change the turnaround or timeout values in the poller device. I am using quite a fast PIC(40MHz) so I might be responding too fast, although I have tried slowing it down and it did not fix the problem. The link runs at 65200bps and the timeout is very short(don't remember off the top of my head).
My question:
Is there a way to set the scope up so I can see which trace belongs to which side? I have thought of inserting a resistor inline on the one side, producing a smaller voltage wave pattern, but I am not sure if this will work. If I had a dual trace scope I could have traced DE/RE on the master and the slave, but unfortunately I only have a single trace scope.
Any advice appreciated.
Note: This is really a scope setup question.
When I run the master polling with no devices connected, I can run a monitor of the RS485 link and see the polls being transmitted. When I connect devices that don't respond (wrong poll address) then I can still see the polls on the monitor. As soon as I poll a valid device address, the transmission gets corrupted. This looks like a turn-around problem. I can look at the RS485 with my scope, but it is not possible to see which side is transmitting at any given point in the trace. If I could see which side is transmitting when, I should be able to fix the problem quite easily. Unfortunately I don't have control over the firmware in the master device(poller) so I cannot change the turnaround or timeout values in the poller device. I am using quite a fast PIC(40MHz) so I might be responding too fast, although I have tried slowing it down and it did not fix the problem. The link runs at 65200bps and the timeout is very short(don't remember off the top of my head).
My question:
Is there a way to set the scope up so I can see which trace belongs to which side? I have thought of inserting a resistor inline on the one side, producing a smaller voltage wave pattern, but I am not sure if this will work. If I had a dual trace scope I could have traced DE/RE on the master and the slave, but unfortunately I only have a single trace scope.
Any advice appreciated.
Note: This is really a scope setup question.
Last edited: