Wie baue ich meinen eigenen Einplatinencomputer?

5357
gablin

Zum Spaß möchte ich einen eigenen Single-Board-Computer bauen, den ich später programmieren kann. Ich weiß, dass es bereits viele Entwicklungskits gibt, die von Unternehmen wie Altera und Xilinx verkauft werden, aber ich möchte versuchen, ein solches Board von Grund auf zu bauen .

Ich strebe etwas sehr einfaches an. Der Systemtakt sollte möglicherweise auf 1 MHz laufen, eine 8-Bit-CPU (eine Onchip-Multiplikations- und -Division-Einheit ist nicht erforderlich; ich kann das in der Software simulieren), ein kleines RAM (einige KB sollten ausreichen) und ein EEPROM, wo ich kann mein Programm speichern. Ich möchte auch einige Sensoren anschließen, um beispielsweise die Temperatur im Raum abzulesen.

Ich habe einige Kurse für digitales Design und CPU-Architektur gelesen, also mache ich mir keine Sorgen um die Komponenten selbst. Ich mache mir Sorgen um die Verbindungen, besonders wenn ich Widerstände und Kondensatoren dazwischen benötige. Ich habe etwas Erfahrung mit analogen Schaltungen, aber es ist begrenzt. Ich habe einmal ein eigenes Board für die Steuerung von vier Lüftern in meinem Computergehäuse mit einigen Operationsverstärkern und Widerständen gebaut.

Ich habe nichts dagegen, meinen eigenen Compiler zu schreiben, wenn es sein muss, aber es macht die Sache viel einfacher, wenn ein solcher bereits verfügbar ist. Das Programm auf das EEPROM zu laden, kann auch etwas schwierig sein ...

Kennen Sie gute Bücher, Websites oder andere Ressourcen, auf die Sie hingewiesen werden können, um zu lernen, wie Sie meinen eigenen Einplatinencomputer bauen können? Jede Hilfe wird sehr geschätzt.

4
Haben Sie jemals Mikrocontroller wie die [Atmel AVR] (http://en.wikipedia.org/wiki/Atmel_AVR) -Serie in Betracht gezogen? Es enthält so ziemlich alles, was Sie in einem einzigen Chip erwähnt haben, und wird von GCC unterstützt. Sie müssten Strom, Sensoren und den Rest des Materials hinzufügen, aber der Computerprozessor, der Arbeitsspeicher und ein Flash-Speicher wären da. AndrejaKo vor 13 Jahren 0
@AnderjaKo: Oooh, schick! Das scheint tatsächlich das zu sein, was ich suche! Und alles in einem Paket! Vielen Dank! = D Aber warum hast du das nicht als Antwort geschrieben ...? gablin vor 13 Jahren 0

4 Antworten auf die Frage

1
AndrejaKo

Ich weiß nicht wie das Thema ist, aber ich werde trotzdem antworten.

Ihr erster Schritt wäre, sich etwas Zeit zu nehmen, um potenzielle Kandidaten für jede Komponente zu durchsuchen und zu entscheiden, wie weit Sie wollen. Möchten Sie eine CPU aus diskreten Komponenten aufbauen oder eine vormontierte CPU verwenden oder einen Mikrocontroller erhalten, der alle grundlegenden Teile in einem Paket enthält. Der nächste Schritt wäre das Abrufen und Lesen von Datenblättern für jede Komponente, die Sie verwenden möchten. In der Regel finden Sie einige Beispielschaltkreise und Informationen darüber, welche Arten von Spulen oder Kondensatoren Sie verwenden müssen. Spulen werden meistens zum Herausfiltern von Wechselstromsignalen verwendet, während Kondensatoren häufig zum Herausfiltern von Gleichstromsignalen verwendet werden.

Der nächste Schritt würde versuchen, eine Art Schaltungssimulationsprogramm zu erhalten. Es wird alles viel einfacher machen.

Danach müssten Sie "einkaufen". Um Daten auf den Chip zu bekommen, benötigen Sie einen Programmierer. Billigste können über parallele oder serielle Anschlüsse hergestellt werden, während teurere USB-Anschlüsse verwenden und mit einem schönen Programm geliefert werden, das Daten in den Chip lädt. Hier können Sie nichts falsch machen, wenn Sie einen vom Chip-Hersteller empfohlenen Programmierer erhalten. Zum Beispiel wird dieser für AVR-Chips empfohlen. Sie müssen auch dekodieren, wenn Sie eine Leiterplatte herstellen oder nur Protokarten verwenden. Wenn Sie sich für die Leiterplatte entscheiden, benötigen Sie Elektroniklötkolben und verwandte Werkzeuge. Sie müssen auch entscheiden, ob Sie jemanden finden werden, der PCB fertigt oder selbst eine fertigt. Es gibt viele Möglichkeiten, PCB selbst herzustellen,

Sie benötigen auch eine IDE für den Chip, den Sie verwenden möchten. Ich kann Ihnen nicht viel helfen, da Sie nicht wissen, was Sie verwenden werden, aber die meisten gängigen Chips verfügen heute über eine IDE, die zumindest C unterstützt.

Ich weiß, dass ich mit dieser Antwort ungenau war, aber ich kann nicht ins Detail gehen, wenn ich nicht weiß, was Sie tatsächlich vorhaben.

Gehen Sie mit dieser Frage auch zu https://electronics.stackexchange.com/ . Es scheint, es würde dort besser passen.

1
tovare

Das motorola MC68HC05 scheint Ihren Anforderungen zu entsprechen (es gibt jedoch noch viele andere Mikrocontroller, die den von anderenjaKo genannten entsprechen).

Die Dokumentation enthielt auch Schaltpläne für eine funktionierende Platine (Sie müssen jedoch Ihre eigene Leiterplatte zeichnen und ätzen und eine Anwendung für die E / A-Pins auf dem Chip finden.)

Die einzige Software, die ich dafür geschrieben habe, habe ich mit der manuellen Konvertierung vom Assembler in Hexadezimal (die Op-Codes sind sehr einfach) gemacht, es gibt kostenlose Entwicklungswerkzeuge dafür.

http://webspace.webring.com/people/ju/um_2949/

1
Mark Irvine

Im Studentenhandbuch für 'Art of Electronics' finden Sie eine Reihe von Übungen zum Erstellen eines sehr einfachen Mikrocomputers. Zwischen dem Buch und dem Schülerhandbuch sollten Sie genug haben, um einen sehr einfachen Computer zu bauen.

http://www.amazon.com/Art-Electronics-Student-Manual/

Haben Sie vielleicht an Folgendes gedacht (http://www.amazon.com/Art-Electronics-Student-Manual-Exercises/dp/0521377099/)? Der Link, den Sie angegeben haben, funktioniert nicht für mich. AndrejaKo vor 13 Jahren 0
der Link funktioniert nicht? Suchen Sie einfach nach "Art of Electronics" auf Amazon oder einer guten Buchseite, und Sie sollten es finden können. Mark Irvine vor 13 Jahren 0
0
mctylr

This may be better served by re-directing it to https://electronics.stackexchange.com/ as AndrejaKo noted already. In particular I would suggest two existing Q&A, "[w]hat's the difference between a microcontroller and a microprocessor?" and "[g]etting started with a microprocessor".

The first explains the difference between a microcontroller and a microprocessor, which in general terms, deals with the hardware complexity or level of integration (i.e. how many IC chips needed). Depending on your goals, and / or time & financial resources (hardware does tend to cost money), a small simple microcontroller based unit such as the ever popular Arduino or one of its many clones - which are available as kits or already assembled, might be best, as they cost about 25€ ($30 USD).

But if you prefer to build something more like a hobbyist personal computer circa late 1970's, early 1980's, then the suggestions in the second question (Getting started ...) may be more in keeping with what you had in mind. In this case, a microprocessor such as the Zilog Z80 may be a more suitable CPU to build a single board computer (SBC) upon, as it was I believe the most commonly used microprocessor for hobbyists of homebrew computers, with I suspect the MOS Technology's now famous 6502 a close second. There are even a number of older books available second-hand (English and western European languages) describing building a SBC using a microprocessor such as the Z80, Intel 8080, or Intel 8051 / 8052. I discussed a number of other particulars in my answer to the second question. This approach would normally expect you to have at least some minimal familiarity with electronic components (or a willing to learn / make mistakes), and purchasing & assembling of electronic parts, as I don't believe they are any complete SBC kits or ready-to-use SBC still available, other than as collectibles on eBay.