08-24-2015 10:55 AM
I'm using a board with the FTDI 2232H chip that supports up to 12 Mbaud. In Vivado 2014.2, I'm using the uartlite ip core and saw the correct data rates at a baud rate of 9600. After increasing the baud rate, I see rate cap off around 37 MBytes/sec and I've gone up to a baud rate of 961200.
In the SDK, I'm sending a fixed array of 32 unsigned 8 bit values repeatedly in a loop:
XUartLite_Send(&UartLite, SendBuffer, TEST_BUFFER_SIZE);
When I don't check if the uartlite is still sending with the nested while loop, I see an increase of data sent by about 5x but the received data values are all 0, so this tells me that my low data rates are being caused by the software. Is there a way for me to get valid data at the baudrate thate I want?
08-24-2015 11:08 AM
can you try running the uartlite at a baud rate of 921600? this seems to be a supported baud rate from the IP
08-24-2015 11:22 AM
Sorry about the typo, it was actually run at 921600.
I just did a quick test at 128000 baud. With the loop waiting to see that data was sent, I received the correct data at a rate of 127.8 kBytes/sec. The only difference is I added the following function to the send interrupt handler, it was empy before:
Is this function supposed to make a difference? I've used this baudrate before and did not see speeds anywhere near this value.