Vervangen Display HP 141 spectrumanalyzer (Algemeen)

door loek @, Exloo (Drenthe), 14-11-2021, 15:51 (865 dagen geleden)
Gewijzigd door loek, 14-11-2021, 16:04

Hallo Forum lezers,

Ik had al eerder de spectrumanalyzer van HP type 141 met daarin verschillende modules besproken.
Het display zit in het mainframe HP 141 en de beeld buis heeft ook een zogenaamde storage functie in de fosfor laag. Deze storage functie is niet nodig als de sweep frequentie hoog is. Maar kies je bijvoorbeeld voor een zeer smalle bandbreedte waarmee je wil kijken naar de signalen die in dat sweep gebied zitten dan kan je dat alleen maar doen met een lage sweep tijd. In dat geval kies je dan voor het vasthouden van het signaal in de fosfor laag van de beeldbuis.
Het resultaat is wel dat je heel precies de helderheid moet instellen en ook de tijd dat het signaal zichtbaar blijft (persistence).

De beeldbuis in dit apparaat ziet er prachtig uit een bijzonderheid is bijvoorbeeld dat er twee sets gloeidraden in zitten één op de standaard plaats en één half onderweg in de buis voor de geheugen functie.

Door veroudering gaan er steeds meer buizen defect of de helderheid neemt af. Dat was de reden voor iemand die ongeveer 4 jaar geleden een programma heeft geschreven waarmee je de beeldbuis kon vervangen door een TFT display. Het programma maakt gebruik van twee signalen die standaard aan de voorkant van de spectrumanalyzer op BNC connectoren beschikbaar zijn.

De link naar een demo van deze ontwikkelaar staat hieronder.

https://www.eevblog.com/forum/rf-microwave/hp-141t-spectrum-analyzer-lcd-upgrade/

Mij leek dit dus een uitdaging om deze oplossing eens uit te proberen. Er is gebruik gemaakt van een STM32F746 Discovery kit. Deze is te koop onderandere bij Mouser (50 Euro ex BTW).
Er zit een 216MHz/462 DMIPS Arm Cortex –M7 processor in.

[image]
[image]

Dit waren voor mij allemaal nieuwe worden omdat ik tot nu toe alleen gewerkt had met de ATMEL procesoren en dan geprogrammeerd met BASCOM. Dit programma is geschreven in de taal C++

Het ontwikkel board heeft vele mogelijkheden die in deze toepassing niet gebruikt worden. Er zijn speciale zogenaamde Develoment Toolchains maar deze kosten meer dan 800 Euro.

De maker van dit programma had alles ontwikkeld met (Gratis) tools in een Linux omgeving.
Alle bron-code en uitvoerige beschrijving hoe te installeren had hij geplaatst op GITHUB Zie onderstaande link..

https://github.com/schnommus/stm32_hp141_lcd


Dat was dus de uitdaging om in een LINUX omgeving deze bron-code te compileren en via een communicatie programma in dit geval ST-Link/V2-1 in het ontwikkelboard te krijgen.

Ik had nog geen enkele ervaring met Linux en mijn kennis van C++ is ook zeer matig.
Als eerste heb ik een oude Vista computer compleet overschreven met Linux-MINT.

De ontwerper had aangegeven met welke tools hij de broncode had gecompileerd maar dat was ongeveer 4 jaar geleden. Deze tools werken zeker niet met de versie Linux-Mint die ik nu gebruik.

Het was even (maanden) zoeken/ uitproberen voordat ik contact had met de kaart en dat de bron code zonder fout meldingen gecompileerd werd. Ook het versturen naar de kaart had weer zijn eigen problemen. Maar uiteindelijk had ik een complete (gratis) tool set waarmee je de broncode kan compileren en versturen naar de kaart met daarna de mogelijkheid om het programma te debuggen.

Uiteindelijk heb je de volgende tools nodig:
ARM-NONE-EABI-GCC version 9.2.1 20191025 (15:9-2019 q4 0ubuntu1)
GDB (ubuntu 9.2 0ubuntu1-20.4)9.2
OpenOCD versie 0.10.0
De broncode kan met een tekst verwerker gemaakt/aangepast worden

Toch leuk dat dit allemaal kan dankzij al die vrijwilligers die zich inspannen voor LINUX. Het programma werkte direct goed .

Je ziet hierna wat foto’s van de mogelijkheden.

[image]

[image]

[image]


Voorbeeld waterval:

[image]

Een aantal voordelen van weergave via deze oplossing zijn:
Hoe laag je ook de sweep tijd maakt er ontstaat geen flikkerend beeld .
Omdat het signaal opengeslagen is in het geheugen kan je er wat trucjes mee uithalen. Een leuk voorbeeld is Normalisatie. Met deze mogelijkheid wordt een zichtbaar signaal bijvoorbeeld een filter karakteristiek naar een rechte lijn getrokken. In het geheugen staat dit signaal nog wel en eventuele veranderingen van het ingang signaal worden dan weergegeven als verschil met het opgeslagen deel.

Dit is makkelijk bij afregelen van filters na voor af regelen de lijn op nul en dan weer afregelen waardoor je de nieuwe afwijking ziet.

Ook de weergave van een waterval is nu mogelijk. Kortom alle maal extra mogelijkheden die met de oude beeldbuis niet mogelijk waren.

Toch zaten er wat onprettige zaken in het programma zo kon je wel de normalisatie aanzetten via een button. Maar uitzetten niet dan moest je een harde reset uit voeren.

Nu ik alle ontwikkel tools in Linux omgeving tot mijn beschikking had dacht ik dit zelf wel even als extra toets aan te kunnen brengen. Maar dat viel echt tegen mede door onervaren met Linux en (nog) weinig kennis van C++ .

Gelukkig heeft Otto Tuil mij hiermee geholpen en ook wat tips gegeven om zelf verder te kunnen met eventuele ontwikkelingen.

Ik ben nog lang niet klaar met een definitieve versie en moet ook nog veel leren maar het leek me leuk om jullie deze ervaring te delen.

Met vriendelijke groet,

Loek


Complete draad:

 RSS Feed van berichtenreeks

powered by my little forum