GPSDO – Ancora

Il 6 ottobre 2021 ho inaugurato “in pompa magna” i miei GPSDO. Ne ho parlato in un articolo sul blog, ed in altri in cui ho descritto cosa ho usato e come ho fatto per renderli funzionanti.
A settembre 2023, mi sono accorto di una lucetta rossa di troppo su una delle unità. Non ci ho dato peso, e non ho avuto modo di metterci le mani. In pratica, uno dei due UCCM era in errore per via del fatto che il DAC interno non è più in grado di compensare il drift del quarzo. Tale parametro è piuttosto ben evidente anche su LadyHeater, in alto, ove viene data la percentuale di lavoro del DAC. Bene, nel caso del defunto quarzo, ero a 99,8%. Andato.

Un problema analogo lo avevo avuto anche con l’unità che equipaggiava il GPSDO Trimble, solo che non ci avevo capito una mazza ed ho lanciato la board nel RAE senza perderci troppo tempo. Questa volta mi sono incaponito a trovare una soluzione, che non sarà sicuramente ottima, ma sarà senza dubbio divertente. Anche se dovesse “fumare” di brutto.

Il quarzo che equipaggia la board è una unità SAMSUNG, targato STP2945LF per il quale non si trova NULLA in rete. Dal DC (DateCode?) posso desumere che sia una unità prodotta nella 45ma settimana del 2012 (ha quasi 12 anni… ci stà). Ricavare il pinout è stato un po’ laborioso in quanto mi sono dovuto affidare a misure fatte sul quarzo e sulla board in cui era inserito.

Le ipotesi sono:
1- Ground
2,3 – misura della temperatura (3.9V) a regime
4 – RF out (sulla board è terminato a 50ohm)
5 – Power in (5V)
6 – ?
7 – EFC (sulla board parte a 2.5V).

Tempo di misure: il setup prevede un alimentatore da banco N6705B, un voltmetro 34401A ed un frequenzimetro 53131A, che usa il suo riferimento interno. Ho lasciato tutto acceso per un weekend e poi ho collegato il quarzo, alimentandolo con 5V e mettendo il piedino EFC a 2.5V.


Il maledetto è piuttosto stabile ma poco accurato: meno di 5 Hz dai 10MHz esatti. Vediamo cosa succede al variare della EFC:

Frequenza mHzV EFC
9.999 9914800
9.999 9932001
9.999 9940401.5
9.999 9948602
9.999 9956602,5
9.999 9964503
9.999 9972303.5
9.999 9979904
9.999 9987504.5
9.999 9994905
10.000 0002305.5
10.000 0009606

Bene, adesso bisogna metterci una “pezza”.

PS: per puro amore di curiosità e visto che ho tutti gli strumenti accesi, mi sono divertito a caratterizzare il vecchio OCXO della Trimble modello 63090 (ex-GPSDO) con datecode 0814 (febbraio 2008). Come si evince dalla tabella è diventato piuttosto “pigro” e raggiunge i 10MHz con una correzione molto “spinta”.

Frequenza mHzV EFC
9.999 9911500
9.999 9931001
9.999 9939101.5
9.999 9946602
9.999 9953712,5
9.999 9960503
9.999 9967003.5
9.999 9973304
9.999 9979404.5
9.999 9985405
9.999 9991305.5
9.999 9997106
10.000 0002906.5
Trimble

Time-Nuttery: facciamo ordine

Ogni tanto è utile fare un po’ di ordine (mentale, sul banco di lavoro proprio non ci riesco) per prendere la rincorsa ed affrontare nuove sfide con maggiore consapevolezza. Il punto è questo: ho parecchia carne al fuoco per migliorare le prestazioni del mio “timelab”. Si tratta di una serie di progetti che vanno nella stessa direzione ma… quale è la meta finale?

Lo scopo del gioco è fare delle misure di ADEV che siano sempre meno affette da rumore e che mi consentano di confrontare tra loro dispositivi piuttosto eterogenei. Ho a disposizione diversa strumentazione (non è il massimo sul mercato ma… è gratis) e devo ottimizzare tutto quello che “gira” intorno agli strumenti. Partiamo dalla base: cosa è la deviazione di Allan? Un articolo di John Ackermann (N8UR) spiega la cosa in modo delizioso e dimostra (se ce e fosse bisogno) che per spiegare bene alcuni concetti, è necessario essersi sporcati le mani ed averci speso molto tempo:
articolo originale
repository github
il mondo “febo.com”

Per fare una misura di ADEV possono essere utilizzati apparati dedicati (spesso estremamente costosi) oppure dei normali frequenzimetri / contatori. In questo caso occorre stare attenti al modo in cui viene effettuata la misura: lavorare in frequenza può essere un problema per via degli algoritmi di averaging che sono implementati internamente ad alcuni frequenzimetri (HP53131/132), e che sono discussi QUI e documentati nella letteratura.

Malgrado il Time Counter non sia il modo migliore per fare questa misura, bisogna accontentarsi, sapendo quali sono i limiti della strumentazione (risoluzione 500ps, che sono 5E-10s) e cercando di lavorare nel tempo, usando cavi di buona qualità. Pertanto è necessario dotarsi di un dispositivo che converta il segnale sinusoidale a 10MHz di uscita da un generatore, in un segnale PPS ( 1 impulso al secondo, 1Hz), in modo da aggiungere meno rumore possibile alla catena.

Ci sono un paio di soluzioni a questo problema, una è quella di acquistare un prodotto “pronto” dal sito TAPR, il TADD-2 mini. Costa una sciocchezza, il funzionamento è comprovato e il form factor è davvero piccolo. Una ottima scelta, peccato che le spese di spedizione sia davvero folli.
Alternativa è quella di andare direttamente all’obbietivo usando un PIC senza troppa elettronica di contorno, come spiegato nella pagina del picDIV. Da notare che il TADD altro non è che i picDIV in un contenitore migliore e con un po’ di elettronica di contorno.
Ultima spiaggia è quella di replicare l’ottimo progetto di Anders Wallin, un metrologo che ha mille interessi e tanti bei progetti. In pratica ha realizzato un TADD aggiungendo uno stadio di alimentazione dignitoso e dei buffer di uscita. Il progetto si chiama PICDIV_Board_V3 ed è un peccato che non sia replicabile 1:1 in quanto alcuni componenti sono out-of-stock. Sto lavorando per crearne una versione reingegnerizzata, più piccola (meno costosa) e con componenti aggiornati.

In ultimo manca un buon oscillatore di riferimento. Ma per questo farò un post dedicato, visto che mi sono attrezzato con un oscillatore al rubidio che non ho ancora avuto modo di accendere (giuro che ne riparleremo).

La destinazione è chiara: misurare decentemente ADEV con il counter. I limiti sono noti (500ps di risoluzione – cavi di segnale non adeguati), gli strumenti che mancano sono in via di approvvigionamento/definizione. Piano piano… arriveranno anche i risultati.

Saldature di un tempo

Ogni tanto capita di dovere rimettere mano al saldatore per fare qualche operazione un po’ delicata. Ultimamente un collega mi ha portato una scheda di acquisizione delle Texas Instruments, alla quale si è letteralmente strappato il connettore USB.

La scheda è molto costosa e difficilmente disponibile sul mercato, con tempi di attesa fino a 53 settimane. Il problema è che il connettore, nel suo viaggio, si è portato dietro i pad di saldatura ed alcune tracce, pertanto è necessario lavorare “di fino” per mettere a posto tutto.

La riparazione non è da premio Nobel per la saldatura e darebbe sicuramente problemi con un sistema che lavorasse a velocità maggiori (USB3). In questo caso, ha funzionato tutto al primo colpo, il calcolatore riconosce la scheda, trasferisce i dati e tutti vissero felici e contenti.

E-Sporadico, wow che nostalgia

Arriva un collega in ufficio: Ade è possibile che si sentano dei Russi che parlano a 28.5MHz? Beh, si non è infrequente, evidentemente c’è un po’ di propagazione ionosferica. Un rapido controllo sul sito DxMaps e… cavolo E-Sporadico notevole verso la Russia, con tante comunicazioni locali che vengono portate fino a casa nostra con segnali decisamente forti. Peccato non capire i dialetti russi.

Passa il tempo e la propagazione cambia, seguendo il percorso del sole. Riaccendo la radio nel pomeriggio, verso le 17 e cavolo… Stati Uniti in AM nella banda CB. Una cosa pazzesca che non ricordo di avere mai sentito in tanti di anni di attività, neppure negli anni ’90, quando c’è stato un piccone di macchie solari che hanno trasformato il sole nella Pimpa.

Faccio un giretto nei canali CB ed è un vero spettacolo. Qualche CB che prova una chiamata DX, con scarsi risultati. Americani ingarellati che sentono altri connazionali in altri stati e tanto tanto divertimento.

Torno a 30MHz e arriva un enorme segnale di un Radar OTH, con tanto di variazione del chirp. Una meraviglia.

In questo video ( 25/01), la maggiore parte delle stazioni visibili sono tutte provenienti dalla Russia. Ci sono anche diversi italiani che parlano in frequenza, attratti dalla presenza di stazioni straniere che arrivano con segnali decisamente solidi.

La banda CB in un solo shot

Ho resistito alla tentazione di tirare fuori il Lincoln perché non ho una antenna risonante in 27MHz. Altrimenti temo che avrei urlato qualche CQ DX!

AMIQ – Rebirth

Lo strumento AMIQ è stato introdotto nel mercato a fine anni ’90. SI trattava di un “trittico” di strumenti nati per la prototipazione ed il test su sistemi di telecomunicazione, composto da un generatore in banda base (AMIQ) un modulatore/generatore a radio frequenza (SMIQ) ed un analizzatore di spettro vettoriale (FSEA20). In pratica era possibile generare una sorgente dati (anche PRBS), scegliere in che modo modulare il segnale, aggiungere eventuali pre-distorsioni ed inviare queste forme d’onda al modulatore che la restituiva ad RF. Il generatore poteva essere collegato direttamente ad un DUT per verificarne il funzionamento o per fare misure di BER. Un sistema fichissimo per quegli anni, una cannonata.

Tale tripudio tecnologico è entrato in laboratorio nel 1997, ed ha servito per tanti anni, come cardine delle nostre attività di laboratorio e di dimostrazione agli studenti. Recentemente stanno iniziando alcuni problemi, SMIQ ha un problemino al circuito ALC ed AMIQ è del tutto morto.

Visto che non si trovano facilmente ricambi per questo oggetto abbiamo deciso di aprirlo per vedere se era possibile riparare lo strumento in casa. AMIQ è essenzialmente un calcolatore, che è collegato con una scheda di generazione di segnale attraverso un connettore su bus ISA (si, il buon vecchio bus ISA). Aprendo il coperchio il difetto è stato subito evidente: sono saltati tutti i condensatori della motherboard. Quindi bisogna procedere ad un recapping.

Detto fatto ho acquistato per due volte i condensatori a basso ESR su Ebay e su Aliexpress e poi ho faticosamente proceduto al faticoso recapping. Dissaldare e saldare i cap è stata la cosa più facile, visto che non c’è stato verso di persuadere la MOBO a non bloccarsi in mancanza della scheda video e della tastiera. Il sistema effettua il boot correttamente, Caldera FreeDos parte, si avvia anche il batch del programma AMIQ, ma, scollegando VGA e tastiera, tutto si blocca.

Ho fatto moltissimi tentativi ed alla fine ho giocato la carta del nuovo BIOS: ho riflashato la motherboard con una versione meno vecchia del BIOS e tutto ha ripreso a funzionare in modo regolare. Per informazione, la motherboard è una MSI 5169 versione 4.0, della quale si trovano molte informazioni in rete (fortunatamente). Il disco installato è un 2.5″ di “vecchia scuola”, bassa densità di scrittura, bassa velocità di rotazione e daffidabilità garantita, anche se… ho fatto una immagine (non si sa mai).

Ed ecco qui la torre: AMIQ in testa, che genera una QPSK da una PRBS23, il buon SMIQ che modula una portante a 100MHz e FSEA20 che mostra lo spettro. Ho analizzato la trasmissione anche in modo vettoriale e la costellazione è pulita e perfetta. Sullo sfondo della foto si vede anche il software di controllo (WinIQsim), che gira su una macchina fisica con Windows XP e scheda PCI per la connessione GPIB con lo strumento. Che bello rivedere lo strumento funzionante.

Adesso tocca ad SMIQ ma per questo ci vogliono i professionisti… ne riparliamo!

Raspberry Pi5 – preparare le migrazione

Che abbia inizio la migrazione!
In soffitta, ormai da alcuni anni, ho un calcolatore (ex-banca) che funge da server. Fa il suo lavoro senza problemi, solo che lo sto utilizzando meno di quello che pensavo. Nell’ottica di contenere i consumi elettrici e preparare una macchina per quando il pupo chiederà “il computer”, vorrei migrare tutto a raspberry pi.

Per questo ho acquistato una RBP5 con 4GB di ram, sulla quale farò girare Home Assistant, collegando ad essa direttamente le board Numato che ancora devo configurare. Attualmente Hassos gira su una macchina virtuale nel server e mi sembra interessante fare la migrazione per imparare qualche cosa, in primis come usare in modo decente una HD esterno SSD sulla RBP.

Per questo ho creato una ennesima wooden board, sulla quale ho fissato la RBP, il disco SSD ed il regolatore di tensione da 13V a 5V con tanto di fusible. Per il collegamento della RBP al regolatore, ho acquistato su Amazon, dei connettori USB-C terminati con cavetti rosso-nero, che userò per connettermi al regolatore. Inoltre ho preso un ambizioso cavo USB-C, in grado di “sostenere” 100W di potenza passante.

Vale la pena di fare due prove va…
Tensioni a vuoto –
Tensione in ingresso al modulo regolatore: 13.5V;
Tensione di uscita dal regolatore: 5.19V;
Carico 4.5A (non voglio bruciare il fusibile)-
Tensione in ingresso al modulo regolatore: 13.5V
Tensione di uscita dal regolatore: 5.12V
Tensione di uscita dopo il fusibile: 4.96V
Tensione di uscita misurata dal sul carico:4.70

Uhm… ‘sto cavo mica mi convince tanto. Considerato che sono solo 21W di potenza. sono 0.6 ohm di resistenza, per un cavetto lungo appena 30cm. Mi sembra un po’ tanto considerato che promette 100W.

Ora, ragioniamo anche sugli standard di ricarica, dal 2013 è stato tutto un susseguirsi di rilasci, che hanno sempre innalzato la massima potenza trasferibile per la ricarica. Per evitare di andare in giro con cavi USB di diametro 3cm, gli standard hanno sempre previsto un aumento della tensione di ricarica, dai 5V ai 21V con corrente di ricarica massima di 5A. Fanno eccezione gli standard VOOC e SuperVOOC che prevedono correnti da 6A fino a 12A, con potenza massima di 240W. Tanta tanta roba!

Soddisfazioni di Rete

Lavorando come ammaestratore di bit da qualche anno, la maggiore soddisfazione è nell’avere una rete che funziona bene e che garantisce le massime prestazioni che l’hardware consente. Inutile sperare di avere ciò che non si ha e mai si potrà realizzare, quindi accontentiamoci di quello che viene.

Nei giorni precedenti alcuni utenti della mia rete hanno fatto dei trasferimenti dati consistenti verso alcuni servizi di storage internazionale. Tanta tanta roba, trasferita in tanti giorni sfruttando la maggiore parte della banda disponibile.

E’ stata una sorpresa anche per me, arrivare in ufficio e trovare sul NMS un bel muro di bit che testimoniavano il corretto funzionamento del sistema.

Net Load su una interfaccia ottica.
Net Load su un apparato
Traffico sulla interfaccia di uscita dell’ente.

Considerando che i nodi sono connessi ad 1Gbps, arrivare ad una banda di 973Mbps è (almeno per me) tanta roba. Non è tutta farina del mio sacco, ci sono anche altri colleghi che lavorano con me per fare in modo che questo “miracolo” si compia. Quindi grazie anche a loro!

Mikrotik – 7.10.2

Situazione: ho una serie di router Mikrotik disseminati in giro, che cerco di tenere aggiornati in modo da evitare (noti) problemi di sicurezza.

La maggiore parte di questi router, deve garantirmi l’accesso da remoto usando OpenVPN, un sistema consolidato, ben funzionante e stabile. Da qualche tempo, il mio portatile benchè si connetta ai sistemi remoti, non “naviga” se ho impostato la VPN per fare passare tutti il traffico attraverso il tunnel cifrato.

Ieri, dopo avere faticato per fare funzionare wireguard sul sistema windows, mi sono incaponito. Devo capire dove sia il problema. Ho fatto diverse prove con wireshark, con il torch, con le configurazioni LOG del firewall… nulla. Mi sono messo a carcare su web ed ho trovato un post molto interessante: in soldoni, si dice che la VPN potrebbe non funzionare a causa di un bug firmware introdotto nelle release >7.9.2 Il bug, impedisce al SO, di creare una interfaccia dinamica alla quale associare l’ip della VPN lato “router”.

Ho deciso di dare una prova (ormai… ne ho fatte centinaia) facendo un downgrade della RB da 7.10.2 alla 7.9.2 e …. magia: tutto funziona nuovamente!

Anche questa volta, Mikrotik si è fatta odiare un po’ ma ho imparato che prima di perdere tempo, occorre cercare sui forum!!!

time-nuttery – parte 3

In un interessante documento trovato in rete “Clock Measurements Using the TimePod 5330A with TimeLab and Stable32” si parla in modo molto diffuso del parametro di “sampling interval” del software timelab.
In pratica è un numero che influenza completamente il comportamento del software, definendo la ENBW (Equivalent Noise Bandwidth) ed il numero di campioni che sono necessari per completare la misura. Nello specifico del 53131 e simili: “specifies the gate or other measurement interval for which the counter is configured. This period is treated as the tau0 basis, which defines the leftmost edge of any deviation plots”.

Quindi, se io volessi fare delle misure dei miei segnali a 10MHz usando un “sampling interval” maggiore (e sempre deterministico), dovrei alimentare il connettore di “external arming” con un segnale che possa triggerare la lettura e che abbia frequenza di 1Hz, 10Hz, 100Hz o 1000Hz. Perfetto. Vale la pena di fare un tentativo, mica sarà difficile generare un impulso. Nel documento “High Resolution Phase Measurement with Keysight 53230A” (sito www.efos3.com) si menziona un esperimento simile, nel quale, per realizzare il trigger per il counter, è stato usato un generatore HP di ottima qualità. Io devo arrangiarmi con quello che ho. I parametri della forma d’onda sono: ampiezza almeno 4V, durata dell’impulso 200ns.

Prima prova: uso il generatore interno dell’oscilloscopio Tektronix. Niente, non è possibile generare un impulso con durata inferiore a 10ms per via della limitazione in banda del sistema. Vabbè, prendo un pulse generator dall’armadio dei “dimenticati”. Trovo un HP 8011A, che vorrei mettere come soprammobile nel mio studio (lo farò), solo per le targhette di ispezione firmate a mano. Lo accendo ma l’unica cosa che genera è tanto calore. Andrebbe fatto un service molto accurato ma non è proprio il momento. Accanto a questo cimelio ho trovato un GwInstek del 1995 che non si accende. Inizio ad essere un po’ “frustrato” e chiedo in giro: un collega mi dice di avere usato uno strumento veramente versatile LiquidInstruments Moku:Go. Un “ciaffetto” che sta nel palmo della mano e consente di fare (SDR) un sacco di cose tra le quali la generazione di segnali arbitrari.

Moku:Go sia! Scarico il software, collego lo strumento al PC, aggiorno il firmware (20 minuti) e poi mi metto a fare delle prove di generazione, collegando ad una uscita l’oscilloscopio (controllato da rete) ed all’altra uscita il counter. Dopo qualche minuto sono in grado di controllare il trigger del counter, con estrema versatilità.

Schermata di controllo Moku:Go
Monitoraggio forma d’onda via web.

L’impulso generato è anche piuttosto “bello” da vedere e rispetta perfettamente i dati impostati dalla console.

Verifica impulso MoKu:Go. Notare rise time e durata

A questo punto non rimane che fare le misure ed aspettare, godendo dello spettacolo di tutti gli apparati.

Setup di misura.

Risultato delle misure: fare una misura con campionamento a 100Hz è uno stillicidio. Devono essere acquisiti 100000 campioni per finire il processo, cosa che richiede una discreta quantità di tempo (quasi un’ora). L’aumento del sample rate, ha come conseguenza il fatto che la ENBW aumenta, pertanto è lecito aspettarsi un comportamento peggiore per le curve acquisite con alto SR. In questo run sono poco apprezzabili.

tau / sgma(tau)1Hz10 Hz100 Hz
1 secondo8.73E-108,83E-108.06E-10
10 secondi8.62E-118.56E-118.03E-11
100 secondi8.67E-128.05E-128.03E-12

Durante il test sono cambiate le condizioni climatiche della stanza, con la temperatura che è salita di circa 1 grado. La misura effettuata con sampling a 100Hz mostra un andamento molto regolare, con il maggiore averaging che mitiga l’effetto del crosstalk presente, ma peggiora le prestazioni.

ADEV cambiando il valore del sample rate

Ci siamo quasi. Tutto è (quasi) pronto per fare una prima misura di un quarzo. Anche se sorgono notevoli interrogativi….

time-nuttery – parte 2

Preso dall’emozione nell’avere ricevuto una piacevole e motivante email da “Tom Van Baak” ( autore del sito leapsecond.com), ho voluto esplorare la possibilità di fare misure di ADEV direttamente con il segnale a 10MHz.

Il setup di misura è il consueto: segnale sinusoidale a 10MHz generato da uno dei GPSDO, inviato ad un power splitter, poi due cavi (RG58) di lunghezza diversa. Il percorso corto alimenta il canale 1, quello lungo il canale 2. Stavolta, giusto per non fare lo stesso errore, una rapida occhiata con l’oscilloscopio:

Segnali in ingresso al counter.

Ampiezza del segnale 400mV nella semionda positiva, posso mettere il trigger comodamente a 200mV sul rising edge. Impedenza di ingresso 50 ohm.

Una volta configurato lo strumento, imposto la modalità “T1 to T2” e via. Il problema è che l’acquisizione da parte di TimeLab è triggerata dallo strumento che funziona in “auto arming”. In pratica le misure vengono effettuate nel modo più veloce possibile. Questo comporta che selezionando un periodo di acquisizione di 1000 secondi, i 1000 punti vengono acquisiti in pochissimo tempo (circa 30 secondi). La curva che si ottiene non rispecchia (se non nel numero di punti) il principio temporale dell’acquisizione. Per come la interpreto io, questo tipo di approccio dovrebbe dare risultati sbagliati, in quanto non è chiaro l’intervallo temporale con il quale vengono acquisiti i campioni, aspetto fondamentale della misura di ADEV.

Come è possibile “frenare” lo strumento e limitare il numero delle acquisizioni al secondo? Nel pannello posteriore dello strumento è presente un connettore “External ARM” che ha la funzione di trigger per la misura che si intende fare. Ho deciso di pilotare il “ext ARM” con il segnale PPS proveniente da un altro GPSDO che condivide con il primo la stessa antenna. In questo modo l’acquisizione del segnale è decisamente più lenta e rispecchia quello che avviene con il segnale PPS in ingresso. Il grafico che si ottiene ha forma e caratteristiche che lo rendono facilmente confrontabile con il PPS.

Misure comparative.

In questa figura:
Rosa – Misura di noise floor effettuata con due segnali PPS in ingresso allo strumento;
Blu – Misura di noise floor effettuata con due segnali 10MHz in ingresso allo strumento, trigger esterno;
Verde – Misura di noise floor effettuata con due segnali 10MHz in ingresso allo strumento, trigger automatico.
La curva BLU è molto tormentata rispetto alla “parente” rosa. Il significato delle oscillazioni è da cercare nel CROSSTALK che si ha tra i cavi (che sono banalissimi RG58 a singola schermatura). Le oscillazioni sono molto più marcate in quanto il crosstalk aumenta con la frequenza, pertanto, lavorando ad 1Hz si hanno effetti molto mitigati rispetto al caso 10MHz. La curva verde non mi convince. E’ stata acquisita in meno di 30 secondi ed ha un andamento troppo “smooth” per potere essere di una qualche valore. al pendenza c’è ma manca il contenuto informativo.