48 votes

Comment puis-je faire ma propre microcontrôleur?

Comment puis-je faire ma propre microcontrôleur? J'ai fait un peu de travail à l'aide de GAL frites et programmé une puce pour faire des commandes simples comme l'ajout, la charger, déplacer, xor, et la sortie, mais je voudrais faire quelque chose de plus comme un vrai microcontrôleur.

Comment puis-je faire? J'ai lu un peu sur FPGA et CPLD, mais pas beaucoup, et a été la recherche de quelques conseils sur ce qu'il faut faire et comment commencer à développer sur elle.

29voto

Adam Hawes Points 4153

Rechercher ici pour une bonne wiki livre. J'ai eu quelques cours que j'ai écrit quand j'étais enseignement Électronique Eng, mais je ne pouvais pas le trouver autour. Lorsque j'enseignais, la plupart des élèves étaient heureux d'utiliser le schéma des outils de capture dans le Xilinx Fondation de l'emballage. Ils ont déplacé sur ISE et WebPACK maintenant. Vous pouvez télécharger le WebPack gratuit, ce qui est utile, et il a la saisie de schémas et de la simulation en elle.

Si vous voulez vraiment briller, apprendre VHDL ou Verilog (VHDL semble être plus commune où j'ai travaillé, mais c'est seulement une petite poignée de places) et le code de la conception plutôt que de le saisir par le biais de l'interface graphique.

Si vous connaissez RIEN à la logique numérique de conception (et de certains HDL) je rekon, vous pouvez avoir un peu fonctionnels 8 bits microprocesseur de simulation en VHDL dans environ 2 jours. Vous n'allez pas construire quoi que ce soit hyper rapide ou très fort en ce moment, mais c'est un bon point de départ pour grandir. Si vous avez à apprendre sur la conception numérique, facteur dans une couple de jours pour apprendre les outils de travail et de simuler une partie de base de la logique de circuits avant de passer à la conception.

Commencer à apprendre les bases des systèmes numériques, et comment construire un additionneur binaire. Passer à la construction d'un ALU pour gérer l'addition, la soustraction, et, ou, xor, etc et puis un séquenceur à lire les opcodes de la RAM et de leur fournir de l'unité d'exécution.

Vous pouvez obtenir la fantaisie de l'enseignement de la conception du jeu, mais je recommande de commencer VRAIMENT simple jusqu'à ce que vous avez votre tête autour de ce qui se passe, puis de la jeter et de recommencer avec quelque chose de plus complexe.

Une fois que vous avez la conception de la simulation bien vous pouvez évaluer sa complexité et l'achat d'un appareil pour l'adapter. Vous devriez regarder d'un système de développement pour l'appareil de la famille que vous avez choisi. Choisir un appareil plus grand que ce que vous avez besoin pour le développement, car il est agréable d'être en mesure d'ajouter de l'instrumentation pour le déboguer quand il est en cours d'exécution, et vous avez presque certainement ne serez pas avoir optimisé votre conception dans les premiers stades de la réception de l'appareil.

EDIT: Colin Mackenzie a un bon tutoriel sur l'uC design et des FPGA conseils ainsi qu'un peu d'autres trucs.

13voto

Jeffrey Hantin Points 19272

Vous voudrez peut-être avoir un coup d'oeil autour de OpenCores.orgune "forge" site pour l'open source au cœur d'IP de développement. Aussi, envisager de faire vous-même un conseil de développement, comme l'un de ces à jouer avec.

Beaucoup des outils de l'écosystème tourne autour de VHDL, bien que Avalda est de travailler sur les outils pour compiler F# pour les Fpga.

7voto

J'ai vu un livre une fois qui se mettaient en travers de la construction d'une machine à partir d'TTL jetons. Cela avait le même jeu d'instructions comme un PDP-8, qui est très - et je veux dire très simple, de sorte que le réel de l'architecture de la machine est facile à mettre en œuvre dans ce sens.

Le PDP-8 FAQ mentionne un livre: "l'Art de La Conception Numérique," deuxième édition, par Franklin Prosser et David Winkel (Prentice-Hall, 1987, ISBN 0-13-046780-4). Il mentionne également les gens de la mettre en œuvre dans le FPGA est.

Compte tenu de l'extrême simplicité de cette architecture du PROCESSEUR et de la disponibilité de la PDP-8 du code ou des implémentations de référence, il pourrait être un bon point de départ pour se réchauffer avec.

Sinon, un de mes amis a mis en œuvre un pouce (couper les BRAS) sur un FPGA comme un projet universitaire, dirigé par Steve Furber (un éminent Gland ancien). Étant donné que cela pourrait être compressés dans un format assez petit pour un projet universitaire, il pourrait aussi être un bon début.

3voto

Marcelo MD Points 812

Pour jouer avec soft-core microprocesseurs, j'aime le Spartan 3 Starter Conseil de Digilent juste parce qu'il a 1mo de RAM statique. SDRAM et DDR RAM sont plus difficiles à obtenir, vous le savez.

Les voyants, commutateurs et simple de l'interface série sont un plus pour le débogage et le communiquer.

Comme quelqu'un l'a déjà souligné, OpenCores.org est un bon endroit pour trouver des exemples. J'ai utilisé le Plasma de communications unifiées à écrire des papiers et de l'université.

1voto

MarkusQ Points 15612

Un microcontrôleur peut être aussi simple que d'une ROM (mode d'*2^x + (phase de l'horloge) est l'adresse, les résultats sont les signaux de commande, et vous êtes bon pour aller). Ou il peut être un complexe harry bête avec trois bras et de la direction générale de prédiction de soutien matériel.

Pouvez-vous donner plus de détails au sujet de vos aspirations?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X