AnsweredAssumed Answered

Receive issue with USART and RS-485 transceiver

Question asked by Green.Element on Jul 21, 2016
Latest reply on Jul 21, 2016 by Clive One
We have a custom board with an STM32F107 processor which we have interfaced with a MAX14840 RS-485 transceiver.

When interfacing with this using a USB to RS-485 interface on a PC, the STM32 -> PC (transmit) direction works fine, but the PC -> STM32 (receive) does not.  The UART3 interrupt occurs, but the read character is wrong.  It appears that the USB to RS-485 interface has a rather short start bit, which is not being recognized by the STM32 USART peripheral and therefore causes the data byte to be shifted off (first least significant 0 bit in the data gets interpreted as the start bit).

Is there any way to shorten the requirement of the STM32 USART3 interface in regards to start bit detection?  I have captured the traffic on a scope and it shows the analog signals for the differential pair and the resulting logic level from the transceiver.  The start bit is less than 1/2 of a cycle at 115200 BAUD (measures ~240KHz).

I have connected up two of our custom boards to each other and the transmit and receive works fine, so it is particularly with the USB to RS-485 interface that this problem occurs.

Thanks for any thoughts on resolving this issue.

Best regards,
Element Green

Outcomes