Table des matières:

Robot Brain : Construisez un ordinateur monocarte en une soirée : 11 étapes
Robot Brain : Construisez un ordinateur monocarte en une soirée : 11 étapes

Vidéo: Robot Brain : Construisez un ordinateur monocarte en une soirée : 11 étapes

Vidéo: Robot Brain : Construisez un ordinateur monocarte en une soirée : 11 étapes
Vidéo: Счастливый час IoT № 45: Создание balenaOS для устройства 2024, Peut
Anonim
Robot Brain: Construisez un ordinateur monocarte en une soirée
Robot Brain: Construisez un ordinateur monocarte en une soirée

Vous manquez de mémoire sur votre Picaxe ou Arduino ? Mais un PC est excessif pour le travail ? Jetez un œil à cet ordinateur monocarte open source qui peut être programmé dans des langages tels que C, Basic, Forth, Pascal ou Fortran. Cette carte utilise des circuits intégrés peu coûteux et utilise délibérément de grosses puces, ce qui la rend facile à souder. Il utilise un système d'exploitation appelé CPM fonctionnant sur un Z80, qui était populaire de la fin des années 1970 au milieu des années 1980. En conséquence, il existe au moins un gigaoctet de logiciels disponibles, notamment des langages de programmation, des tableurs et des traitements de texte. CPM est un système d'exploitation basé sur du texte et est une version simple de DOS. Cette carte est parfaite si vous construisez ce robot ou système domotique très complexe et continuez à découvrir que les ordinateurs à puce unique comme les photos, les arduinos et les atmegas n'ont tout simplement pas le Mémoire. La technologie moderne signifie que les disques durs et les lecteurs de disquettes peuvent exister sur des puces de mémoire uniques, et les ordinateurs qui avaient besoin d'une alimentation triphasée peuvent désormais être émulés sur une carte alimentée par des batteries. Un certain nombre de cartes N8VEM sont en cours de construction dans le monde entier. par un groupe de passionnés sympathiques https://groups.google.com.au/group/n8vemLes tableaux sont une conception open source, et vous pouvez créer le vôtre ou en acheter un auprès d'un passionné aux États-Unis au prix coûtant (20 $). Les Eproms peuvent être achetés préprogrammés ou vous pouvez programmer les vôtres. Mettons-en un ensemble et voyons ce qu'il peut faire…

Étape 1: rejoindre le groupe Google

Rejoignez le groupe Google
Rejoignez le groupe Google

Vous pouvez parcourir le groupe https://groups.google.com.au/group/n8vem, mais si vous envoyez une demande pour rejoindre le groupe, vous pouvez contribuer à la discussion. Il existe une bibliothèque de fichiers et de nombreuses images de tableaux de travail. J'ai envoyé un message au groupe il y a quelques semaines et j'ai demandé à me joindre. J'ai commandé une planche et elle est arrivée une semaine plus tard, ce qui est assez rapide des États-Unis à l'Australie. Je n'ai pas eu beaucoup de parties, donc je suis la liste des pièces d'ici https://n8vem.googlegroups.com/web/TestPrototype_BOM_PART-LIST.lst?gda=6DMrhVQAAABRoI8ydU505jGCwGWcAnRLVYTZaCdyJias028kLbDjM7mHeIlRNZNuWyWm5kKNAJr2D8gD3ctlIYKczaAghgqdUwk_6Qi3BU8HCN0q6OYwM6JXPqrFQS5SIfKND7QsaYYQuite quelques magasins ont les parties, y compris Digikey, Jameco et Futurlec. Toutes les puces logiques sont spécifiées en tant que parties LS. LS est un peu old school et les puces consomment plus d'énergie et chauffent. J'ai remplacé toutes les puces LS par la gamme HCT plus moderne. Les HCT sont directement compatibles mais consomment beaucoup moins d'énergie. De même, j'ai opté pour un CMOS Z80, un CMOS UART (16C550) et une puce d'entrée/sortie CMOS (82C55). La carte est arrivée à peu près en même temps que les pièces, et il était temps de commencer à souder.

Étape 2: souder la carte

Souder la planche
Souder la planche

La soudure était assez facile et a été faite en une heure et demie. J'ai décidé d'emboîter les grosses puces et de souder directement les plus petites puces. Le plus gros problème était de plier légèrement toutes les broches de la puce pour qu'elles s'insèrent dans la carte. Il y a une puce d'horloge en temps réel dont je n'avais pas besoin, alors je l'ai laissée de côté. Il peut être ajouté plus tard. J'ai également mis une prise DC sur ma carte et un régulateur 5V. Cette carte est si efficace qu'elle n'a même pas besoin d'un dissipateur thermique sur le régulateur. Je l'ai couru sur une verrue murale 9V. L'eprom a une étiquette sur sa fenêtre, sinon il pourrait être effacé s'il sort au soleil. Le schéma est ici https://n8vem.googlegroups.com/web/Printing+TestPrototype- sch.pdf?gda=MaRhCFMAAABRoI8ydU505jGCwGWcAnRLnTJP08ZxIX8TVeSmRPYsxGLTiGlLa5mMzgNTsMYdvKCD3Kr1rUv-XML38vqpBkuybcVT3VtYGKLco-_lq-kwAzY Mais j'ai trouvé utile de comparer avec mon premier ordinateur qui avait 8 puces de RAM pour obtenir 64K. Cette carte a un demi-méga sur une seule puce. Le processeur est un Z80. Le Z80 provenait de la puce 8080, et le 8080 a également engendré les 8086, 80286 jusqu'à 80586, qui s'appelaient le pentium parce que l'office des brevets a dit que vous ne pouviez pas breveter de numéros. Les 8080 instructions de code machine dans un Z80 existent toujours dans les PC modernes.

Étape 3: programmer l'Eprom

Programmer l'Eprom
Programmer l'Eprom

Si vous ne voulez pas programmer d'eprom, vous pouvez toujours en acheter un préprogrammé lorsque vous recevez la carte. Mais j'ai pensé que je pourrais utiliser des eproms programmés dans d'autres projets, alors j'ai eu un programmeur et une gomme. Ceux-ci coûtaient des milliers. Mais j'ai acheté le programmeur pour 34 $, frais de port compris (recherchez le programmeur eprom sur ebay), et la gomme coûtait 25 $, frais de port compris. Le programmeur est livré avec son propre logiciel et si vous lui indiquez le numéro de la puce, cela vous donne une image de la façon d'insérer la puce et de régler tous les commutateurs. Les eproms sont vides, mais j'en ai programmé un, puis je l'ai effacé pendant 5 minutes et je l'ai reprogrammé, juste pour vérifier que tout fonctionnait. L'image entière de la rom est ici https://n8vem.googlegroups.com/web/ROMIMAGE.zip?gda =5RkX1kEAAABRoI8ydU505jGCwGWcAnRLTpwShSoH8O7HvxGhdHl1lXeXmbZQXujx0V3ulhJIKNrhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xN C'est un peu comme votre disque d'installation XP, sauf qu'il entre dans une puce. Décompressez le fichier, lancez le programmeur, chargez le fichier.bin et programmez la puce. Vous pouvez relire les données pour vérifier qu'elles sont passées en revue. Le seul problème avec ce programmeur est qu'il a besoin d'un port parallèle. Certains PC récents n'ont pas de port parallèle. Je me suis construit un câble d'extension de port parallèle pour ne pas avoir à passer la main derrière le PC. Il se compose d'une fiche IDC D25, d'une prise IDC D25 et de 2 mètres de câble plat. Utilisez un étau pour presser la fiche sur le connecteur. Le programmeur willem que j'ai acheté n'affiche pas tous les paramètres nécessaires pour programmer une eprom de 1 mégaoctet. Sur la gauche de la puce près du bas, un cavalier doit être déplacé. Les paramètres se trouvent cependant dans le manuel, qui est un fichier appelé Willem PCB5.0 Manual.html dans la section du manuel. Cela a beaucoup plus de détails sur les paramètres.

Étape 4: câbler un câble série

Brancher un câble série
Brancher un câble série

Si vous revenez à l'étape 2, vous pouvez voir le câble série sur l'image. Il y a trois parties à cela: 1) Mon câble de rallonge qui vient de l'arrière du PC. C'est le câble arc-en-ciel. Je l'ai construit de la même manière que le câble d'extension de fil de programmeur, sauf que celui-ci utilise une prise et une prise D9 IDC. C'est vraiment utile de ne pas avoir à tendre la main derrière l'ordinateur tout le temps. La rallonge a une femelle à une extrémité et un mâle à l'autre.2) Un modem nul. Il s'agit d'une connexion femelle à femelle. J'ai obtenu le circuit d'ici https://www.beyondlogic.org/serial/serial.htm (faites défiler un peu). Essentiellement, un null modem relie les broches 7 et 8, rejoint les broches 1, 4, 6 et permute les broches 2 et 3. La connexion à 9 broches devient alors une connexion à 3 fils - masse, transmet des données et reçoit des données. Cela simplifie en quelque sorte RS232.3) Un en-tête à 10 broches sur la carte vers un connecteur mâle D9. Plus d'informations à ce sujet sur la page suivante. Sur le schéma, le D9 mâle sur la gauche se connecte au PC. Le null modem est une connexion femelle à femelle avec les connexions dans les prises. J'aurais pu câbler tout cela avec beaucoup moins de prises, mais j'utiliserai le null modem dans d'autres projets.

Étape 5: câbler l'en-tête série

Câblez l'en-tête série
Câblez l'en-tête série

L'en-tête de la carte est conçu pour aller à un câble plat IDC à 9 voies, puis à une prise mâle D9. La seule astuce est que l'embase à 10 voies est conçue pour recevoir un câble plat à 10 voies. Si vous utilisez un câble à 9 voies, il y a un espace pour le fil manquant. J'ai pris un gros plan pour aider à clarifier cela. Si vous le câblez correctement, la broche 1 de la carte passe à la broche 1 du D9. La broche 5 sur le D9 doit se connecter à la terre sur la carte. Si ces deux sont connectés, le reste des fils ira bien aussi.

Le fil 1 se trouve à gauche des deux vues de la limande. Vous pouvez utiliser un câble plat avec des couleurs si vous le souhaitez. Le truc salissant sur la prise IDC est de la colle thermofusible. Probablement pas nécessaire mais cela rend les choses un peu plus fortes.

Étape 6: Téléchargez des logiciels

Télécharger certains logiciels
Télécharger certains logiciels

Nous avons besoin d'un logiciel sur la carte, et avant de pouvoir télécharger des programmes, nous avons besoin d'un programme de modem. Nous utiliserons xmodem, un standard qui existe depuis des années. Xmodem existe en tant que programme CPM, et il existe sous de nombreuses formes sur les programmes PC, tels que l'hyperterminal. Nous pouvons donc l'utiliser pour communiquer entre l'ancienne et la nouvelle technologie. Nous allons saisir le fichier hex de xmodem d'ici: https://n8vem.googlegroups.com/web/xm50_LB1.zip?gda=O2tYn0EAAABRoI8ydU505jGCwGWcAnRL1RQ8Aj5bHZQJ6hxcf7VyVbwBih-m421sIN3Oibiyd_vhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNgUnzip et vous obtiendrez deux fichiers. Vous avez besoin de celui qui se termine par.hex. Maintenant, nous devons l'envoyer au conseil d'administration. Vous avez besoin d'un programme de terminal qui émule un moniteur et un clavier pour cet ordinateur monocarte. Windows en a un appelé hyperterminal qui se cache généralement dans le dossier démarrer/programmes/accessoires. Ou vous pouvez utiliser hyperterminal private. Ou Teraterm. Ou Absolutetelnet. Ou un programme basé sur DOS appelé conex. Il existe de nombreux programmes de terminaux, car c'était ainsi que vous vous connectiez à Internet avant le haut débit. Allumons l'hyperterminal. Il vous donnera trois écrans et vous aurez besoin que tous les paramètres soient corrects ! Une fois que vous l'avez entré une fois, vous pouvez enregistrer cette session et cela créera un petit fichier se terminant par.ht Si vous cliquez ensuite sur ce fichier (faites-le glisser sur le bureau pour le retrouver plus tard), il démarrera l'hyperterminal avec tous les bons paramètres. Premier écran=nommer la connexion. Appelez-le SBC et choisissez une icône. Deuxième écran. Définissez le port com. Mon ordinateur utilise par défaut COM2 sur l'écran de configuration et doit être remplacé par COM1. Allez-y et passez à COM1. Troisième écran. Débits en bauds, etc. Réglez les bits par seconde sur 9600. 8 Bits de données. Parité à aucune. Bits d'arrêt à 1. Et contrôle de flux à Aucun. Vous n'aurez probablement besoin que de modifier les bits par seconde et le contrôle de flux. L'écran du terminal vous sera maintenant présenté. Connectez la carte au port série et allumez-la et vous devriez recevoir un message de bienvenue. Sinon, rejoignez le groupe Google et demandez de l'aide. Il est maintenant temps de parler au conseil d'administration !

Étape 7: Téléchargez Xmodem

Télécharger Xmodem
Télécharger Xmodem

Si vous avez acheté la puce RAM sauvegardée par batterie, vous n'aurez besoin de le faire qu'une seule fois. En effet, d'autres travaillent à mettre cela sur la puce eprom, vous n'aurez donc peut-être pas besoin de le faire dans un avenir très proche. À l'invite >, tapez h

Ne tapez rien d'autre. Ne tapez pas Entrée. Un seul h, en minuscule ou en majuscule. Le curseur descendra d'une ligne mais rien d'autre ne se produira. Cliquez maintenant en haut du programme hyperterminal sur le menu Transfert. Cliquez sur Envoyer un fichier texte. Dans Nom de fichier, utilisez Parcourir pour trouver la copie hexadécimale de xmodem que vous avez téléchargée. Il s'appelle XM50LB1. HEX. Vous devrez peut-être modifier la recherche par défaut de *.txt en *.hex pour le trouver. Cliquez sur ok, et de nombreux chiffres traverseront l'écran pendant environ 30 secondes. Attendez qu'ils s'arrêtent. Ensuite, appuyez une fois sur la lettre c, encore une fois sans entrer. Attendez 2 secondes et vous serez en CPM avec une invite A>. Tapez maintenant ce qui suit et appuyez sur Entrée: Enregistrer 40 b:xm.com Maintenant, tapez B: et entrez, pour passer au lecteur B et vous obtiendrez une invite B>. Tapez maintenant DIR et entrez, pour lister les fichiers. Il y a trois lecteurs sur cet ordinateur, A, B et F. Vous pouvez voir ce qu'il y a sur chacun en tapant la lettre du lecteur, puis deux-points, puis entrez, puis DIR. L'image montre une capture d'écran.

Étape 8: récupérez des logiciels

Prenez quelques logiciels
Prenez quelques logiciels

Il existe de nombreux logiciels CPM. Par exemple, https://www.loomcom.com/cpm/cpm_cdrom/https://www.gaby.de/ecpmlink.htm Mais essayons quelque chose de simple. Permet d'obtenir Basic pour ajouter quelques chiffres et imprimer la réponse. Pour ce faire, nous avons besoin d'une copie de Basic. Il existe de nombreuses copies, mais passons sur une tangente et parlons du simulateur Altair. Ce petit programme est une émulation complète d'une machine CPM fonctionnant sur un PC. Il possède une grande bibliothèque de logiciels, commodément conditionnée en portions de la taille d'un disque, et il fonctionne beaucoup plus rapidement qu'un véritable ordinateur CPM, ce qui est très pratique lors de la compilation. Le simulateur est ici:https://www.schorn.ch/cpm/intro.phpTéléchargez le logiciel, et téléchargez au minimum l'image disque CPM2.2, et environ la moitié de la page, l'image Basic. Mettez-les tous dans le même répertoire. Pendant que vous y êtes, découvrez tous les autres langages comme C Cobal, Fortran, Pascal. Si vous exécutez le programme AltairZ80.exe, vous obtiendrez une fenêtre DOS. Si vous avez téléchargé le fichier basic.dsk, vous pouvez l'exécuter avec la commandeDo basic dans le simulateur. Ensuite, DIR pour répertorier les fichiers (qui se trouvent sur le lecteur A: et B:) Nous voulons MBASIC et il se trouve dans le lecteur A. Pour le copier dans un répertoire PC, tapez W MBASIC. COM et cela enregistrera le fichier dans le répertoire dans lequel se trouve le programme altair. Vous pouvez faire l'inverse avec la commande R qui transfère les fichiers du PC vers les disques du simulateur altair. En effet, si vous voulez jouer avec CPM, c'est un excellent moyen de le faire sans avoir à construire ou acheter quoi que ce soit. Si vous voulez enregistrer des fichiers sur le disque virtuel, sortez du simulateur altair avec un ctrlE (touche E). Cela sort et enregistre. Si vous ne souhaitez pas enregistrer les modifications, fermez simplement la fenêtre avec le X dans le coin supérieur droit.

Étape 9: déplacer le fichier MBASIC. COM dans le tableau

Déplacez le fichier MBASIC. COM dans le tableau
Déplacez le fichier MBASIC. COM dans le tableau

Transférons Basic sur le tableau.

Dans la session hyperterminale, allez sur le lecteur B: et tapez XM R MBASIC. COM puis entrez. Cela démarrera le programme xmodem et il attendra l'arrivée d'un fichier. Allez maintenant dans le menu de l'hyperterminal, et cliquez sur Transférer puis sur Envoyer le fichier. Recherchez le fichier MBASIC. COM. Dans la section protocole, sélectionnez Xmodem. En hyperterminal c'est le troisième vers le bas. Cliquez sur envoyer et après quelques secondes, le fichier ira bien. Cela prend environ une minute. Si cela fonctionne, vous devriez obtenir l'invite B>. Tapez DIR pour vérifier qu'il est là. (Ignorez tous les B> en bas de l'écran - j'ai appuyé accidentellement plusieurs fois sur la touche Entrée)

Étape 10: Exécutez Basic et écrivez un programme

Exécuter Basic et écrire un programme
Exécuter Basic et écrire un programme

Maintenant, nous pouvons exécuter Basic sur le tableau et écrire un petit programme. Par exemple, mbasic10 A=2020 B=3030 C=A+B40 print "La réponse est: ";CRUNSave "MYPROG", ANow nous avons un ordinateur qui fonctionne.

Étape 11: compiler un programme

Compiler un programme
Compiler un programme

Si vous vous sentez vraiment intéressé, vous pouvez compiler un programme. Cela produit un.com (l'équivalent d'un.exe sur un PC). Les fichiers Com peuvent être exécutés en tant que programmes indépendants et peuvent même être configurés pour s'exécuter automatiquement au démarrage de la carte. Désormais, la carte peut fonctionner comme un contrôleur autonome, sans jamais avoir besoin d'être connectée à un PC. La carte N8VEM peut compiler des programmes sur la carte, ou vous pouvez utiliser le simulateur altair. Ce dernier est plus rapide mais cela n'a pas vraiment d'importance. Si vous souhaitez compiler des programmes, vous avez besoin des éléments suivants: MBASIC. COM, BRUN. COM L80. COM BCLOAD, BASLIB. REL ET BASCOM. COMC est un peu différent, mais je pense qu'il utilise toujours l'éditeur de liens L80. Voir la capture d'écran pour savoir comment écrire, compiler et exécuter un programme. Et restez à l'écoute, car bientôt il y aura des disques durs, un mini écran LCD, un écran qui utilise un ancien moniteur vga https://www.tvterminal.de/index.html#english avec interface clavier, un lecteur flash et entrée et cartes de sortie !

Conseillé: