T
ted
I am having problems reading a FTDI 245 USB parallel chip into a PC.
In the PC, I am using GetQueueStatus(), which returns the number of
bytes in the rx queue, follwed by a read() which reads the bytes into
a buffer. All within a self contained thread. I am using Microsoft C
V7. The throughput rate is about 500Kbps, about half the maximum
realisable.
The problem is that every few seconds or so the software reads one
extra byte in the stream. This is always the last byte read twice.
Otherwise the stream is read correctly.
As a test rig, the transmitter (i.e. the FTDI module) consists of a
simple CMOS counter to generate data bytes, followed by a simple clock
timer to generate the write pulses (about 100nS wide), all gated by
the txe signals. On the scope all pulse shapes arewell within specs,
so it is unlikely to be the transmitter that is generating the "extra
byte"
Any thoughs on solutions, or tests to prove/disprove where the problem
lies??
TIA
ted
In the PC, I am using GetQueueStatus(), which returns the number of
bytes in the rx queue, follwed by a read() which reads the bytes into
a buffer. All within a self contained thread. I am using Microsoft C
V7. The throughput rate is about 500Kbps, about half the maximum
realisable.
The problem is that every few seconds or so the software reads one
extra byte in the stream. This is always the last byte read twice.
Otherwise the stream is read correctly.
As a test rig, the transmitter (i.e. the FTDI module) consists of a
simple CMOS counter to generate data bytes, followed by a simple clock
timer to generate the write pulses (about 100nS wide), all gated by
the txe signals. On the scope all pulse shapes arewell within specs,
so it is unlikely to be the transmitter that is generating the "extra
byte"
Any thoughs on solutions, or tests to prove/disprove where the problem
lies??
TIA
ted