Half Duplex RS485 implementation on T30

Hi Toradex,

I implement Half Duplex RS485 communication on iMx7 module, it works perfectly.
Then I tried to implement that on T30 module, I didn’t change the Colibri Evaluation board configuration (jumpers are well connected) and the .Net program is the same.
But the DataReceived event of SerialPort class is not raised when I send data on the Colibri port (but the buffer UART receives the message), however the event is well raised on RS232 communication (using the same UART_B).
And when a probe is plugged on the Rx pin of UART_B, the event is well raised but with an additional byte on the frame.

Why this DataReceived event doesn’t work on RS485 communication with T30 module ?

Best regards.

Did you do any changes on the regstry? Did you set the RTSToggleAlwaysOn as documented here?

Thanks for your response. Yes, I set the RTSToggleAlwaysOn = 1.

But the problem isn’t just with the DataReceived event, I tried polling mode, same problem: the UART_B Rx pin receives the message, but there’s no BytesToRead…
The probe whose I talk in my previous message, has impact on CTS (not on Rx). I connected a pull down resistance (10MOhm) on the UART_B CTS pin, there is BytesToRead, everything works (but this hardware modification wasn’t necessary on iMx7 module).

Why the RS485 receive mode works with this pull down resistance ?

Best Regards.

@MatthiasRms: I assume you are using the already existing connectors on the evaluation board?
Could it be you have CTS Flow controll enabled (fOutxCtsFlow)?

  • Could you once check with our SerialDiag Tool and check if you see the same issue as well. If you use this one. So we have the same situation on your side and on our side. If this is not possible, could you provide us a sample application that reproduces the issue?
  • Which Image version do you test with with the T30? 1.4?

Thanks for your response. Yes, I’m using the bottom left port RS422/485.
The CtsFlow is configurable with the AllowAutoFlowCtrl registry but only on PXA Family. I’ve to use DCB structure?

I downloaded your tool, but I can’t launch it on my board (Error: ‘SerialDiag’ is not valid Windows Embedded Compact application).
I’m using your SerialApplication proposed on your website.

No, I installed 2.0 image (the latest downloadable version).

Best Regards.

Ok, I was not aware you are using CE8, I have uploaded a CE8 Version of the Tool. Can you reproduce the issue also with this one?

Could you provide us the exact setting either of the tool I just have sent you or the .NET Sample tool? Please also let us know if you did any other modifications on the Evalboard like removing or adding jumpers.

Thanks. Yes, the issue is the same: sending works but reception doesn’t. It reads several frame after several sends, instead of reading one frame after one send.

I selected COM2, 115,200 bauds, CTS unchecked, RTS Control Disable.

The Evalboard configuration is the same as Evalboard with iMx7 which works.
(JP11 : CLOSED; JP12, JP14 : OPEN; JP13, JP15 : CLOSED; JP16 CLOSED)

I gave it a quick try but with JP11 Open (ECHO enabled), and got all bits immediately also without having CTS modified. Did you stat your the .NET sample application before starting the SerialDiag tool or did you start SerialDiag directly?

I opened JP11, trying to open the SerialDiag tool before or after the .Net sample application. There is no difference. It’s sometime working but most of the time do not.
With echo mode enabled, the receiver on the PC is well receiving, it’s only the receiver on the Col T30 which is not working.
Did you experience the same problem? Maybe our Col T30 Module is faulty.