Article View: alt.msdos.programmer
Article #323Re: Input from parallel port
From: Christian Franke
Date: Wed, 26 Aug 1992 15:36
Date: Wed, 26 Aug 1992 15:36
78 lines
2704 bytes
2704 bytes
dspascha@eos.ncsu.edu (DAVID SCOTT PASCHAL) writes: >Hi. I don't know the details (like how to actually do it), but it seems to me I >read somewhere that you can do it using some of the handshaking lines (but not >the 8 data lines) but you can only send/receive 4-5 bits at a time! [...] Laplink pro seems to do the following: In the 4-Bit mode, an interlocked 4-bit transmission is done. Computer A direction Computer B DATA0 => -ERROR DATA1 => SLCT DATA2 => PE DATA3 => -ACK DATA4 => BUSY -ERROR <= DATA0 SLCT <= DATA1 PE <= DATA2 -ACK <= DATA3 BUSY <= DATA4 Because for an interlocked transmission, one input and one output protocol line are necessary, the transmission cannot occur in full duplex mode. In the 8-Bit mode, the same interlocked protocol is used, but the following 4 (open collector!) I/O lines are used for the remaining 4 bits: STROBE <=> STROBE AUTOFD <=> AUTOFD INIT <=> INIT SLIN <=> SLIN Because laplink has an option to turn 8-Bit mode off, there may be situations where this mode is not appropriate. Because there is no hardware support for the interlocked protocol, the speed is limited by the AT-Bus bandwidth. To send a nibble/byte the transmitter needs 5 I/O instructions, the receiver needs 4 I/O instructions: Transmitter Receiver IN wait for receiver ready OUT output data OUT say: data ready ! IN wait for data ready get data (no IN because same port) OUT say: got data ! IN wait for receiver OUT say: data not ready ! IN wait for data not ready OUT say: receiver ready Even on a 50/MHz 486, only about 650.000 I/O instructions can be performed per second. So the theoretical bandwith limit is 650.000 / 5 = 130.000 transfers / second. In practice, because the waiting loops with repeated IN's will be executed we found a bandwith of about 60.000 transfers / second. Regards, Christian Franke Aachen University of Technology Lehrstuhl fuer Informatik I Ahornstrasse 55 W-5100 Aachen Germany
Technical Details
Message-ID:
<franke.714843361@andrej>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!Germany.EU.net!news.netmbx.de!zrz.tu-berlin.de!math.fu-berlin.de!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!andrej!frankeReferences:
<l9ke8hINN1r7@utkcs2.cs.utk.edu> <1992Aug25.150817.20259@ncsu.edu>Show Full Headers
Complete Article Headers
Newsgroups: alt.msdos.programmer Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!Germany.EU.net!news.netmbx.de!zrz.tu-berlin.de!math.fu-berlin.de!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!andrej!franke From: franke@andrej.informatik.rwth-aachen.de (Christian Franke) Subject: Re: Input from parallel port Message-ID: <franke.714843361@andrej> Sender: news@Urmel.Informatik.RWTH-Aachen.DE (Newsfiles Owner) Nntp-Posting-Host: andrej Organization: Rechnerbetrieb Informatik / RWTH Aachen References: <l9ke8hINN1r7@utkcs2.cs.utk.edu> <1992Aug25.150817.20259@ncsu.edu> Date: 26 Aug 92 15:36:01 GMT Lines: 79