ADRET 740A : remplacement de la CPU par Arduino Mega
ADRET740A_CPU remplace la carte processeur d’un générateur RF ADRET 740A par une Arduino Mega 1280 ou 2560. Le projet conserve le panneau avant, l’alimentation, la synthèse de fréquence et les cartes RF analogiques d’origine. Le prototype sur plaque à pastilles est installé dans l’appareil et pilote déjà le générateur.
Sommaire

Origine du projet
L’ADRET 740A est un générateur de signaux RF synthétisé des années 1980, destiné au laboratoire et à la maintenance radio. La version de base couvre 100 kHz à 560 MHz avec une résolution de commande de 10 Hz. Une option doubleur porte la couverture à 1,12 GHz. L’appareil règle également le niveau de sortie et produit des modulations AM, FM, PM et impulsionnelles.
Sa partie RF reste intéressante aujourd’hui : elle repose sur des cartes analogiques spécialisées et une synthèse de fréquence originale. En revanche, le pilotage dépend d’une carte CPU équipée d’un microprocesseur Motorola 6802, de deux EPROM et d’une mémoire sauvegardée par batterie. Cette carte dialogue séparément avec le panneau avant et avec un bus interne de seize registres commandant les cartes instruments.
Dans mon appareil, l’électrolyte de la batterie de sauvegarde a coulé et détruit la carte CPU. L’alimentation, la partie RF et le panneau avant restaient réparables : remplacer le générateur complet aurait donc condamné inutilement l’essentiel de son matériel encore fonctionnel.
Une restauration réversible
L’objectif n’est pas de reconstruire tout le 740A ni de le transformer en appareil moderne doté d’un nouvel afficheur. Il s’agit de préserver son panneau avant, son ergonomie et son architecture RF tout en remplaçant le contrôleur numérique irréparable par des composants disponibles, un firmware lisible et un câblage documenté.
La carte de remplacement utilise les connecteurs existants du panneau avant et du bus instruments. Aucune piste, aucun fil du châssis et aucune carte analogique ne doivent être coupés ou modifiés. L’opération est donc réversible : la nouvelle CPU peut être retirée et une carte d’origine fonctionnelle peut être remontée.

Pourquoi une Arduino Mega ?
La Mega 1280/2560 constitue un compromis pratique. Son microcontrôleur AVR fonctionne en logique 5 V, fournit des ports 8 bits complets, suffisamment d’entrées-sorties, un contrôleur I2C matériel et un UART indépendant. La carte reste facile à trouver et ses broches sont directement accessibles.
La Mega n’a pas été choisie pour réduire le projet à un simple montage Arduino. Elle fournit surtout une plateforme AVR 5 V capable de dialoguer avec une grande partie des circuits TTL/CMOS du 740A sans convertir chaque signal. Le framework Arduino simplifie les fonctions non critiques, tandis que les échanges sensibles au temps utilisent directement les registres AVR.
Le firmware est écrit en C++17, emploie des files, tampons et tables de taille fixe, et évite toute allocation dynamique. PlatformIO assure des compilations reproductibles pour les Mega 1280 et 2560. Le câblage est identique pour les deux modèles, mais les essais matériels consignés ont été réalisés avec la Mega 2560 du prototype.
Architecture
domaine CPU 5 V
panneau avant <--- PORTA/PORTB --- Arduino Mega 1280/2560
|
| I2C 400 kHz
v
côté 1 ISO1540
- - isolation galvanique - -
côté 2 ISO1540
|
v
MCP23017
8 données + 4 adresses
+ strobe Chargt
|
v
bus des cartes instruments
domaine 5 V isolé
Serial0 D0/D1 <---------- télécommande ASCII 115200 baudsPanneau avant
Le bus de données du panneau est relié directement au PORTA de la Mega, sur les broches 22 à 29. Des lignes de PORTB sélectionnent les latches, afficheurs, voyants, clavier et roue codeuse. L’accès direct aux registres évite le surcoût et la gigue de multiples appels à digitalWrite().
Le nouveau contrôleur conserve ainsi les afficheurs, les LED, le clavier et la roue d’origine. Il reproduit le balayage et les acquittements identifiés en étudiant les schémas et le protocole électrique du panneau.
Bus instruments isolé
Le bus interne des cartes instruments appartient à un domaine électrique distinct de la CPU et du panneau avant. Le relier directement à la Mega supprimerait cette séparation et pourrait créer des courants de masse ou endommager le générateur, la carte de développement ou les appareils de mesure.
Un ISO1540 bidirectionnel isole donc les lignes I2C SDA et SCL. Du côté instruments, un MCP23017 convertit les commandes I2C en huit bits de données, quatre bits d’adresse et un strobe actif à l’état bas. Le front descendant de ce signal mémorise la commande dans la carte sélectionnée.
L’ISO1540 isole les communications, mais pas l’alimentation. Ses deux côtés utilisent des alimentations et des masses séparées. Le MCP23017 est alimenté dans le domaine instruments, tandis que l’Arduino reste dans le domaine CPU. Chaque côté possède ses propres résistances de tirage et son découplage.
Le prototype validé utilise un module MCP23017 équipé de résistances de tirage de 4,7 kΩ. Un autre module doté de résistances de 10 kΩ ne fonctionnait pas correctement derrière l’isolateur. La valeur des résistances reste l’explication principale, sans exclure totalement les différences de routage, de découplage ou un défaut propre au module essayé.

Rétroanalyse
Reproduire les connexions électriques ne suffisait pas. Les schémas d’origine, le contenu des EPROM, le code désassemblé et des captures du bus ont été étudiés pour comprendre les seize registres internes utilisés par la synthèse de fréquence, le niveau RF et les modulations.
Le protocole du panneau avant a été analysé séparément. Le firmware doit lire le clavier et la roue, actualiser les afficheurs et les voyants, acquitter les événements et traduire chaque action en transactions cohérentes vers les cartes instruments.
Cette étude a produit une cartographie du panneau, une description des seize registres, une explication du principe de synthèse d’origine et les séquences de commandes observées pour les différentes fonctions RF.
Fonctions du firmware
Le firmware reprend l’essentiel du fonctionnement de la CPU d’origine :
- commande de la fréquence et du niveau RF ;
- réglages AM, FM et PM ;
- inhibition de la sortie RF ;
- gestion du clavier, des afficheurs et des voyants ;
- acquisition des événements de la roue codeuse ;
- mémoires et séquences de mémoires ;
- stockage EEPROM versionné et protégé par CRC ;
- transmission différentielle des seuls blocs fonctionnels modifiés ;
- récupération bornée après une erreur I2C ;
- import des données de calibration de l’ancienne EEPROM 2816 ;
- procédure guidée de création d’une nouvelle table de calibration RF.
L’interface électrique IEEE-488/GPIB d’origine n’est pas reproduite. La syntaxe historique est conservée autant que possible et transportée par une liaison série ASCII à 115200 bauds, accessible par le connecteur USB de la Mega. Le générateur peut ainsi être piloté depuis un terminal ou un programme sans contrôleur GPIB.
Deux fonctions d’origine ne sont pas encore disponibles : la modulation impulsionnelle n’est pas implémentée dans le firmware utilisable et l’entrée arrière AUX ne commande pas encore l’avancement des séquences par pédale ou cadenceur externe.
Performances mesurées
L’interface I2C isolée est plus lente que les écritures parallèles du 6802. Ce compromis a été mesuré : la carte d’origine produit généralement une impulsion basse de 3 à 5 µs, avec une moyenne proche de 4,2 µs, contre 22,5 µs pour l’ensemble ISO1540 et MCP23017 à 400 kHz.
L’impulsion est environ cinq fois plus longue, mais elle a été observée à l’analyseur logique puis acceptée par les cartes d’origine dans le générateur assemblé. Une séquence RF de treize mots demande moins de 3 ms dans le pire cas théorique. Le firmware réduit encore le trafic : une commande identique ne produit aucune écriture et la mise hors service de la RF ne transmet qu’un mot.
Le banc a effectué 1 000 cycles complets à 888 888 Hz, alors que 1 MHz n’était pas fiable avec les modules et le câblage actuels. Le firmware normal reste donc volontairement limité à 400 kHz pour conserver une marge de fonctionnement confortable.
Ces mesures décrivent uniquement la programmation numérique des registres internes. Elles ne caractérisent ni la précision en fréquence, ni le bruit de phase, ni la pureté spectrale, ni le niveau RF absolu, qui dépendent toujours de l’état et de la calibration des cartes analogiques d’origine.
État du projet
Le prototype sur plaque à pastilles est opérationnel. Les essais sur le 740A assemblé ont validé le démarrage à froid avec le bus complet, la production d’un signal RF, le fonctionnement des afficheurs, voyants et clavier, les commandes de fréquence et de niveau, les modulations AM, FM et PM, l’inhibition RF, l’interface isolée à 400 kHz, l’absence d’impulsion de chargement parasite au démarrage et la récupération après des défauts I2C simulés.
La configuration de base de 100 kHz à 560 MHz est la cible testée sur matériel. Le même firmware sait déclarer l’option doubleur par un cavalier et calcule les commandes jusqu’à 1 119 999 990 Hz. Cette partie reste toutefois validée hors matériel, mon appareil n’étant pas équipé du doubleur.
Il reste à confirmer le sens définitif de la roue codeuse, compléter certains essais de limites d’affichage et de clavier, valider la sauvegarde EEPROM pendant une vraie coupure secteur, mesurer la régularité des pas de 10 Hz avec un compteur de précision et effectuer une calibration complète du niveau RF avec une métrologie adaptée.
Il s’agit donc d’une restauration fonctionnelle en cours, et non encore d’un produit de remplacement prêt à fabriquer.
Documentation matérielle
Le câblage est documenté dans un projet KiCad 10. Le schéma décrit fil par fil le faisceau du panneau, les connexions de l’Arduino, l’ISO1540, le MCP23017 et le connecteur du bus instruments. Le dépôt comprend également un PDF imprimable, une netlist auditée, des contrôles automatiques, le firmware PlatformIO, des tests sur ordinateur, les notes de rétroanalyse et les outils de calibration.
Il n’existe pas encore de circuit imprimé prêt à produire : le matériel publié correspond au prototype sur plaque à pastilles. Sa reproduction demande de savoir lire un schéma, réaliser un câblage soigné et vérifier les alimentations 5 V ainsi que la séparation des masses. Des firmwares de diagnostic permettent de tester l’adaptateur I2C et d’observer les signaux avant de raccorder le fond de panier d’origine.

Précautions
L’ADRET 740A est un appareil de laboratoire alimenté par le secteur. Le remplacement de la CPU ne supprime aucune des précautions habituelles liées à sa maintenance.
La masse CPU et la masse instruments doivent rester séparées lorsque l’isolation galvanique doit être conservée. Un câble USB, un analyseur logique relié à la terre ou un oscilloscope peut relier involontairement les deux domaines. Les références de masse doivent être contrôlées avant de brancher une sonde. Le firmware de diagnostic qui force les sorties du bus instruments ne doit jamais être utilisé lorsque le fond de panier est raccordé.