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.
- +1 pour les intérêts. Avez-vous regardé ici? fpga4fun.com
InformationsquelleAutor samoz | 2009-03-10
Vous devez vous connecter pour publier un commentaire.
Look ici pour un bon 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.
Vous voudrez peut-être avoir un coup d'oeil autour de OpenCores.org, une "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.
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.
La 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.
À jouer avec soft-core microprocesseurs, j'aime la 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 Le Plasma de communications unifiées à écrire des papiers et de l'université.
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?
Après une recherche de quelques très utiles liens par vous tous, je suis tombé sur cette Wikiversité cours.
L'une des premières phrases est, "Avez-vous déjà pensé à créer votre propre microprocesseur?"
Xilinx a un MicroBlaze et un PicoBlaze soft controller pour ses Fpga. Ce dernier est gratuit, tandis que, autant que je me souvienne, le Microblaze est d'être payé pour.
Comme son nom l'indique, le PicoBlaze est un petit processeur, qui a ses limites, mais otoh, que est suffisamment compact pour exécuter sur un CPLD. De toute façon une belle processeur pour obtenir vous avez commencé.
Pablo Bleyer a un PicoBlaze-compatible PacoBlaze. PacoBlaze a été écrit en Verilog (qui, comme Adam l'a dit, moins commun que le VHDL).
Vous avez besoin d'un gros fpga pour un peu de mcu.
Vous avez besoin d'un fpga avec le bon matériel blocs si vous avez besoin de choses comme AD.
Vous avez besoin d'un cœur tendre à mettre dans le fpga.
Mais que diriez-vous de jouer avec un MCU avant ce projet,
donc, vous savez où vous allez? Que diriez-vous des AVR:s d'Atmel.
Vous pouvez obtenir des échantillons gratuits de micro-contrôleurs pic sur ce site. La dernière, je le savais, vous n'avez même pas à payer l'expédition.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=64