The theoretical maximum throughput for baud rates can be calculated by this formula:
Maximum Throughput = Port Count * Baud Rate / Number of serial bits in a byte
The number of serial bits in a byte is usually 10 (1 start bit, 8 data bits, no parity bit, 1 stop bit).
However, several factors will limit the throughput. Two major factors are listed below:
- Number of bytes sent in a call: Since it takes a set amount of time to set up a DMA transfer to the serial card, you will have better throughput performance when large numbers of bytes are transferred at once. The best throughput is experienced when thousands of bytes are sent in a single call.
- Flow control results in pauses in communication: The reason why over-run errors stop when flow control is enabled is because the sender stops sending. When these pauses in communication happen, the time it takes to transfer the bytes increases, resulting in less throughput.
Other factors such as system specifications, current CPU workload, operating system, application software efficiency, etc. also can impact the throughput performance.
Figure 1: Typical Throughput vs. Baud Rate of one PXIe-8431/16
In this example, the ports in each test were set to the same baud rate, although each port can be set independently.
Applications where data is transmitted in short, fast bursts will be mostly unaffected by flow control and are ideal applications to use with the NI Serial devices. Applications that must have large amounts of data transmitting at or near theoretical maximum throughput will be slowed by flow control.