Maximum Beaglebone Black UART baud?

I am looking at the UART fighting speeds supported by Beaglebone Black (BB). I can't find it in the BB system reference manual or the datasheet for the sitara processor itself. I am using pyserial and Adafruit BBIO library for UART communication.

Does this keep any value reasonably or is it more standard (9600, 115200, etc.)?

Thanks for any help.

-UPDATE- This is due to the baud rate supported by PySerial. This gives a list of possible baud rates, but not specific ones, which will or will not work with specific equipment.

+3


source to share


3 answers


The AM335x Technical Reference Manual (TI document spruh73) gives the baud rate limits for the UART subsystem in the UART section (section 19.1.1, page 4208 in spruh73l):

  • Transfer rates from 300 bps to 3.6864 Mbps.

Each UART module is clocked at 48 MHz to generate its own time. They can be configured in one of two modes: UART 16x and UART 13x, in which this clock is divided by 16 and 13, respectively. There is then a configured 16-bit divider to generate the actual baud rate from that clock. So for 300 bps it would be UART 16x and divisor 10000, or 48MHz / 16 / 1000 = 300 bps

.



When you tell the kernel driver omap-serial

(which is used by the UART driver on the BeagleBone), it calculates the mode and divider that best approximates the speed you want. The actual speed you will get is limited by how it was generated - for example, if you asked for an arbitrary baud of 2998 bps, I suppose you will actually get 2997.003 bps because it is 48MHz / 16 / 1001 = 2997.003

closer to 2998 than 48 MHz / 16 / 1000 = 3000

.

So UART modules can certainly generate all standard baud rates as well as a large range of arbitrary ones (you'll need to actually do the math to see how close it can get). On Linux based systems, PySerial just baud you, which you pass it to the kernel driver via an ioctl call, so it won't restrict you either.

Note . I just tested sending data from the BeagleBone Black at 200bps and it worked fine, but it doesn't generate 110bps (next lower standard baud rate is less than 300bps) so the limits listed are indeed the lowest and the highest standard rates it can generate.

+2


source


The BBB Reference Manual does not provide baud rate information for UARTs, but for serial communication I usually prefer to use BAUDRATE = 115200 which works in most cases without any problem.



0


source


You can check it manually by connecting your UART BBB port with a minicomputer. To do this, you just need to shorten the Tx and Rx UART. Then just open minicom using

$ minicom -s

      

and set the baud to different rates and see if it works. (Press any key and if you see the symbol then you know the baud rate is working)

0


source







All Articles