In message <f4eb766f050909115237677199 at mail.gmail.com>
          Ethan Dicks <ethan.dicks at gmail.com> wrote:
  One issue is to identify what GPIB devices you expect
to talk to.
 Older ones, especially ones that implemented the protocol via ~1MHz
 8-bit microprocessor, are unlikely to be able to handle 1MB/sec speeds
 that the newer "IEEE 488.2" devices can.  If all you want to do is
 talk to old devices at a few KB/sec, it really doesn't matter if you
 have a hardware or a software implementation.  For the newer,
 high-speed stuff, I'd expect you'd need an ASIC to pump the bytes
 through in a timely fashion. 
What I'm wanting to do is implement a slave device - in this case it'll be a
data logger. The problem is, I don't want to end up tying up CPU resources
monitoring the bus - it's going to be sharing the bus with a multimeter, a
logic analyser and (if I ever get off my BFA and build the damn thing) a
power supply.
What I'm after is some way to receive data bytes into a buffer, then do some
address-comparing and only interrupt the CPU if data arrives after an address
match is detected. Most of the logic seems to be along the lines of (going
 from memory): 
ALWAYS @(posedge data_arrived)
  IF ATN = 1 THEN
    IF data_byte & 0xE0 == 0x20 THEN // TA
      IF data_byte & 0x1F == my_address THEN // Talking on
        CAN_TALK = 1
      ENDIF
      IF data_bute & 0x1F == 0x1F THEN // UNTalk
        CAN_TALK = 0
      ENDIF
    ENDIF
  // ...  same sort of thing for Listen Addressing
  ENDIF
END ALWAYS
The problem is working out how to rig up a state machine or something similar
to handle the handshaking...
Trust me, if I had any spare MC68488s or similar, I'd use them. I've got some
Fairchild 96LS488s, but no data at all. Finding a datasheet for the 96LS488
seems to be about as easy as finding 99.9999% pure Unobtainium.
For master-side addressing I'm going to use the PC and a CEC GPIB card.
Speed is not the big issue here - I'm doing this mostly for the "fun
project"
aspect. My idea of fun is, unfortunately, somewhat warped...
Later.
--
Phil.                              | Acorn RiscPC600 SA220 64MB+6GB 100baseT
philpem at philpem.me.uk              | Athlon64 3200+ A8VDeluxe R2 512MB+100GB
http://www.philpem.me.uk/          | Panasonic CF-25 Mk.2 Toughbook
... (((((YOU)))))((((ARE))))((((((FEELING))))))(((((SLEEPY)))))