Interfacing a TX2i via UART to a legacy system which is only capable of 8n1 (i.e. 1 stop bit). I’ve seen the data sheet and errata remarks about the receiver requiring 2 stop bits, and why. I’ve also seen several forum topics regarding a problem at bauds over 115k, although I can’t find anything about such a problem in the data sheet or the one errata that I have found. First question: is there a problem with the TX2i UART at baud above 115K? Second question: is the baud problem related to the stop bit problem, and how? (From the errata’s explanation it seems lower baud rates should exacerbate the stop bit problem, but some topics seem to imply that working at or below 115k baud will solve the stop bit problem - hence my confusion.)
I do not have full details on this, but apparently clocks are slightly off above 115200 (the further above that speed the further the clocks differ from the standard speed). There is a certain timing tolerance allowed, and two stop bits increases timing error allowed. Sorry, I don’t know if that is written anywhere.
Thank you! That does fit with several of the posts and my interpretation that above 115200 the granularity provided by the divisor chain doesn’t allow for the work-around of slightly off-setting the clock. (Somewhere in the forum I saw that the tolerance is 0 - +4% so the clock should be set at +2% to give an effective tolerance of -2 - +2%.) I can maybe make that jive with the errata sheet’s description (paste attempt below) if I stand on one leg and squint just right, but for our customer I need to find some more direct documentation. (The data sheet just says: “External devices must use 2 stop bits” without any mention of baud rates or a work-around.)
please refer to post #7 from Topic 110229 to set higher baudrate.
OK, thank you. Does this remove the requirement for 2 stop bits, and how? (Re original question: interfacing to legacy system which is fixed at 1 stop bit.)
Maybe someone else can confirm, but from what I know the base clock and multiplier combination is not capable of being put exactly to the correct frequency. This is trivial up to 115200, but I am thinking you will have to still use two stop bits if frequency goes up high enough. About all you can do is set the speed you want and see if it works with one stop bit. If that doesn’t work, then you’ll have to try a slower speed until both devices work with each other under one stop bit.
Alternatively, you could use a USB serial UART.