FA+0065.7789065E+06 FA+0065.5935508E+06 FA+0065.7788307E+06This counter came with a GPIB interface. Initially it was configured to use an Air Force interface protocol, but the friendly Time-Nuts folks mentioned an internal jumper that could be reset to the standard GPIB protocol.
GPIB interfacing is a specialized market. Interfaces for modern computers are quite expensive. Older ISA boards are cheap, but only if you can scrounge a computer with a suitable ISA slot. I have three. One has an old Pentium and only 65 MB RAM - forget that. The next is a BH6 motherboard with a 300 MHz Pentium III and 1GB RAM. The last is a VH6 with 800 MHz Pentium III and can hold 1.5GB of RAM. I have an 8 bit National Instruments PCIIa card that works in the BH6 but locks up the VH6. A shame as the VH6 is almost three times faster.
I tried Linux Mint on the BX6. Mint required the Patience of Job. GPIB software was available for Mint but I couldn't figure out how to get it working. So I installed the latest Fedora, Version 16 (Verne).
As I recall I followed these steps to get GPIB working on Fedora 16. Fedora 16 needs at least 768 MB to install. I looked around for small Linux versions but didn't find any that came ready to go with comnpiler, etc.
1. Install the Fedora "software development" choice. Choose the xfce desktop instead of Gnome 3, which sucks on older hardware.
2. Install "kernel-devel". This has the stuff needed to compile drivers. You do not need kernel sources, much less compile your own kernel.
3. Get linux-gpib-3.2.16.tar.gz (or latest version) from Sourceforge. Unpack it and run the bootstrap. Then run the configure script. The configure script checks for various languages and makes bindings for the ones it finds. Look at the printout from configure to see what other packages you want to add such as PHP, Tcl or Python. Then type "make". When that finishes, as root type "make install". You may have to manually copy the GPIB lib to where GCC expects to find it.
NOTE: if you update the Linux kernel you must "make clean" and repeat the configure/make/make install sequence.
Cat /proc/interrupts to see which interrupts are free. As root, edit /etc/gpib.conf to match your interface. In my case:
/* This is how you might set up a pcIIa board on /dev/gpib0 */
interface {
minor = 0
board_type = "pcIIa"
name = "ni"
pad = 0
sad = 0
timeout = T3s
eos = 0x0a
set-reos = yes
set-bin = no
base = 0x2e1
irq = 9
dma = 1
master = yes
}
/* Now the device sections define the device characteristics for each device.
* These are only used if you want to open the device using ibfind() (instead
* of ibdev() )
*/
device {
minor = 0
name = "counter"
pad = 15
sad = 0
}
4. Activate the interface (as root):
modprobe pc2_gpib
gpib_config
chmod 666 /dev/gpib0
Now you should be able to run ibtest in the examples directory.
Left: With the counter using its internal timebase, I had it measure the 10 MHz output
of my Thunderbolt GPS Disciplined Oscillator, which is accurate to better than 1 in 10-10.
The resultant plot shows the frequency drift during warm up.
Now go figure out something to do with this new functionality. As someone who "grew up" in a data communications data processing environment, (not to mention unreliable early car computers which made me a fan of Diesel cars) I am still getting used to the idea of computers interacting with the real world instead of logging in to timesharing systems or transferring files..