Bun's Lab – Telegram
Bun's Lab
147 subscribers
1.81K photos
102 videos
63 files
49 links
Electronics projects, vintæg computing, programming and repairs. A minimalist blog of sorts.
@BunsGarden @BunsNook
Download Telegram
Bun's Lab
A.2.3 The VXIbus Extensions VXIbus retains P1 and the center row of P2 exactly as defined by VMEbus. This includes the 5 volt and ±12 volt power pins on P1 and the additional 5 volt pins on P2. VXIbus includes the A and B card sizes and these modules remain…
In order to support automatic system and memory configuration, the VXIbus standard specifies a minimum
amount of capability on each device regardless of its function. A VXIbus device (see Section C.2, "Device
Operation"), being the lowest element of a hierarchy, has a set of "Configuration Registers", all totally
accessible from P1 on VMEbus which allow the system to identify the device, its class, model and
manufacturer, address space (A16, A24, A32, A64) and memory requirements. VXIbus devices with only this
minimum level of capability are called REGISTER BASED DEVICES.
[..]
VXIbus also defines MEMORY DEVICES, (See Section C.2.3, "Memory Devices") that can be identified as RAM, ROM or other memory types and be configured in contiguous blocks of memory based on speed or memory type.
If a higher level of communication ability between modules is desired in the system, VXIbus defines a class of
devices called MESSAGE BASED DEVICES. In addition to the configuration registers mentioned above,
Message Based Devices are required to have communication registers that are accessible to other modules in
the system. Each device in the system can then use specific communication protocols such as VXIbus's Word
Serial Protocol (See Section C.3.3.1, "Word Serial Protocols") to communicate with other devices.
[..]
Communication between VXIbus devices is based on a hierarchical device relationship involving
COMMANDERS and SERVANTS. For many systems, such as the single CPU system shown in Figure C.1,
only the first level of this hierarchy exists. In that example, the CPU and host interface device is a Commander which controls the three instrument Servants. A Commander is able to initiate communication with its
Servants based on their capabilities. If the Servants are Message Based Devices, such communication can take
place using COMMANDS which are described by the Word Serial Protocols. Communication with Register
Based Servants is device dependent and may vary between systems. The Commander/Servant hierarchy can
be nested since a Message Based Device may be a Commander as well as a Servant to the next level above it.
Bun's Lab
In order to support automatic system and memory configuration, the VXIbus standard specifies a minimum amount of capability on each device regardless of its function. A VXIbus device (see Section C.2, "Device Operation"), being the lowest element of a hierarchy…
C.2.1.1.1 Device Addressing
All VXIbus devices have registers located within 64 byte blocks in the A16 address space. The base address of
a device's registers is determined by the device's unique Logical Address. The Logical Address selector is an
eight (8) bit selector which has 256 unique settings. The Logical Address is the value indicated by this selector
and corresponds to bits 6 →13 of the device register base address. Bits 14 and 15 of the base address are both
1 and the base address is:
V × 64 + 49152
where V is the device's Logical Address.


Or in hex:
A = (LADDR << 6) + 0xC000

The configuration registers of my multimeter set to an LADDR of 8 then live in memory starting at 0xC040
Devices which operate in A24 address space have an offset register located in their A16 configuration register space that gets set by the command module. My multimeters however are purely register based. So, everything about them is contained within their A16 memory area and there is nothing to configure.
I'm thinking, the issue could be
- related to the physical bus: For example some pull-up resistor missing somewhere on a control line.
- power management: the PSU in the mainframe has a bit of smarts to it and does a power up procedure. Maybe this absolutely needs to be observed for the individual modules to behave properly

And I'm wondering if I can figure out more by using the system itself. Find out why exactly it thinks there is a configuration error and what exactly is misconfigured.

The command module provides me with an extensive set of commands I can use to poke around. And since I need to familiarize myself with it anyway, let's explore that now
E1406A_Command_Module_Users_Manual.pdf
2.8 MB
The manual for the command module.
🤬1
After start up the system seems to be in some form of bootloader context. The number of commands that it would respond to there is very limited. One command is the terminal configuration command ST.
You need to enter the context of an instrument first, for example the context of SYSTEM, the command module. You do so by using the SI command (select instrument):
SI SYSTEM

The bar on the bottom shows you what actions the function keys currently perform. They are just shortcuts for written commands. On boot up it will provide you with a list of available instruments. Notice how the multimeter is missing there. It should already appear there.

Let's enter the SYSTEM.
Two of the commands mapped to the function keys by default there are these
Calls to
VXI:CONF:DLAD?
VXI:CONF:DLIS? 0
VXI:CONF:DLIS? 16
Using function keys F1 and F2.

It recognizes there being an instrument at LADDR 16
So, let's understand the output of DLIS?

The Command module:
- has device ID 0
- has no commander
- is made by manufacturer 4095 (guess that's HP)
- has the model code 1306 (HP E1306A)
- is in an unknown slot. For B sized mainframes this is always the case.
- has "Slot 0 Logical Address" of 0. Whatever that is
- is a HYBRID device
- takes up no memory space on the VXI bus
- has a memory offset of 0
- has a memory size of 0
- reports it's READY to receive commands
- not used
- not used
- not used
- the last field can contain strings. It lets us know there's been error 13

The multimeter:
- has device ID 16
- has device 0 as its commander
- is made by manufacturer 4095 (guess that's HP)
- has the model code 65344. It's an HP E1326B, so something seems odd there.
- is in an unknown slot. For B sized mainframes this is always the case.
- has "Slot 0 Logical Address" of 0. Odd that this is also 0
- is a REGISTER based device
- lives within the A16 address space of the VXI bus
- has a memory offset of 0
- has a memory size of 0
- reports it's READY to receive commands
- not used
- not used
- not used
- the last field can contain strings. It lets us know there's been error 13
Now, let's access those configuration registers
HP E1326B, E1411B User.pdf
1.9 MB
User manual for the HP E1326B and HP E1411B multimeters
Annoyingly enough, it returns the register contents as signed decimals. Ugh

And there is no way to change that.
- ID Register: 0b1111111111111111 = 0xFFFF
Makes sense, just as the manual said.
- Device Type Register: 0b1111111101000000 = 0xFF40
Also sane.
- Status Register: 0b1111111111001111 = 0xFFCF
Also sane.