PORTS Forum

Ports and Interfaces => Serial Ports => Topic started by: jvh24521@gmail.com on February 07, 2023, 10:32:44 pm

Title: D Tech DT-5019 is slow
Post by: jvh24521@gmail.com on February 07, 2023, 10:32:44 pm
I am using a D Tech DT-5019 USB to RS-422/485 converter which is connected to the D9 patch board that came with it. Connected to the patch board is about 1 ft of ethernet cable that connects to my target board via an RJ-45 connector using a 4 wire plus ground connection. It will not communicate reliably above 9600 baud.

Any similar experience or suggestions?

Thanks,
John
Title: Re: D Tech DT-5019 is slow
Post by: Jan Axelson on February 08, 2023, 12:00:51 am
Check the terminations.

https://www.analog.com/en/technical-articles/rs485-cable-specification-guide--maxim-integrated.html
Title: Re: D Tech DT-5019 is slow
Post by: jvh24521@gmail.com on February 13, 2023, 02:25:28 pm
Thanks for the suggestion Jan.

Interesting results. I had assumed the converter had termination resistors, why would it not, I thought. Since it has a D9 connector that mates to a cable I thought the resistors should be in the device, not my cable connector. So I added the termination resistors and set the baud for 115200. It worked, in a way. I am no longer getting errors on the echoed characters but the overall transfer rate is still the same, about 1000 Mbps. So now that I can get the desired bit rate I need to look elsewhere. I have Visual Studio C++ and TI CCS both running on the same PC, a Dell Precision 7760. Both task are using the same USB 3.0 hub but I would not think that a problem. My next step will be to let these tasks write a character in a tight loop and look at it with a scope, then go from there. Maybe my Atolla hub is not all it claims to be.
Title: Re: D Tech DT-5019 is slow
Post by: Renate on March 20, 2023, 09:21:43 pm
... set the baud for 115200. It worked, in a way. I am no longer getting errors on the echoed characters but the overall transfer rate is still the same, about 1000 Mbps.
Huh? 115.2 kbps makes sense. I don't know what you mean by 1000 Mbps.

Various serial chips do some buffering before they put a buffer of received data on the USB.
In Linux world there is ioctl TIOCSSERIAL and ASYNC_LOW_LATENCY to use the minimum time.
FTDI chips have custom vendor control transfers:
Code: [Select]
#define FTDI_SET_LATENCY_TIMER 0x09
#define FTDI_GET_LATENCY_TIMER 0x0a
Then there's what kind of timeouts you are using in your Windows DCB.