Hi All,I'm starting to work with the Altera's UART IP and have some question about it... 1) What’s the maximum baudrate of the UART, which it can to operate with? According to Qsys GUI, it's maximum baudrate is 115200bps... Does it depend on the UART input clock frequency? 2) Actually I need to transmit 32bits coming at 2.5MHz (32*2.5=80Mbps). So, what’s the solution? The customer requires that the bits stream should be transmitted via UART. As far as I know, there are UARTs working at 100MHz baudrate. Do Altera have such IP? 3) What UART IP’s signal should be connected to the Avalon-MM Master ‘waitrequest’ signal? Should it be UART’s ‘readyfordata’ signal? The Altera's Embedded Peripherals IP User Guide [UG-01085] doesn't describe it clearly... 4) Should the signals of the Avalon-MM Master be synchronized to UART’s input clock? Is the timing of the ‘readyfordata’ signal synchronized to the UART’s input clock? Is the best to drive both the Avalon-MM Master and UART IP from the same clock? 5) The UART IP has the ‘begintransfer’ signal is an input. According to Avalon Spec it’s recommended not to use this signal. In the UART IP, it's the input port... So, anyway should I implement this signal in the Avalon-MM Master RTL, which should manage the UART IP? 6) Neither the readyfordata nor dataavailable described in the Embedded Peripherals IP User Guide [UG-01085]. Does somebody know what's their timing/behavior/usage? Thank you!
The fastest rate you can usually run a UART is just below 1Mbps (921600). I've never seen implementations using a baud rate higher than that. The problem with UARTs is that you have no clock recovery mechanism so you need to oversample the incoming signal. You also need the signal to be very clean, which gets harder at higher frequency rates. Besides what transceiver are you using on the physical level? I don't know of any RS422/485 type transceiver that can go that fast.Are you sure those are your customer's requirements? For that kind of data rate I'd rather go for a link with clock recovery and a 8b10b type encoding, like Ethernet, or if on a shorter range just an LVDS link with SERDES modules on both sides.