Un kit autour du EF6809P

C'est la catégorie reine de l'ordinophile, 8 bits et pas un de plus!
Single board ou bus S-100 acceptés.

Modérateurs : Carl, Papy.G, fneck

Répondre
siliconal
Messages : 88
Enregistré le : 24 oct. 2014 20:59

Un kit autour du EF6809P

Message par siliconal » 24 oct. 2014 21:26

Bonjour tous le monde,

Je suis actuellement entrain de développer un kit autour du EF6809P (totalement compatible 6809 de MOTOROLA).

Le kit contient en plus du microprocessr et ciruit de décodage d'adresse, 2 Ko RAM statique, 4 Ko EPROM, un ACIA 6850, une PIA 6821, 4 afficheur 7 segments pour les adresses, 2 afficheurs 7 segments pour les données, un afficher LCD 2 lignes de 16 caractères, communique avec PC pour transfert de données via port série et je suis en train de le completer en convertisseur analogique/numérique et numérique analogique

Je suis aussi entrain de communiquer avec disque dur et Compact Flash mais je suis un peu bloqué et je manque de documentation simple et précise qui me permettra de faire des lecture et écriture des données et des manipulations simples comme le recalibrage et l'arret et mise en marche du moteur.

Auriez-vous des idées ou documents dans ce sens.

Avatar du membre
jb_jb_fr
Messages : 295
Enregistré le : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: SUPERKIT 6809

Message par jb_jb_fr » 24 oct. 2014 22:52

Bonjour

Je me permets juste une petite remarque : 2Ko de RAM et 4Ko de ROM, c'est un peu leger.
A l'heure actuelle, trouver une RAM statique de 32Ko est facile, et la ROM y'en a de 64Ko sans probleme.

Si tu veux faire un dev un peu interessant, je pense qu'il faudrait que tu augmentes tes tailles de mémoire.

Apres, c'est mons avis. Tu fais ce que tu veux. 8)

Jacques
Modifié en dernier par jb_jb_fr le 24 oct. 2014 22:55, modifié 1 fois.

Marcopolo

Re: SUPERKIT 6809

Message par Marcopolo » 24 oct. 2014 22:54

Et il manque aussi un timer genre 6840.

siliconal
Messages : 88
Enregistré le : 24 oct. 2014 20:59

Re: SUPERKIT 6809

Message par siliconal » 29 oct. 2014 12:25

Merci pour vos réponse.

Je rectifie une erreur concernant la taille de la RAM, c'est 2 x 2 Ko (2 RAM statiques 6116).

Concernant la EPROM de 64Ko, je crois que c'est pas possible car c'est l'espace total adressable par 6809 donc on peut pas l'occuper en totalité par une seule mémoire, car on aura besoin d'espace pour les autres périphériques.

Pour les tailles mémoires je me limiterai pour le moment à 4Ko de RAM et 4Ko d'EPROM car pour la conception de la carte, je me suis basé sur un programme moniteur déjà existant (pour gagner le temps de conception) qui m'a aidé à commencer le développement sans passer par la création des routines de gestion de clavier, d'affichage, de port série parallèle et autres périphériques qui étaient déjà disponibles. Et puisque j'ai gardé le programme moniteur, je devais garder aussi l'adressage correspondant afin de ne pas devoir modifier ce programme pour réécrire toutes les adresses.

Concernant le PTM, je prévoit de le mettre aussi car il me servira dans des applications oû la date et l'heure sont importantes, mais pour le moment je prévoit un système de base que je développerai au fur et à mesure des besoins et de la disponibilité des composants (sachant qu'ici au Maroc nous manquons de composants électroniques spéciaux ou d'anciennes générations.

Pour information toute la carte a été conçue à partir de pièces récupérées des archives et de la ferraille que j'avais depuis presque 20ans lorsque j'étais étudiant en électronique et des cartes récupérées ici et là.

La question qui reste posée pour moi, c'est la communication avec disque dur IDE.

Je suis parvenu à envoyer des commandes basique comme l'arrêt/démarrage du moteur du disque dur (le problème venait du fait que le disque dur était considéré esclave car je n'ai pas connecté la broche /CSEL, donc elle était considérée à l'état haut, et que je devais renseigner un registre IDE pour lui indiquer que je veux communiquer avec le Slave et pas le Master) mais j'ai toujours des problèmes concernant la lecture des données que ce soit les informations d'identification du disque IDE ou la lecture des secteurs.

j'ai suivi plusieurs tutoriaux mais ils manquent presque tous d'une information ou deux qui pourraient faire la différence entre fonctionnel ou non fonctionnel. c'est pour ça que je demande des infos si quelqu'un a déjà réaliser cette communication avec IDE par 6809?

Avatar du membre
jb_jb_fr
Messages : 295
Enregistré le : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

SUPERKIT 6809

Message par jb_jb_fr » 29 oct. 2014 23:23

Salut
siliconal a écrit : Concernant la EPROM de 64Ko, je crois que c'est pas possible car c'est l'espace total adressable par 6809 donc on peut pas l'occuper en totalité par une seule mémoire, car on aura besoin d'espace pour les autres périphériques.
Mon but dans ma remarque n'étais pas pour que tu mettes 64Ko de ROM sur ta carte.
C'était juste pour te faire remarquer, que a l'heure actuelle il est très facile de trouver des circuits faisant 64Ko.
Apres comme c'est toi qui fait le décodage, tu utilises la taille que tu veux parmi les 64Ko: 2Ko, 4ko, 17Ko, 34Ko, etc..

Je pense que 4Ko vont être tres vite remplis par le Moniteur.

Et enfin, tu veux faire une interface avec un disque IDE. Alors je serais toi je prévoirais plus que 4Ko de RAM Je pense qu'il va te falloir de la place pour télécharger des programmes en RAM (si tu as un moniteur, et si je ne dis pas de betises), et après il va falloir prévoir des buffers d'échanges avec ton disque dur. Tu ne penses pas que 4Ko c'est un peu juste?

Jacques

Marcopolo

Re: SUPERKIT 6809

Message par Marcopolo » 30 oct. 2014 08:57

Et s'il te faut une RAM 32Ko, demande et je t'enverrai une 62256.

Concernant l'IDE, je n'ai jamais essayé.

Tu devrais créer un sujet à part sur le forum pour ton projet, on pourrait suivre tes développements et peut être t'aider.

Quel moniteur utilises tu ? ASSIST09 ?

Marc.

siliconal
Messages : 88
Enregistré le : 24 oct. 2014 20:59

Re: SUPERKIT 6809

Message par siliconal » 30 oct. 2014 14:02

Merci beaucoup pour vos réponse très utiles,

Concernant ta remarque jb_jb_fr, l'EPROM est presque pleine juste avec les routines du moniteur. et pour l'IDE c'est sur qu'il me faut beaucoup de SRAM, mais l'objectif actuel est juste l'essai de communication et lecture secteur par secteur.

Concernant ta question Marcopolo, en fait le moniteur utilisé a été récupéré sur une EPROM d'un kit d'enseignement mais je ne sais pas si le fabriquant du Kit (une société italienne) l'ont développé eux même ou s'ils se sont inspiré d'un autre moniteur, je leur ai demandé des informations, il ya deux mois,mais ils m'ont répondu que le Kit était obsolète et qu'ils ne pouvaient pas m'aider dans ce sens.

et merci pour l'offre de mémoire 32Ko, en cas de besoin je te le demanderai.

Pour vous expliquer un peu mon idée et mon projet, voici les étapes prévues de développement:

En fait en premier temps je vais rester sur l'adressage initial pour le premier prototype (un peu limité en terme de RAM et EPROM) à cause du moniteur déjà prêt.

En second lieu, après avoir réaliser la communication IDE, je vais essayer de créer mes propres routines (ce que je suis déjà en train de faire, sans m'en rendre compte, en programmant et en essayant des petits exemples) qui géreront en plus l'affichage sur LCD 16 x 2 et qui géreront peut être un terminal série (clavier + écran).

En troisième lieu, je vais essayer de modifier le plan d'adressage (en modifiant aussi les adresses des périphériques dans les routines existantes) et là, je pourrai dimensionner mon espace RAM et EPROM comme je veux.

En quatrième lieu et après avoir développé quelques applications utiles (notamment dans le domaine industriel et Agroalimentaire, par exemple : Ascenseur, machine à commande numérique, calibreuse de fruits et légumes, supervision de minoterie, supervision de station de traitement des eaux usées, supervision des paramètres climatiques et physico-chimiques dans les serres et autres projets dans ce sens), je vais essayer d'améliorer mon programme moniteur en l'orientant en mini système d'exploitation comme le FLEX (que je commence d'ailleurs à étudier) ou équivalent.

C'est un peu le plan de développement du projet et qui est très ambitieux et complexe mais qui va marcher (j'ai commencé le développement de 0 (et avec les pièces de récupération) et après un mois et demi j'ai une carte fonctionnelle comme décrite précédemment ce qui me donne beaucoup de confiance et d'assurance pour continuer et réaliser des choses beaucoup plus complexes et utiles.

Marcopolo

Re: SUPERKIT 6809

Message par Marcopolo » 30 oct. 2014 14:18

Un soft qui pourra te servir : http://www.noicedebugger.com

C'est un remote debugger (gratuit pour le 6809). Il est livré avec un mini moniteur à mettre en rom sur la carte cible.

@Fabien : Ce serait peut être bien de découper ce sujet en 2 ?

Avatar du membre
fneck
Site Admin
Messages : 11986
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: SUPERKIT 6809

Message par fneck » 30 oct. 2014 19:03

Marcopolo a écrit :@Fabien : Ce serait peut être bien de découper ce sujet en 2 ?
Effectivement, voila c'est fait 8)

siliconal
Messages : 88
Enregistré le : 24 oct. 2014 20:59

Re: Un kit autour du EF6809P

Message par siliconal » 03 nov. 2014 01:46

Merci Marcopolo pour le debugger,

Je viens de le downloader et je vais l'essayer très prochainement et je vous tiendrai au courant du résultat.

Merci aussi à Fabien pour l'organisation du topic, veuillez excuser mon manque d’expérience dans les forums.

Concernant la remarque de jb_jb_fr sur la taille des mémoires, j'ai fait des recherches sur le net et j'ai trouvé que d'autres concepteurs ont mis des mémoires de 64Ko ou un peu moins tout en utilisant le même espace adressable pour les autres périphériques, et ce en utilisant la RAM en Bank (sous forme de structure de pages).
Je ne sais pas encore comment car je n'ai pas le temps de voir les détails mais je crois que l'astuce réside dans l'utilisation astucieuse de ciruiterie de décodage, c'est un peu comme la technique de pagination des processeurs x86 en mode protégé.

Cette technique mérite de creuser un peu pour trouver l'implémentation la plus facile et la moins gourmandes en circuits logiques, mais ce n'est pas un priorité pour le moment vu le plan de développement déjà étalé.

Marcopolo

Re: Un kit autour du EF6809P

Message par Marcopolo » 03 nov. 2014 08:10

Pour les pages de RAM, tu prends 2 sorties sur un PIA 6821 et tu les appelles A16 et A17 (voir Tavernier 6809 par exemple)
Il faut de toute façon gérer le changement de page par soft.

Marcopolo

Re: Un kit autour du EF6809P

Message par Marcopolo » 11 nov. 2014 14:01

Pour la gestion de l'IDE avec un 6809, tu devrais regarder le code source de Nitros9 :
http://sourceforge.net/p/nitros9/wiki/Main_Page/

et plus particulièrement ce fichier :

[L’extension txt a été désactivée et ne peut plus être affichée.]

Marc.

siliconal
Messages : 88
Enregistré le : 24 oct. 2014 20:59

Re: Un kit autour du EF6809P

Message par siliconal » 12 nov. 2014 15:12

Merci Marcopolo pour les liens, ils sont très intéressants à étudier et qui pourront constituer une source d'inspiration pour mon prochain moniteur (ou, qui sait, mon prochain système d'exploitation), ce que je ferai après avoir fini de mettre mon kit sur carte perforées de plus petite taille (mon premier prototype est toujours sur plusieurs matrices avec plein de fils dans tous les cotés).

Enfin, j'ai réussi à lire quelque chose du disque dur en envoyant la commande d'identification $EC et la commande de lecture $20 au registre de commande IDE en lisant les états READY, BUSY et DRQ et en les traitant avec essai de time out.

Le problème venait juste de la transmission du programme assemblé du PC par port série qui n'était pas très fiable vu que je n'ai pas trouvé le bon Quartz et que j'ai utilisé un simple oscillateur autour du NE555 pour l'ACIA 6850.

Je posterai les sources des programmes assembleur de test que j'ai fait (très basiques mais fonctionnels) ainsi que les schémas et les photos une fois que j'aurai tout organisé et que j'aurai maîtrisé les outils d'utilisation des forums.

Maintenant je dois essayer sur d'autres disques durs pour voir si les données lue sont différentes (donc réelles) et je commencerai à les analyser (Identification du disque dur: Nombre de têtes, nombre de cylindres et nombre de secteurs).
Marcopolo a écrit :Pour les pages de RAM, tu prends 2 sorties sur un PIA 6821 et tu les appelles A16 et A17 (voir Tavernier 6809 par exemple)
Il faut de toute façon gérer le changement de page par soft.
Ce serait une bonne piste pour étendre l'espace mémoire, je vais cherchaer une solution pour l’implémenter plus tard.
Marcopolo a écrit :Un soft qui pourra te servir : http://www.noicedebugger.com

C'est un remote debugger (gratuit pour le 6809). Il est livré avec un mini moniteur à mettre en rom sur la carte cible.
Concernant le debugger, je ne l'ai pas encore utilisé vu que je n'ai pas de programmateur d'EPROM et que je cherche des EEPROMs sur lesquelles je pourrai écrire directement sur le kit (en la mettant à la place d'une RAM).

Marcopolo

Re: Un kit autour du EF6809P

Message par Marcopolo » 12 nov. 2014 15:33

Content de savoir que tu avances.

S'il te manque des composants du genre quartz, eeprom ou autres,
dis le moi et si disponibles je te les envoie.

Ne pas oublier pour le 6850 d'utiliser un rapport de division de x16 minimum et pas x1
sinon la réception n'est pas fiable (souvenir de 1985)

Marc.

siliconal
Messages : 88
Enregistré le : 24 oct. 2014 20:59

Re: Un kit autour du EF6809P

Message par siliconal » 13 nov. 2014 18:57

Merci Marcopolo pour ton aide précieuse,
Marcopolo a écrit :Content de savoir que tu avances.

S'il te manque des composants du genre quartz, eeprom ou autres,
dis le moi et si disponibles je te les envoie.
Actuellement j'aurai besoin des composants suivants:

Quartz 4,9151 Mhz pour l'oscillateur de l'ACIA 6850.

EEPROM 28C16 ou 32 ou 64 K ( 2, 4 ou 8 Ko)

Circuit TTL 74259 (8-bit adressable latch) (qté de 6 pour les afficheurs 7 segments, 4 pour les adresses et 2 pour les données)

MC1488 et MC1489 que j'utilise dans la conversion RS232/TTL (ceux que j'ai ont déjà été utilisé dans une autre carte et dessoudés donc pas très fiable en connexion.

C'est ce dont j'ai besoin d'urgence pour le moment, donc si l'un ou l'autre est disponible chez toi, merci de me l'envoyer.

Je ne sait pas comment, par poste ou autre et je te les rembourserai de la façon que tu veux.
Marcopolo a écrit :Ne pas oublier pour le 6850 d'utiliser un rapport de division de x16 minimum et pas x1
sinon la réception n'est pas fiable (souvenir de 1985)

Marc.
Bonne remarque que j'ai déjà implémenté, c'est sur qu'elle a une incidence sur la fiabilité de la transmission de la même façon que la gestion de la parité (que je n'ai pas encore implémenté).

Répondre