Forum Discussion
UART max speed
SOPC builder allows for "other" baud rate entries than the standard, with only throwing up a Warning.
I need an isolated link between 2 Nios CPUs, and among other solutions, I'm looking at a 10Mbps isolated /RS-485 transceiver. The SOPC UART will allow me to set the baud rate this fast - but are there internal logic restrictions/constraints that anyone can think of?3 Replies
- Altera_Forum
Honored Contributor
In Quartus II v6.0 Handbook -> embedded peripherals.
You could find this for UART baudrate configuration : divisor=int((clok freq/baudrate)+0.5) baudrate = clock freq / (divisor +1) You have to determine max clock freq of your design to determine max baud rate How to modify baudrate : ------------------------------- According to your clock freq and the baudrate you want, write into the divisor : IOWR_ALTERA_AVALON_UART_DIVISOR(uart_base_addr, new_divisor); don't forget to allow modification of divisor in SOPC Builder you can also read your divisor with IORD_ALTERA_AVALON_UART_DIVISOR.. You don't need to open a file descriptor on the uart IP device example : clock freq : 50Mhz baudrate : 921600 bds divisor = 54 - Altera_Forum
Honored Contributor
Thanks for the reply, I was actually aware of the ability to divide the system clock down for derrivation of the baud rate, but I guess I am leary of whether I could really run Mbps with the uart in terms of processor performance. At 10Mbps, that would mean a byte interrupt every usec or so. Do you know if the processor can handle that? And I know it depends on what all else it is doing, what other interrupts it has to service, but in general?
- Altera_Forum
Honored Contributor
Go there : interrupt uart handler (http://forum.niosforum.com/forum/index.php?showtopic=477&hl=)http://forum.niosforum.com/forum/index.php?showtopic=477&hl=
++