Subject: Re: HP1350 Graphics Translators

From: [email-masked]
Date: Sat Jun 21 18:06:00 2003

Bob Shannon <[email-masked]> in cctalk-647 wrote:
> As long at I have the HP bus analyzer connected, and set for SLOW or
> HALT bus speeds, I can correctly transfer commands and data to the HP
> 1350 (a listen only device).  When the bus analyzer is removed, or
> connected and set to FAST the bus transfers
> will lock up at the inter-command "::" seperator characters.  Its almost
> as if the HP 1350 cannot signal the bus that it needs to
> wait and think about the last command.
> 
> What would happen if a HPIB listener could not drive NRFD?

I think that what may be wrong is a simple pull-up or pull-down resistor
(which may explain why the setup works with the bus analyser connected).

NRFD and NDAC are supposed to be "weakly" pulled high (so that even one
device pulling it low wins), so your 1350 may be allowing this line to
float rather than pulling it high. If the bus analyser is connected, it
will pull the line high (since the 1350 is floating the line) and the
bus cycle will work. With the bus analyzer removed, the line stays floating
and the cycle freezes.

From page 28 of the HP-IB Tutorial Description of the HP-IB
(HP 5952-0156, Jan 1983):
The pull-up resistor (to VCC) should be 3.1KOhm (+/-5%)
while the pull-down (to signal ground) should be 6.2 KOhm.

Check both the NDAC and the NRFD.

**vp

PS Of course now that I checked the circiut diagram of the 
82937A HP-IB Interface for the HP Series 80 computers, I see
that they have a 75162N bi-directional bus tranceiver connected
directly to the NRFD line (no resistors).

---

From: Bob Shannon <[email-masked]>
Date: Sun Jun 22 21:25:01 2003

I've spent a few hours tinkering with my code and an oscilloscope, and I 
think I understand my protocol
problem!

>while the pull-down (to signal ground) should be 6.2 KOhm.
Ahhh, here we have it!

The HP 12821A 'hi-speed' HPIB interface board has very different pull-up 
values!  Only 240 ohms for
the pull up (as compared to 3.1K) and the pull down values are 680 ohms 
(compated to 6.2K).

Looking at NRFD with the analyzer in slow-mode, I see clean edges and 
valid levels.  NRFD will pulse 'high'
for random durations from ~23usec to over 1 ms, depending on what 
instruction is being sent to the HP1350.

NDAC is always about 500ns, positive going pulse.

So NRFD is trying to tell the bus how fast to go, it looks like the 
HP1350 is working correctly, with the analyzer
in slow mode.

In fast mode the levels and edges change for the worse.  NRFD's edges 
look awful, and it does not pull the signal
all that 'low', the pull-up values do indeed appear to be much too low.

But is it possible that my HPIB driver code is malfunctioning, and not 
waiting for NRFD high before starting a transfer?
I looked at this, and NRFD goes directly into the 12821A's transmit 
handshaking logic, this is not the programmers
responsibility, nor is there a real-time status signal available to 
check the state of this line prior to sending a byte.

So the code cannot be screwing this up, besides, I can talk to other 
HPIB devices at full speed, its just the HP1350 that
I'm having problems with.

>Check both the NDAC and the NRFD.

NDAC appears to be doing ok, but NRFD is having problems.

If I cannot get the programming info for the HP59310B instrument control 
version of the HPIB controller, I'll try to 'alter' a
12821A by removing the pull-up and pull down networks and replacing them 
with more reasonable values.

The 12821A schematics refer to these resistors as a '7 unit load'.

This sounds reasonable, if each device has its own termination 
resistors.  I thought only the system controller had these terminators,
so why does it appear each device has a parallel set of termination 
resistors?