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)))))