Wirin' up blinkenlights

From: Richard Erlacher <richard_at_idcomm.com>
Date: Tue Jun 13 01:28:00 2000

Being somewhat more specific, the EPP gives you an Address Strobe, a Data
Strobe, a Wait, an interupt, and eight data lines. It also gives you a
Write line (indeed a R/w*) but what's important is that your software
doesn't have to manipulate these strobes, since the hardware does it
automatically.

As a consequence, the timing is always as fast as your hardware can do the
job, provided you've hooked up the handshakes properly. As with many
standards, this one doesn't tell you what, exactly, that might be, and
that's where you are right again. However, it's intended, if you can
believe the many write-up's that make this claim, that it's capable of ISA
bus speeds.

That, in short, means two clock ticks at 8 MHz per transfer, if the sync
between the handshake lines, strobe and wait, happens just so, else it will
probably take three ticks. I've never seen one that fast, and I've only
managed to build an interface that moves that fast when I have access to the
bus clock, which ABSOLUTELY should be verboten, as the interface is supposed
to work without that. If you're not concerned that the sync be exactly the
same all the time, you can use a local oscillator of some harmonic of 8 MHz
and use a counter to generate the signals you use synchronously with that,
always temporally spaced the same amount due to the value that's loaded into
the counter whenever a signal from the PC changes state. That will keep you
at a minimal phase shift from what's going on in the machine MOST of the
time. Now and then there will be a frame slip due to the difference in the
oscillator rates, but that will be just about the same as if you had a PLL
running, except the jitter will be much larger but much less frequent.

Not all systems will like this approach as well as others, but if you're
into synchronous state machines and want purely deterministic results, or as
nearly so as you can have, then this is a, not THE, way to get there.

Dick

----- Original Message -----
From: Eric Smith <eric_at_brouhaha.com>
To: <classiccmp_at_classiccmp.org>
Sent: Monday, June 12, 2000 11:48 PM
Subject: Re: Wirin' up blinkenlights


> ard_at_p850ug1.demon.co.uk (Tony Duell) wrote:
> > IIRC an EPP port gives you 8 data lines, which is no way enough to talk
> > to an 11/45 front panel (there are 18 data/address input switches, 18
>
> EPP gets you eight data signals, a R/W* line, an address strobe, and
> a data strobe. It's equivalent to a multiplexed-address-and-data
> peripheral bus. So you can hang basically as many I/O signals off it
> as you're willing to wire up.
>
> There's even a signal that can be used as an interrupt input.
>
> The nice part is that the "SuperIO" sort of chipsets do all the
handshaking
> for you, so if you want to write a 0x32 to EPP device register 0x2a, all
> you have to do is two write cycles. No bit-banging of the control lines
> or handshake inputs required.
>
> It's pretty handy. The only annoying part is the need for the EPP device
> to generate a transfer acknowledge signal. I would have been slightly
> happier if they spec'd a standard default cycle time, and required the
> peripheral to assert a wait signal if it couldn't complete the transfer
> that quickly. That would allow for very simple devices with less logic.
>
Received on Tue Jun 13 2000 - 01:28:00 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:01 BST