Ich hege eine geheime Fantasie (hoppla, nicht mehr so geheim), um einen einfachen Computer von Grund auf neu zu bauen. Ich bin auf der Suche nach einem einfach zu bedienenden Mikroprozessor. Ich kenne die üblichen Verdächtigen wie die 6502, 68000, 8086, Z80 usw. Aber ich frage mich, ob da draußen etwas Besseres ist. Hier ist meine Wunschliste:
Haben müssen:
- Niedrige Taktrate (4-25 MHz)
- Nicht mehr als 40-60 Pins, vorzugsweise in DIP-Konfiguration
- Die Fähigkeit, etwa 64 KB Arbeitsspeicher zu adressieren, aber bis zu 1 MB oder so wäre gut
- Gespeicherte Programmarchitektur (nicht schreibgeschützter Anweisungsbereich) (Bearbeiten: Dies schließt die meisten Low-End-Mikrocontroller wie PIC und AVR aus.)
- Flaches Speichermodell, nicht wie beim 8086 in Bänke oder Segmente unterteilt
Möchte, aber nicht unbedingt haben:
- RISCy-Befehlssatz (Laden-Speichern)
- Allzweckregister
- Auswahl an TTL-E / A-Pins
- Eingebautes Flash-ROM
Für welchen Mikroprozessor oder Mikrocontroller lässt sich das relativ einfach verkabeln und die ersten ROM-Routinen schreiben?
Mein Ziel ist es, ein einfaches Forth (oder ähnliches) System in Gang zu bringen. Um nur zu sagen, dass ich es getan habe.
Edit: Nachdem ich ein bisschen recherchiert habe, denke ich, dass das ARM7 zu mir passen würde. Es kommt mit einer nicht trivialen Menge an Flash und SRAM zum Spielen - manchmal bis zu 256K Flash und 64K SRAM - zusammen mit digitaler E / A, ADC, serieller E / A und mehr.
Hier ist eines: das STR711 ARM Development Board .
quelle
Antworten:
Ich bin damit einverstanden, dass ARM der richtige Weg für 32-Bit-Mikrocontroller ist. ARM ist allgegenwärtig und seine Assemblersprache kann in einer Vielzahl von Mikrocontroller-Familien verwendet werden. ARM wird auch von der GCC-Toolchain unterstützt. Die ARM7TDMI-Chiparchitektur hat in den letzten 5 Jahren den 32-Bit-MCU-Bereich dominiert, und der ARM Cortex-M3 ist der aufkommende Ersatz. Der Cortex-M3 verfügt über eine Harvard-Architektur (separate Befehls- und Datenadressräume), aber ich glaube nicht, dass dies eine Einschränkung ist.
Micromint hat einen soliden Ruf und bietet ein Cortex-M3-Board mit konfigurierbaren Optionen zu einem angemessenen Preis. Wenn Sie jedoch wirklich eine DIP-Konfiguration benötigen, hatte ich Erfolg mit dem mbed
Nun ist das nächste, was Sprachen ist. Sie haben FORTH erwähnt. Ich empfehle auch Python-on-a-Chip und eLua als leistungsstarke, leicht zu erlernende Sprachen, die auf dieser Zielplattform funktionieren. eLua ist weiter entwickelt, hat jedoch einen höheren Ressourcenbedarf als Python-on-a-Chip. Vollständige Offenlegung: Ich bin der Autor der in Python-on-a-Chip verwendeten PyMite-VM. Wenn es also Ihr Ziel ist, Ihre eigene Sprache zu entwickeln, verstehe ich die Freude an dieser Übung voll und ganz.
quelle
Für kleine UC-Sachen Arduino , billig, lustig, gute Community
Für Maschinen der ARM-Klasse ist der billigste wahrscheinlich Sheeva Plug. Sie stellen eine erstaunliche Komplettmaschine dar, die in ein Wallwart-Netzteil eingebaut ist, und eine etwas größere Einplatinenmaschine mit viel mehr I / O
Oder es gibt ein Beagle-Board , das mehr auf Audio / Video-Leistung abzielt.
Alle von ihnen laufen unter Linux, so dass Sie eine riesige Auswahl an Entwicklungssoftware haben
quelle
MSP430 von Texas Instruments hat einen sehr geringen Stromverbrauch, einen kleinen, aber sehr vernünftigen Befehlssatz (im Gegensatz zu PIC), Open-Source-Tools und ein DIP-Format in der Wertelinie. Sie haben vor kurzem ein Starterkit für 4,30 US-Dollar (ja, das ist vier Dollar, dreißig Cent, kostenloser Versand) herausgebracht, das eine USB-Schnittstelle zum Programmieren und Debuggen sowie zwei DIP-Chips zum Spielen enthält. Probieren Sie es aus .
quelle
Sie könnten sich ein FPGA zulegen und sich darüber lustig machen - kein Prozessor erforderlich.
Ich war schon einmal versucht, einen einfachen MIPS-Computer zu bauen. Ich habe ein grundlegendes CPU-Design, aber es wäre schwer zu sagen, Wire-Wrap oder andere Prototypen heraus.
quelle
Sehen Sie sich die ATmega-Mikrocontroller von Atmel an. Sie bieten alles, was Sie benötigen, außer die Möglichkeit, Code aus dem RAM auszuführen. Sie sind sehr einfach einzurichten.
Ein kleiner 32-Bit-ARM-Prozessor wie ARM7TDMI wäre eine Alternative, die jedoch nicht in DIP-Paketen enthalten sind. Gleiches gilt für die Mikrocontroller R8C / M16C von Renesas.
quelle
Klingt nach einem tollen Projekt! Ich habe in den 70ern einen mit einem 8008-Chip und ein bisschen RAM und ROM gemacht. Ich habe es so programmiert, dass es mit Lautsprechern, die an den E / A-Port angeschlossen sind, ein wenig Musik spielt. Ein Teil der Speicherschaltung enthielt einen von einem Kondensator gesteuerten Zeitgeberchip. Ich habe einen zusätzlichen Kondensator aufgelötet, der das Ganze um 1000 verlangsamt, wenn er in Kontakt gebracht wird. Dann habe ich ihn im Unterricht als Demonstrator verwendet. Zuerst würde ich es langsam laufen lassen und die Schüler könnten hören, wie die Lautsprecher klicken, klicken. Dann löste ich den Kondensator und sie hörten die Melodie. Ich habe versucht, sie zu beeindrucken, wie Computer eine Anweisung beenden, bevor sie die nächste starten.
quelle
Schauen Sie sich OLIMEX an, sie haben Entwicklungskarten für die meisten modernen Mikrocontroller und wenn Sie wirklich DIP wollen, haben sie ARM-Prozessoren auf Karten im DIP-ähnlichen Format ( 1 ). Sie verkaufen auch JTAGs und haben einige Demo-Codes für die meisten Boards (gcc), so dass sie sehr einfach in Betrieb genommen werden können. Die meisten ihrer Boards sind über Sparkfun erhältlich . Ich persönlich mag die auf Phillips LPC ARM basierenden Mikros, aber alles von Olimex ist gut.
Der AVR32 funktioniert auch für Sie (ohne Probleme). Ich habe erst kürzlich damit begonnen und war sehr überrascht, wie leistungsfähig und einfach sie sind.
Von Grund auf neu zu bauen ist heutzutage keine Option, es sei denn, Sie verwenden ein 8-Bit-Dip-Mikro oder haben ein Setup zum Löten von oberflächenmontierten Platinen und zum Debuggen komplexer digitaler Leiterplatten.
quelle
Abhängig von Ihren Zielen möchten Sie möglicherweise erwägen, Ihre eigene CPU mit den gewünschten Funktionen zu erstellen, anstatt eine vorhandene CPU zu verwenden. Schauen Sie sich den Homebuilt-CPU- Webring an. Es gibt sogar einen
verrücktenEnthusiasten , der eine CPU aus Relais gebaut hat!quelle
Parallax Propeller
Der einzige 32-Bit-Prozessor, der derzeit in einem DIP-Paket hergestellt wird, ist der Parallax Propeller . (Derselbe Chip ist auch in viel kleineren 44-Pin-QFP- und 44-Pin-QFN-Gehäusen erhältlich, alle mit 32 universellen E / A-Pins). Neben der Windows-IDE gibt es auch einige Entwicklungstools, die unter Linux ausgeführt werden .
Es scheint alle Ihre Anforderungen zu erfüllen, mit Ausnahme von "Built-in Flash ROM" - stattdessen lädt der Propeller von einem externen 8-Pin-EEPROM. (Das ist eine weitere Sache, die verkabelt werden muss, aber es ist viel einfacher, einen 8-poligen Chip zu verkabeln als die meisten externen Programmspeicherchips).
quelle
+1 Für die ATmega-Mikros. Sie erhalten sie mit einem Bootloader für die Programmierung über USB - so können Sie das erste Board noch einfacher zum Laufen bringen, ohne einen speziellen Programmierer zu benötigen. Sie werden das ICE-Zeug verpassen, wenn Sie diesen Weg gehen.
quelle
Eine zweite Stimme für das Amtel. Ich mag besonders den Teenager ++ für Prototypen und Experimente. Der USB-Anschluss versorgt das Gerät mit Strom, bietet eine Programmierschnittstelle und zeigt die Debug-Ausgabe an. GNU dev tools. Tonnenweise Spaß für etwa 30 Dollar.
quelle
Atmel wird sehr beliebt sein, die Arduinos (ich mag die Pro-Modelle bei sparkfun) selbst sind sehr beliebt. Sie finden VIELE Hobbyisten, die mit dem AVR vertraut sind und fast alle Fragen beantworten können.
Ich bevorzuge den Befehlssatz msp430 gegenüber dem Befehlssatz avr und den Befehlssatz arm gegenüber den anderen. Olimex stellt eine Reihe von "Header" -Boards her, die sich perfekt für Experimente eignen. Luminary Micro hat einige gute, aber viele der Stifte werden von On-Chip-Vorzeigegeräten der Chipperipherie verbraucht. Gut zum Erlernen des Chips und der Funktionen, aber Sie möchten sie eventuell wegschneiden, um an die E / A zu gelangen. Wie auch immer, olimex ist gut. Versuchen Sie es unter http://www.sparkfun.com und stöbern Sie in den Entwicklungsboards. Einige sind von olimex, andere von sparkfun. Eine große Auswahl und viele unter 40 oder 50 US-Dollar. Sie können also ein paar ausprobieren, um zu sehen, was Sie tun mögen. Ich bin dabei, einen Armmit zu bestellen, der, wenn er seiner Funktionsliste gerecht wird, wahrscheinlich die beste Steuerungsplatine für meine Zwecke ist.
quelle
Ich hatte den gleichen Traum, bin aber nie dazu gekommen.
Die meisten der oben genannten Empfehlungen gelten für Entwickler-Boards. Da Sie "von Grund auf neu" gesagt haben, würde ich annehmen, dass Sie mit einem einzelnen DIP-Prozessor-Chip beginnen und kein Entwicklungsboard kaufen möchten. In diesem Fall würde ich sehr, sehr, sehr, sehr empfehlen, dass Sie sich an so etwas wie die üblichen Verdächtigen halten, die Sie in Ihrem Beitrag aufgeführt haben. Sie sind beliebt, weil sie für eine solche Aufgabe gut geeignet sind. Mit Multiplexern und Demultiplexern können Sie den Bedarf an mehr E / A-Leitungen überwinden.
Angenommen, Sie haben die "perfekte" CPU gefunden, die alles kann, was Sie wollen, und die genaue Anzahl der gewünschten E / A-Leitungen hat. Sie werden nicht annähernd die Unterstützung finden, die Sie für die beliebten Prozessoren finden werden. Sie sollten sehr leicht in der Lage sein, alte gebrauchte Bücher bei E-Bay, Amazon usw. zu finden, für nur ein paar Cent, die zeigen, wie man mit diesen Prozessoren ein komplettes System entwirft. Ganz zu schweigen von Websites, Compilern und anderen Personen, die dasselbe tun.
Wenn Sie sich für etwas anderes entscheiden, werden Sie es wahrscheinlich zutiefst bereuen. Sie werden mehr Zeit frustriert über mangelnden Support verbringen als über technische Probleme, die Sie mit diesen Prozessoren haben. Da bereits ganze Computer mit diesen Chips ausgestattet sind, wissen Sie, dass dies möglich ist. Bei allem anderen besteht immer die Möglichkeit, dass Sie gegen eine Mauer stoßen.
quelle
Wählen Sie Atmel AVR. Hier sind einige Spieleplattformen:
quelle
Ich bevorzuge den Befehlssatz msp430 gegenüber dem Befehlssatz avr und den Befehlssatz arm gegenüber den anderen.
quelle