F1SYH‑TX1 — lot 43

Module Si5351 du firmware

Isoler calculs PLL, correction TCXO et gestion des sorties LO/BFO.

I²Cdriver
ppbcorrection
lockvérifié
outputsbornées
API fréquenceCalculRegistresVérificationSortie
Point critique : Une fréquence hors plage ne doit jamais être ramenée silencieusement à une valeur voisine.

Détails

Fonctions :
bool si5351_init(void);
bool si5351_set_lo(uint64_t hz);
bool si5351_set_bfo(uint64_t hz);
void si5351_set_correction_ppb(int32_t ppb);
bool si5351_output_enable(uint8_t clk, bool enable);

Le driver refuse :
- fréquence hors plage
- division impossible
- bus I²C en erreur
- sortie TX demandée avant lock.

Calcul

Entiers 64 bits.

Arrondis maîtrisés.

Bus

Retries bornés.

Code erreur explicite.

Tests

Mesures fréquence réelle.

Mock I²C en unitaire.

Spécifications

Référence25 MHz TCXO
Correctionppb signé
CLK0LO
CLK1BFO
CLK2test

Repères

Une erreur I²C doit être visible
La sortie est désactivée pendant reprogrammation

Procédure

Écrire l’API.
Ajouter calcul PLL.
Ajouter registres.
Ajouter correction.
Ajouter lock.
Tester mocks.
Mesurer CLK0.
Mesurer CLK1.
Validation : les résultats sont contrôlés et consignés avant l’étape suivante.