I just wanted to confirm what the UART max baud rate out of the MOD5270 is? The documentation wasn't completely clear on it.
Are all three UARTS identical in that respect or are there limiations on some UARTs?
Thanks.
Scott
MOD5270B UART max baud rate?
Re: MOD5270B UART max baud rate?
The divider register for the baudrate is a 16-bit and the minimum value for this register is 2. The formula for this divider is:
divider = ( CPU_CLOCK / ( 64 * baud ) )
2 = ( 147456000 / ( 64 * Baud ) )
Baud = 1152000
All 3 of the UART peripherals are identical in their capabilities, they can all do the same speeds. The level translators on the dev-boards is rated for about 250kbit. You either need to use the UART as a digital signal or get different driver ICs that are rated for higher speeds.
The standard serial driver will not reliably maintain a 1mbit serial transfers. There is only a single transmit register in the UART peripheral so this would require over 100K interrupts per second just for the TX of the UART. You will want to use a custom serial driver that can handle the higher bandwidth. Hardware flow control is definitely the best way to ensure you do not lose any data at these high speeds. There is an application note with 4 driver examples here: http://www.netburner.com/downloads/mod5 ... rial70.zip
You can also get much higher baudrates if you put the UART in synchronous mode. While experimenting with this mode I have been able to get baudrates of about 10mbit. This requires an external shared clock between the two devices communicating, I used one of the DMA timers. This also will require a polling or DMA serial driver as 1million+ interrupts per second is not possible.
divider = ( CPU_CLOCK / ( 64 * baud ) )
2 = ( 147456000 / ( 64 * Baud ) )
Baud = 1152000
All 3 of the UART peripherals are identical in their capabilities, they can all do the same speeds. The level translators on the dev-boards is rated for about 250kbit. You either need to use the UART as a digital signal or get different driver ICs that are rated for higher speeds.
The standard serial driver will not reliably maintain a 1mbit serial transfers. There is only a single transmit register in the UART peripheral so this would require over 100K interrupts per second just for the TX of the UART. You will want to use a custom serial driver that can handle the higher bandwidth. Hardware flow control is definitely the best way to ensure you do not lose any data at these high speeds. There is an application note with 4 driver examples here: http://www.netburner.com/downloads/mod5 ... rial70.zip
You can also get much higher baudrates if you put the UART in synchronous mode. While experimenting with this mode I have been able to get baudrates of about 10mbit. This requires an external shared clock between the two devices communicating, I used one of the DMA timers. This also will require a polling or DMA serial driver as 1million+ interrupts per second is not possible.
-
- Posts: 513
- Joined: Sat Apr 26, 2008 7:14 am
Re: MOD5270B UART max baud rate?
The 3 UARTS are pretty much the same if you consider Tx and Rx pins only. There is some difference related to the MOD5270 hardware handshake pins. Uart0 has dedicated RTS/CTS pins. Uart1 and 2 share pin J2/33 for CTS. Similarly Uart1 and 2 share J2/32 for RTS, although Uart2 can also use pin J2/26 for RTS. Practically, this means you can have Uart0, and either Uart 1 or 2 run in hardware handshake mode, not all three. You can use all three UARTS w/o hardware handshake.
I don't think the Dev70 board supports J2/26 for RTS use although you could use that pin for RTS on your own board.
I seem to remember that the ModDev70 boards only support RS232, while the Dev 100 board supports RS422/485 in full or half duplex for at least some, but not all of the UARTS.
C:\nburn\MOD5270\include\pinconstant.h and
C:\nburn\docs\platform\schematics\MOD-DEV70-sch-R1p7.pdf for details.
I don't think the Dev70 board supports J2/26 for RTS use although you could use that pin for RTS on your own board.
I seem to remember that the ModDev70 boards only support RS232, while the Dev 100 board supports RS422/485 in full or half duplex for at least some, but not all of the UARTS.
C:\nburn\MOD5270\include\pinconstant.h and
C:\nburn\docs\platform\schematics\MOD-DEV70-sch-R1p7.pdf for details.