??? 03/07/06 10:23 Read: times |
#111488 - Seems a mite slow! Responding to: ???'s previous message |
I've fiddled with various ways of getting data in and out of PC's for some time, and, using EPP protocol, which does require a little external hardware (one nand gate, and, if you're conservative, a flipflop), I've routinely gotten 2 MB/sec and not just in bursts, out of various PC's, notably my old 233 MHz Winbook, which I use for lots of things.
EPP allows you to write a long word to 0x37C and have the four bytes shuffled out of the port with automatic handshaking. Likewise, it can be read in the same way. I only measured the rate one time, but was, indeed getting 2 M transfers per second. Some folks have claimed that their PCI parallel port could do up to 16 MBps on a sustained basis, and SMC claimed, of their parallel port "target" chip, (SMC34C80?) which was intended to serve as the outside-world "target" interface to a notebook or other PC on which the box didn't have to be opened, would allow real-time emulation of a PC/AT. They even provided ISA bus schematics that attached via their interface chip, doing everything a PC did, including automatic memory refresh. Now, I didn't build that hardware just to see if it was true, but that's a claim I wouldn't make unless I had considerable confidence. I've seen some EPP channels that took 2 microseconds per byte, and others that took much less. Most of the stuff I've done with EPP has not been rate critical, and often worked in bursts, so I don't have a good handle on the numbers, particularly since they vary considerably. I'd suggest you give it a try sometime, though, because I believe you'll be pleasantly surprised at how quick and convenient it is, not to mention flexible. EPP is a standard 1284 mode of operation so it's included in every PC since about 1990. It has two addresses, one at the base port address + 4 and one at the same base address +3. The latter is an 8-bit address/command channel on write and provides status, if you want, on read. The upper address, at the base address+4, is the data port, quite bidirectional, which reads or writes bytes, words, or long words, though you have to be sure about the multiplexing capability before you proceed, if your hardware is pre-version 1.9. Some of the older v1.7 hardware didn't do that multiplexing. RE |