GPIB komunikace s HP3585A...

    Mám na stole spektrální analyzátor HP3585A. Je z roku ... má serial number: 1750A01142, to je starý formát sériových čísel HP, před rokem 1993 ve tvaru YYWWCNNNNN
    YY = označení roku, kdy byl produkt představen nebo  byla na produktu provedena zásadní změna
    YY = počet let  od roku 1960.
    YY =17 tedy označuje rok 1977. Můj spektrální analyzátor je starý jako já sám
    WW = týden v roce, kdy byl produkt představen nebo  byla na produktu provedena zásadní změna
    WW = 50, tedy konec roku 1977
    C = Země, ve které byl produkt vyroben. Písmeno  "A" označuje USA jako zemi výroby.
    NNNNN = Jedinečné číslo pro každý jednotlivý produkt v rámci  modelu produktu. Obvykle se   jednalo o pořadové číslo začínající  00101. Ten můj je tedy z USA v pořadí vyroben jako 1041.

Zmínka o HP3585A v buletinu [HP 1978-06] na straně 6. A to už byl ověřený a používaný.
Co všechno umí je popsáno v historickém [datasheet]. Specifikace pro 45 roků staré zařízení viz [1]:
    – Rozlišení 0,1 Hz
    – RBW 3 Hz – rozlišení šířka pásma
    – Rozsah měření -137 dBm až +30 dBm
    – Volitelná vstupní impedance 50 Ohm, 75 Ohm (maximální špička 13V AC+DC)
        nebo 1 MOhm (maximální špička 42V AC+DC)
    – Vestavěný tracking generator
    – Automatické nastavení vstupního útlumu
    – Displej a rozlišení digitální paměti 1001×1024
    – Rozhraní HP-IB (GPIB)
    – Dynamický rozsah 80 dB
    – ± 0,4 dB Přesnost amplitud
    – Odečet nastavení panelu a markerů na CRT obrazovce

    Zajímavostí je, že občas v nějaké, i docela novém datasheetu[2] narazím na měření pocházející z toho spektrálního analyzátoru. Je něčím výjimečný? Není. Je starý a pomalý. Má rozsah jenom 20Hz – 40MHz. Takže do moderního světa to není žádná výhra. Ale poskytne zajímavou přesnost v pásmu, které dneska nikoho nezajímá.

Příkaz D3T4 – přenese všech 1001 hodnot, které by ukázal ručně ovládaný marker na obrazovce. Myslím, že je to lepší způsob, jak získat digiální data vhodná pro další zpracování, než jen fotit obrazovku.
Stahování dat trvá asi dvacet vteřin.


    Komunikace probíhá pomocí adaptéru [AR488]. 
    Řešení v jazyce Python, funguje v Linuxu i ve Windows. Vizualizace dat pomocí knihovny matplotlib, kde zobrazená přenesená data nesou informaci tak, že lze použít ukazatel myši jako odečet markeru. Zobrazuje reálné hodnoty amplitudy i frekvence na pozici ukazatele, odečtení měření zpřesňují červené linky. Kliknutím lze označit libovolný bod – snažil jsem se kliknout myší na stejné místo, na jakém je marker na fotce obrazovky, tedy na 10 590 000,0Hz. Vždy automaticky vytvoří nový textový soubor .csv pojmenovaný časovou značkou obsahující seznam přenesných hodnot. 
    Prográmek dipozici [zde]. Aby byla data správně umístěna na ose X je třeba znát rozsah měření – vyřešil jsem to příkazem GPIB pro přečtení textových dat z CRT obrazovky, které jsou zvlášť zpracovány. Pro HP3585A je vyžadován na obrazovce rozsah START:STOP nebo CENTER:SPAN.
    Správný komunikační port je nalezen automaticky, přepokládá AR488 postavené na Arduino Pro Micro, které se v systému identifikuje řetězcem "Arduino Leonardo".