HP75000 Series B (Agilent E1300A) VXI-Mainframe

Page content

The text below describes a HP75000 Series B mainframe. I also have a file describing a HP75000 Series C mainframe.

HP 75000 in general

The HP75000 is a VXI mainframe. A VXI mainframe is a standardized infrastructure where individual measurement devices can be simply plugged in and used. This is only possible because the two important areas of standardization have been addresses by VXI:

  • Hardware: VXI defines the physical layer where devices, even from different vendors can be integrated. The hardware layer includes electrical characteristics, wire protocols and such.
  • Software: VXI defines the software related characteristics to access and control the devices plugged into a mainframe.

By having standardized both software and hardware characteristics, devices can be developed by big Vendors like HP and used in any VXI infrastructure.

Each HP75000 system offers several slots to plug in devices. Besides the backplane offering the slots for devices, a mainframe contains a controller (" command module") which coordinates the devices plugged in and which communicates with the outer world, e.g. with a PC connected. For HP75000, the following features are important:

  • Devices like Multimeters, Frequency Generators, Digital I/O Boards and Switch-Boxes (Multiplexers) can be inserted
  • Access from a PC or whatever to the VXI mainframe

HP75000 were sold in three versions, named “Series A”, “Series B”, and “Series C”.

HP 75000 Series B

The HP75000 series B is a VXI mainframe and offers 7 free “B-sized” slots for measurement devices. A command module controlling the devices is already built in. The command module coordinates the devices plugged in and communicates with the outer world, e.g. with a PC connected. For HP75000 Series B, the following features are important:

  • Devices like Multimeters, Frequency Generators, Digital I/O Boards and Switch-Boxes (Multiplexers) can be inserted
  • Access from PC to the VXI mainframe is (for the HP75000) via RS232 or GPIB

Details on slots: B-size VXI Mainframe with a built-in command module. It has 9 slots (7 external, 2 internal, and 3 external A-size, all with Connector P1. While the 1301B has a front panel, the 1300B can only be controlled via GPIB or RS232.

The HP7500 series B is -compared to a mainframe of series C- really small and needs not much power to run. There is even a battery-supplied version. In this respect, it can be used even in a mobile context, let’s say, in a car. The series C is much larger and I would say nobody would use it in a mobile environment.

My HP75000 B came with the following modules:

  • 2x HP E1345A 16 Channel relay MUX
  • HP E1326B 5 1/2 Digits multimeter with multimeter adapter
  • HP E1330B Quad 8-Bit Digital Input/Output
  • HP E1340A 12 Bit 42M samples arbitrary function signal generator

Later I added:

  • 2x HP E1352 32 Channels FET MUX
  • HP E1333A 3-Channel Universal Counter , a 1Ghz Counter / Totalizer

Contents

Addresses of cards

Mainframe GPIB address: 9 (primary) and 0 (secondary). “0” is actual the secondary adress pointing to the E1300 controller.

HP75000 secondary addresses are the GPIB addresses multiplied by 8. This means a device returned by the VXI command VXI:CONF:DLAD? with an address value of 24 has GPIB address 3. HP uses this approach to group devices in a “master-slave” configuration. All cards where address%8==0 are master cards, e.g. 24%8==0 and this is a master card (here E1326 multimeter). A card where address%8!=0 is a slave card and controlled by a master with a lower master address. For example, a card with address 25 is a slave and is controlled by a card with address 24. In my Mainframe, a Multimeter card at address 24 (GPIB address 3) controls the Relay MUX cards with addresses 25 and 26.

List of devices:

VXI:CONF:DLAD? 0,+24,+25,+26,+64,+72,+80,+144

Details for devices:

VXI:CONF:DLIS?
+0,-1,+4095,+1300,-1,+0,HYB,NONE,#H00000000,#H00000000,READY,"","","","SYSTEM INSTALLED AT SECONDARY ADDR 0";
+24,+0,+4095,+65344,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","VOLTMTR INSTALLED AT SECONDARY ADDR 3";
+25,+0,+4095,+65280,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","VOLTMTR INSTALLED AT SECONDARY ADDR 3";
+26,+0,+4095,+65280,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","VOLTMTR INSTALLED AT SECONDARY ADDR 3";
+64,+0,+4095,+65300,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","SWITCH INSTALLED AT SECONDARY ADDR 8";
+72,+0,+4095,+65296,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","SWITCH INSTALLED AT SECONDARY ADDR 9";
+80,+0,+4095,+65440,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","ARB INSTALLED AT SECONDARY ADDR 10";
+144,+0,+4095,+65361,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","DIG_I/O INSTALLED AT SECONDARY ADDR 18"

HP E1300 Mainframe

The complete system seems sometimes called HP75000, sometimes HP E1300…

Some images:

Note the brown/orange accumulator pack at the left… see text!

The mainframe uses an accumulator pack to keep data in RAM. Furthermore there is a RTC that is operated from battery pack.

I removed the accumulator pack to check if it is still working. The pack in my device is 28 (twenty eight) years old and STILL WORKS. I measured about 4.1 Volts (it is a 3 cell 3.6V NiCd pack). Compare this to the LiIon crap we buy today. If that lasts 5 years were happy….

A slots

B slots

Accumulator pack… see text…

HP 1300B command module

The HP E1300B is the controller module for the whole system. It runs a HP proprietary operating system on top of a 68000 processor. The operating system is located in 2 or 4 (2MBit-) EPROMs, depending on system options. Besides the operating system, that fits in two ROMs, the controller can run HPs IBASIC, which needs another two ROMs. Using IBASIC, small scripts can be written for tayloring measurement tasks. From the documentation it is said that IBASIC needs at least 512KBytes of RAM. My HP E1300 has only 256KBytes, so maybe IBASIC will not run on it…

On connector bottom right, the external connections are connected (GPIB, RS232, …). The left connector is intended for keyboard and display of the E1301 version. The upper left connector is the P2 connector of VXI bus. The two black connectors in the right part of the pcb are for RAM extension.

At the left, the four EPROM sockets can be seen. My system has no IBASIC and so there are only 2 EPROMs present (labeled E1300-88831 and E1300-88832).

The two connectors for RAM extension mezzanine card.

HP E1326B 5 1/2 digits multimeter

This module is a programmable digital multimeter. It allows more than 13000 measurements per second! The measurement features are comparable to them of the HP3478 standalone multimeter. So its quite a good measurement device.

Module consists of two cards mounted together.

HP E1330B Quad 8-Bit digital Input/Output

A simple digital input/output module. 32 pins can be controlled.

HP E1333 3 -Channel Universal Counter

This is a programmable counter with 3 independent channels. Channels 1 and 2 go from DC up to 100 Mhz, channel 3 goes from 75Mhz up to 1Ghz.

HP E1340A 12 Bit 42M samples arbitrary function signal generator

This is a digital signal generator. It has many built-in waveforms but also allows to upload digital waveform data. Depending on the complexity of the waveform,, output frequency goes up to about 15 Mhz. A waveform can consist of up to 4 segments, each segment can hold up to 4096 values. So every thinkable waveform can be generated.

HP E1345A 16 channel relay MUX

This is a multiplexer. This means it can be controlled which of the 16 inputs is connected to the single output of the MUX. This allows to measure for example 16 input values with a single voltmeter. Because the MUX uses relays, the read speed is not superfast, but for many real world cases fast enough. Doc says it can switch 600 times per second - superfast relays!?! But relays do not live forever. If one needs faster switching, you need the FET MUX module.

Three connectors connected to the MUX module (Ground and two inputs)- The MUX module is connected to a Voltmeter module via Analog Bus.

HP E1352 32 channel FET MUX

This is a 32 channel multiplexer module, like the HP E1345. While the E1345 uses relays, this module type uses MOSFETs for switching. So it can switch much faster than relays. More than 100.000 switches/s are possible.

Screen shots

Output during boot:

SYSü
 Testing ROM
 Testing 256K Bytes RAM
 Passed
 Testing CPU
 CPU Self Test Passed
 HPIB Address: 09
 Talk/Listen
 Logical Address = 0
 Servant Area = 255
 Searching for static devices
 Mapping A24 memory
 Searching for pseudo devices
 SYSTEM INSTALLED AT SECONDARY ADDR 0
 VOLTMTR INSTALLED AT SECONDARY ADDR 3
 ARB INSTALLED AT SECONDARY ADDR 10
 DIG_IO INSTALLED AT SECONDARY ADDR 18
 SYSTEM instrument started
VXI:CONF:DLAD? +0,+24,+25,+26,+80,+144
VXI:CONF:DLIS?CONFIG?
 +0,-1,+4095,+1300,-1,+0,HYB,NONE,#H00000000,#H00000000,READY,"","","","SYSTEM INSTALLED AT SECONDARY ADDR 0";
 +24,+0,+4095,+65344,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","VOLTMTR INSTALLED AT SECONDARY ADDR 3";
 +25,+0,+4095,+65280,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","VOLTMTR INSTALLED AT SECONDARY ADDR 3";
 +26,+0,+4095,+65280,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","VOLTMTR INSTALLED AT SECONDARY ADDR 3";
 +80,+0,+4095,+65440,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","ARB INSTALLED AT SECONDARY ADDR 10";
 +144,+0,+4095,+65361,-1,+0,REG,A16 ,#H00000000,#H00000000,READY,"","","","DIG_IO INSTALLED AT SECONDARY ADDR 18";
DIAG:DRIV:LIST:ALL?
 ARB,E1340A,A.01.02,RAM;
 DIG_IO,DIG_IO,A.05.04,RAM;
 SYSTEM,E1300A,A.07.00,ROM;
 UNKNOWN,UNKNOWN,0,ROM;
 VOLTMTR,E1326A,A.05.00,ROM;
 SWITCH,SWITCHBOX,A.06.00,ROM;
 COUNTER,E1332A,A.04.01,ROM;
 COUNTER,E1333A,A.04.01,ROM;
 DIG_I/O,E1330A,A.04.02,ROM;
 D/A,E1328A,A.04.01,ROM;

Memory information

My model has 256 KByte memory. To get the amount of free memory in the running system, enter

DIAG:DRAM:CRE MAX

This will reserve the available maximum of ram to the DRAM segment on next warm boot. Now execute the warm boot:

DIAG:BOOT:WARM

And inquire the amount of reserved RAM.

DIAG:DRAM:CRE?

For my system without any installed RAM drivers I get

+167216,+8 

i.e. 167.216 bytes free.

The E1301 version includes HP IBASIC and requires a minimum 512KBytes of RAM. I inserted the E1301 ROMs into my 1300 system and made a reboot. The system comes up.

Installing device drivers for HP7500 / HP1300 / HP1301

HP75000 comes with preinstalled device drivers for most of the modules. These preinstalled drivers reside in ROM.

It is possible to add:

  • additional drivers for modules not supported by the preinstalled drivers
  • drivers with newer versions than the preinstalled ones.

These drivers are installed into RAM. If you remove the battery pack, then all RAM-resident drivers are lost.

I removed the battery pack, lost the drivers in RAM and found that there is no driver for the HPE1340A arbitrary function generator in ROM. So I needed to re-install the driver :-(

The driver itself can be downloaded at HP/Keysight web site (SCPI drivers), no problem. HP offers several tools that run on DOS and Windows 95. Hm.

We have 2015 and I have Linux.

The solution is simpler than I believed. There is a document “Installing SCPI drivers” (manual E1401-90022). On page 16 there is a description for a HP-UX Unix “transferring device drivers using a cat command”. This is the way to go.

Before transferring, some commands must be entered at the mainframe. I connected with minicom, set the required RS232 parameters (8N1, 9600 baud).

si system  
 SYSTEM_0: busy
 SYSTEM_0:

SYST:COMM:SER:PACE:THR:STOP?
 MAX +99
SYST:COMM:SER:PACE:THR:STOP 79

SYST:COMM:SER:PACE:THR:STOP?
 +79
SYST:COMM:SER:PACE:THR:STAR 0
 -222,"Data out of range"
SYST:COMM:SER:PACE:THR:STAR MIN 

SYST:COMM:SER:PACE:THR:STAR?
 +1
**SYST:COMM:SER:PACE:XON**
DIAG:DRAM:CRE 75000

DIAG:DRAM:CRE?
 +75000,+8
DIAG:DRIV:LIST:RAM?
 NONE,NONE,0,RAM

Now the mainframe is prepared to receive the driver file. You can keep the minicom session open all the time to see whats going on.

The driver file comes in two versions, the one ending with .dc is the one usable for RS232 transmission, in my case “arb.dc”.

This file can be sent to the mainframe uing the following commands (assuming RS232 port is /dev/ttyS0, device driver file is arb.dc). These are three bash lines:

( cat < arb.dc > /tmp/log.txt; sleep 1000 )& stty -opost 9600 ixon -ixoff cs8 -cstopb ignpar < /dev/ttyS0 cat arb.dc >/dev/ttyS0

Using minicom, you can follow somehow the transfer. It starts with two readable lines:

\*RST DIAG:DRIV:LOAD:CHEC #800144482

followed by many carriage returns. After some time -maybe 5 minutes- the Linux shell comes back (i.e. the cat command is finished). The minicom does not show anything special at the end of the transmission. The file /tmp/log.txt may contain error messages if something went wrong.

After that, I made a cold boot:

^D  
si system  
DIAG:BOOT

Yippie, after the boot, the new driver can be seen :

diag:driv:list:ram?  
ARB,E1340A,A.01.02,RAM

And all drivers:

 DIAG:DRIV:LIST:ALL?

 ARB,E1340A,A.01.02,RAM;
 SYSTEM,E1300A,A.07.00,ROM;
 UNKNOWN,UNKNOWN,0,ROM;
 VOLTMTR,E1326A,A.05.00,ROM;
 SWITCH,SWITCHBOX,A.06.00,ROM;
 COUNTER,E1332A,A.04.01,ROM;
 COUNTER,E1333A,A.04.01,ROM;
 DIG_I/O,E1330A,A.04.02,ROM;
 D/A,E1328A,A.04.01,ROM

Time for a coffee or a beer…