Hello Lazarus-List, Friday, February 18, 2011, 12:37:53 PM, you wrote:
>> Both have FIFOs, in fact the FIFO was implemented for the transmitter >> (sender) to achive a speed higher than 38400 bps and before the chip >> goes out a receive FIFO was added also. HPD> Correction: the FIFO was implemented first for the receiver, because HPD> lost bytes can not be recovered, and not all lines or senders allow for HPD> hardware handshake (RTS/CTS) - that was a big problem with the old HPD> devices. The baudrate is generated by the device, so that sending never HPD> suffered from timing problems. [In synchronous protocol the device HPD> inserts sync codes automatically, when no new data is supplied in time] Well, maybe we can talk for hours about this :) as I can not show you a document about this topic, but I'll show you my background about why transmission buffer FIFO was more important in the beginning. In the past times most communications in serial devices was synchronous, so in the receiver part due the possible errors in transferences and, of course, buffer overruns some protocols can have some simple error correction techniques. The problem appears when serial communications want to be far away from 38400 bps as the time needed to raise the interrupt and just put a new byte in the buffer (1 byte buffer) is more than the character frame time which in fact raises a buffer underrun error and a serial comunication break (break, not error). What a change in less than 20 years! :) -- Best regards, José -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
