What is the cause of buffer overrun when transmitting data to my serial card?

There are two different types of buffer overrun: hardware and software buffer overrun. Both types of buffer overrun are more likely to happen when transferring continuous streams of large amounts of data across the serial port using high baud rates e.g. [gt]1M baud. The white paper below has been written to help explain the reasons for buffer overrun and the steps that can be taken to reduce it.