Frage

Wie kann ich meine eigenen Mikrocontroller machen? Ich habe einige Arbeit mit GAL-Chips durchgeführt und programmierte einen Chip einfache Befehle zu tun, wie Hinzufügen, Last, verschieben, xor und Ausgang, aber ich mag etwas mehr wie ein echter Mikrocontroller tun.

Wie kann ich tun, um dies zu tun? Ich habe ein wenig über FPGA und CPLD lesen, aber nicht sehr viel, und so war auf der Suche für einige Ratschläge, was zu bekommen und wie die Entwicklung beginnen auf sie.

War es hilfreich?

Lösung

Schauen Sie hier für ein gutes Wiki Buch. Ich hatte einigen Kurs ich geschrieben, als ich elektronische Eng lehre, aber ich kann es nicht finden um. Als ich lehrte, waren die meisten Schüler gerne die Schematic Capture-Tools in der Xilinx Foundation-Paket verwenden. Sie sind umgezogen auf ISE und WebPACK jetzt. Sie können den WebPack kostenlos herunterladen, was nützlich ist, und es hat Schaltungserfassung und Simulation in ihm.

Wenn Sie wirklich glänzen wollen, lernen VHDL oder Verilog (VHDL scheint häufiger zu sein, wo ich gearbeitet habe, aber das ist nur ein kleiner paar Brocken Plätze) und Code, um das Design, anstatt geben Sie über die grafische Benutzeroberfläche.

Wenn Sie überhaupt etwas über digitale Logik-Design kennen (und einige HDL) I REKON Sie eine etwas funktionelle 8-Bit-Mikroprozessor aufweisen kann in ca. 2 Tagen in VHDL simuliert. Du wirst nicht in dieser Zeit etwas rasanter oder enorm leistungsfähig zu bauen, aber es ist ein guter Ausgangspunkt wachsen aus. Wenn Sie sich über digitales Design lernen, Faktor in ein paar Tage zu lernen, wie man die Werkzeuge arbeiten und einige grundlegenden Logikschaltungen simulieren, bevor sie auf das uP Design bewegen.

Starten Sie die Grundlagen der digitalen Systeme zu lernen, und wie eine binäre Addierer zu bauen. Bewegen Sie auf dem Aufbau eine ALU zu handhaben Addition, Subtraktion, und, oder, xor, usw. und dann ein Sequenzer Opcodes aus dem RAM zu lesen und sie an die Ausführungseinheit liefern.

Sie können mit Befehlssatz Design Phantasie, aber ich würde empfehlen, wirklich einfach anfangen, bis Sie Ihren Kopf um, was los ist, werfen Sie es dann aus und beginnen wieder mit etwas komplexer.

Sobald Sie das Design simuliert schön können Sie die Komplexität messen und ein Gerät kaufen entsprechen. Sie sollten für die Gerätefamilie an einem Entwicklungssystem suchen Sie gewählt haben. Wählen Sie ein Gerät größer als das, was Sie für die Entwicklung benötigen, weil es schön ist, die Lage sein, zusätzliche Instrumentierung hinzufügen, um es zu debuggen, wenn es läuft, und Sie mit ziemlicher Sicherheit nicht optimieren Ihr Design in den frühen Phasen des Erhaltens es auf dem Gerät.

EDIT: Colin Mackenzie ein gutes Tutorial über uC Design hat und einige FPGA-Boards sowie ein bisschen andere Sachen.

Andere Tipps

Sie können einen Blick um OpenCores.org , eine "Schmiede" Website für Open-Source-IP-Core-Entwicklung haben wollen. Auch betrachten Sie sich ein Entwicklungsboard wie eines dieser immer zu spielen, um mit.

Ein großer Teil des Ökosystems Tools dreht sich um VHDL , obwohl Avalda auf Tools arbeitet F # für FPGAs kompilieren.

sah ich ein Lehrbuch einmal, dass durch den Bau einer Maschine von TTL-Chips abgestuft. Dies hatte den gleichen Befehlssatz wie eine PDP-8, das sehr ist - und ich meine sehr - einfach, so dass die tatsächliche Maschinenarchitektur ist einfach auf diese Weise zu implementieren.

Der PDP-8 FAQ ein Buch erwähnt: „ The Art of Digital Design, “zweite Auflage, von Franklin Prosser und David Winkel (Prentice -Halle, 1987, ISBN 0-13-046780-4). Es erwähnt auch die Leute es in FPGAs implementiert.

die extreme Einfachheit dieser CPU-Architektur und die Verfügbarkeit von PDP-8-Code oder Referenzimplementierungen Da es könnte ein guter Ausgangspunkt sein, um sich aufzuwärmen mit.

Alternativ kann ein Bekannter von mir implementiert einen Daumen (abgeholzt ARM) auf einem FPGA als Universitätsprojekt von einem Steve Furber (a prominent Acorn Alumnus). Da diese in ein Format für ein Universitätsprojekt klein genug komprimiert werden könnten, es könnte auch ein guter Anfang sein.

Um mit Soft-Core-Mikroprozessoren zu spielen, wie ich der Spartan 3 Starter Vorstand von Digilent, nur weil es hat 1M von statischem RAM. SDRAM und DDR-RAM ist schwerer in Gang zu bringen, wissen Sie.

Die LEDs, Schalter und eine einfache serielle Schnittstelle sind ein Plus zu debuggen und kommunizieren.

Wie schon jemand darauf hingewiesen, OpenCores.org ist ein guter Ort, um die Arbeitsbeispiele zu finden. Ich benutzen den Plasma uC einige Papiere, während auf der Universität zu schreiben.

Ein Mikrocontroller kann als ROM so einfach sein (Befehl * 2 ^ x + (Taktphase) ist die Adresse, Ausgänge sind die Steuersignale, und Sie sind gut zu gehen). Oder es kann ein komplexer harry Tier mit drei Arm und Verzweigungsvorhersage Unterstützung Hardware sein.

Können Sie mehr Details über Ihre Wünsche?

einige sehr hilfreiche Links von allen von Ihnen Nach der Suche stieß ich auf diese Wikiversity Kurs .

Einer der ersten Sätze ist: „Haben Sie jemals daran gedacht, Ihren eigenen Mikroprozessor zu bauen?“

Xilinx eine Microblaze und ein PicoBlaze soft-Controller für seine FPGAs. Letzteres ist frei, während, IIRC, die Microblaze bezahlt werden soll.
Wie der Name schon sagt ist der PicoBlaze ein kleiner Prozessor, der seine Grenzen hat, aber OTOH ist kompakt genug, um laufen auf einem CPLD . Auf jeden Fall ein schöner Prozessor zum Einstieg.
Pablo Bleyer hat eine PicoBlaze-kompatibel PacoBlaze . PacoBlaze wurde in Verilog geschrieben (die, wie Adam sagte, weniger verbreitet als VHDL).

Sie brauchen eine große fpga für ein wenig mcu.

Sie benötigen einen FPGA mit den richtigen Hardware-Blöcken, wenn Sie Dinge wie AD benötigen.

Sie brauchen einen weichen Kern in die fpga zu setzen.

Wie steht es aber bis kurz vor diesem Projekt mit einem normalen MCU rumspielen, so dass Sie Art von wissen, wohin du gehst? Wie wäre es mit AVR: s. Von Atmel

Sie können an dieser Stelle kostenlose Proben von pic Mikrocontrollern bekommen. Zuletzt wusste ich, dass Sie nicht einmal Versand zahlen müssen.

http://www.microchip.com/stellent/idcplg?IdcService = SS_GET_PAGE & nodeId = 64

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top