Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!: 
https://forum.bidouilleur.ca/index.php?action=register Les demandes d'inscription sont révisées quotidiennement.

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Messages - marcf70

Pages: [1]
1
Vos projets et Montages d'Électronique / Re : Carte CPU
« le: mai 31, 2021, 04:52:06 pm »
Travaux en cours sur une base 65C02.

Ce projet inclus un MCU ATMega. Le rôle de l'ATMega est double :

  • Charger le firmware du 6502 au boot de la carte et sur commande;
  • Piloter la logique de contrôle et lire l'état des bus du CPU pour avoir un mode pas à  pas matériel.

Une EEPROM SPI est connectée à  l'ATMega et permet de stocker jusqu'à  32 versions de firmware du CPU.

Un adaptateur USB est connecté au port UART de l'ATMega et permet de piloter celui-ci via un moniteur.

En plus du mode pas à  pas, ce moniteur permet de :

  • Charger une nouvelle version de firmare pour le 6502;
  • Sélectionner la version de firmware active;
  • Dumper le contenu d'une portion de l'espace mémoire du 6502;
  • Modifier le contenu de cette mémoire.

Le circuit imprimé ou plutôt les circuits imprimés (approche rack de fond de panier et cartes filles) sont en cours de conception.

L'objectif est ici d'avoir une plate-forme de développement pour écrire un moniteur maison pour le 6502.

2
Vos projets et Montages d'Électronique / Carte CPU
« le: mai 30, 2021, 04:57:59 pm »
Petite carte à  base de 68008 incluant :

  • 512Kb de SRAM ;
  • 128Kb de FLASH ;
  • 1 DUART 68681 avec double connectique pour interface USB/UART ;
  • 1 TIMER PIT 68230;
  • 1 port d'extention.

La logique de contrôle est réalisée via un CPLD XC9572 et écrite en VHDL.

Un GAL22V10 permet d'augmenter le nombre de canaux d'IRQ du 68008 avec une gestion de priorité en entrée et un mécanisme de daisy chaining pour gérer l'IACK.

Le firmware de la carte est basé sur celui de la carte M68000 Educational Computer Board commercialisée par Motorola au début des années 80.

Les modifications suivantes ont été apportées :

  • Remplacement des deux ACIA par un DUART ;
  • Ajout d'une commande de transfert XMODEM ;
  • Ajout d'une commande de permettant de réecrire le contenu de la FLASH.

Concernant le transfert XMODEM, l'interface USB/UART utilisée par la certe ne gère pas correctement le handshake matériel, ce qui complique fortement le transfert de programmes sur la carte. Les trames du protocoles XMODEM d'origine sont suffisament petites pour qu'il n'y ai pas de pertes de données lors de ces transferts.

La commande de réecriture du contenu de la flash est assez amusante à  coder : lorsque la flash est en cours de programmation, il est impossible d'y accéder en lecture. Du coup, cette commande commence par se recopier en mémoire RAM et s'exécute à  partir de la RAM.

Pour l'environnement de développement, j'utilise ct-ng sous linux. Le gros du travail a été l'adaptation de la newlib (libc pour l'embarqué) aux points d'entrée de la carte pour les I/O.

Il a aussi été nécessaire de réecrire un wrapper pour permettre l'appel des TRAP du moniteur depuis un programme C.

A noter : suite à  une erreur de ma part lors de la commande du PCB, les faces internes et externes ont été interverties...


3
Bonjour Papyblue,

Concernant mes choix technologiques :

* Concernant le 6809 et le 68008, j'avais conservé les livres et quelques composants datant de mes études, c'est donc vers ces processeurs que je me suis tourné en priorité ;
* Le 6502 c'est par nostalgie (découverte de l’informatique avec l’apple II) ;

Sinon, plusieurs éléments ont aussi orientés mes choix :
* Une grosse appréhension vis à  vis des composants CMS, même si je me suis depuis équipé et m’y met petit à  petit ;
* Après j’ai expérimenté divers micro-contrôleurs AVR, PIC. Ils sont très bien et se programment très facilement (c’est d’ailleurs un AVR qui gére le bootload du firmware et permet de faire du pas à  pas sur la carte 6502 que je réalise actuellement). Par contre, je trouve leur architecture harvard limitante pour une plate-forme de développement (pas de code en RAM, !) ;
* Enfin je pratique déjà  l’ARM dans un cadre professionnel et avais envie de voire autre chose.

Voilà  j’espère que cela vous éclaire un peu sur mes choix technologiques.

Marc

4
Bonjour,

Merci de m’accueillir sur le forum. J’ai 50 ans et je vie en France près de Paris. Ingénieur généraliste de formation, j’ai reçu une formation de base en électronique lors de mon cursus, avant de m’orienter vers le développement logiciel.

J’ai recommencé à  faire de l’électronique il y a une dizaine d’années, avec une orientation particulière pour les systèmes à  micro-processeurs 8 et 16 bits.

J’ai commencé par une carte 6809 en wrapping, avant de concevoir un PCB via Kicad. J’ai depuis réalisé une carte 68008 avec laquelle je réalise divers expérimentations (mise en oeuvre de bus I2C et SPI, mise en oeuvre d’un PSG AY-3-8912, !).

Je travaille actuellement sur une carte 6502 incluant un Contrôleur d’interruptions et une sélection de banques mémoire (réalisées en VHDL avec un CPLD), ainsi qu’un chargement de firmware au boot via un micro-contrôleur.

En plus d’être un hobby, l’électronique est pour moi une superbe opportunité d’apprendre et c’est pourquoi j’apprécie tout particulièrement les présentations vidéos de la chaîne Électro-Bidouilleur.

Marc

Pages: [1]