Schlagwort-Archiv: Einplatinencomputer

Seagate 7200.8 und 7200.10 Rettungsversuch

Tja, wie neulich berichtet sind mir eine 7200.8 mit 250GB und eine 7200.10 750GB baden gegangen und zwar von einem Moment zum anderen. Muß an dem allseits bekannten Firmwarebug liegen der ein Massensterben der Baureihen 7200.8 bis 7200.11 verursacht.

Die 7200.8 war ich im Begriff randvoll zu kopieren als diese, fast voll, begann KlackKlack-Kopfgeräusche von sich zu geben. Außerdem findet sie das BIOS nicht mehr. Die 750GB 7200.10 diente als Backup-Festplatte (was für eine idiotische Seagate 7200.8 und 7200.10 Rettungsversuch weiterlesen

Propeller Chip – LCD funktioniert wieder

Heute habe ich den RAM Befehl (zeigt Hauptspeicher Inhalt im Hexformat) stark umgeschrieben und verbessert. Wenn in der letzten Ausgabezeile nicht die vollen 16 Bytes ausgegeben wurden, so gab es keine Ausgabe der ASCII-Zeichen. Das habe ich nun beseitigt. Ferner habe ich einen Peek und Poke Befehl hinzugefügt. Der Poke Befehl schreibt ein Byte in das RAM und der Peek Befehl gibt es wieder aus.

Auf einem zweiten Cog habe ich eine Routine gestartet, die den Dezimalpunkt der 7-Segment Anzeige im Sekundentakt blinken lässt, damit man erkennt das der Propeller läuft. Diese Routine musste ich jedoch wieder deaktivieren weil die Ports 16-23 sowohl zur 7-Segment Anzeige als auch parallel zum LCD Display verbunden sind.

Als ich das LCD Display wieder ansprechen wollte funktionierte dies erst nicht wegen dem blinkenden Dezimalpunkt. Nach abschalten der Blink Routine ging alles glatt. Es gelang mir abermals das Wort “Hallo” auf dem LCD Display auszugeben. Abermals deshalb weil mir die alten Programme zur LCD Ansteuerung verloren gegangen waren.

propeller_lcdfunktioniert

Einplatinencomputer mit 6504 CPU

Hier noch ein von mir gebauter Einplatinencomputer mit der 6504 CPU. Die CPU ist kleiner, hat weniger PIN’s als die 6502 CPU und kann auch nur 8kByte Speicher adressieren. Die 6502 CPU kann 64kByte Speicher adressieren.

Bestückt ist das Board mit einem 2kByte 6116 SRAM Chip, einer 8255 PIO und der 6551 SIO mit nachgeschaltetem MAX 232 (leerer 16 pol. Sockel). Oben rechts sieht man ein zugeklebtes EPROM. Das EPROM diente hier als MMU (Memory Management Unit) um den knappen Adressbereich der 6504 besser ausnutzen zu können.

Bei meinen ersten Einplatinencomputern hatte ich immer einen 74LS138 Chip (Demultiplexer) benutzt um die CS (Chip Select) Signale aus den oberen drei Adressbits zu generieren.Das hat jedoch den Nachteil, das man den gesamten Adreßbereich der CPU in 8 gleichgroße Bereiche teilen muss. Der Adreßbereich einer 6502 ist 64kByte, geteilt durch 8 wären das Speicherblöcke von je 8kByte größe. Das ist geradezu verschwenderisch wenn man nur eine PIO oder SIO adressieren will, die gerade einmal zwei oder drei ansprechbare Register besitzen.

74hc138_2 74ls138

Also habe ich ein EPROM genommen, welches sehr viel mehr Adreßleitungen aufnehmen kann, und mit seinem 8-Bit Datenbus quasi eine programmierbare Speicherbereich Zuweisung  ermöglicht. Ich erinnere mich die oberen 8 Adressleitungen der CPU zur MMU geführt zu haben, das ermöglichte bei 64kByte eine Blockgröße von nur noch 256 Byte. Mit der Programmierung des EPROM habe ich ihm Einplatinencomputer mit 6504 CPU weiterlesen

Alter 19-Zoll Einplatinencomputer

Auf dem Speicher fand ich noch einen von mir gebautes modulares 19-Zoll Computersystem. Das Netzteil hat eine nachgeschaltete doppelte elektronische Sicherung. Deren Ansprechstrom ist mit einem Potentiometer justierbar. Ist eine solche Sicherung einmal ‘durchgebrannt’ kann man sie nur durch Wegnahme der 220V Versorgung resetten. Der Einplatinencomputer selber ist bestückt mit einer 6502 CPU (4MHz), einer seriellen Schnittstelle SIO 6551und MAX 232 Pegelwandler, einer PIO 8255 und zwei gestapelten SRAM Chips mit getrennt herausgeführten Chipselect Signalen. Ferner ist noch ein ZN429 8-Bit D/A Wandler auf dem Board.

Alter 19-Zoll Einplatinencomputer weiterlesen

Kommando Interpreter

21.6.2008

Abends

War eben noch bei Atelco. Die hatten für teure 20 Euro ein USB-RS232 Adapter. Damit kann ich den PC mit einer 2. seriellen Schnittstelle ausrüsten (früher war sowas onboard).

Die Hardware wurde auch ohne Treiber unter WinXP sauber eingebunden. Zuerst war die Datenübertragung mit 9600 Baud verstümmelt, es kamen lauter falsche Zeichen vom Propeller in Hyperterm an. Nach einer Weile ging ich auf 300 Baud runter und Kommando Interpreter weiterlesen

LCD Display macht Probleme

5.1.2008

Abends

Holla, ich habe die handgeschriebenen Pläne wieder gefunden. Oben trage ich die Steuerports für das LCD ein. Es sind die Ports P9, P10 und P11.

Jetzt habe ich eine Weile versucht das Display sauber anzusprechen. Es reagiert auch irgendwie, aber nicht richtig. Ich mache wahrscheinlich etwas falsch. Morgen versuche ich es LCD Display macht Probleme weiterlesen

Cog Kommunikation und Tastatur

09.04.2007

Morgens

Jetzt möchte ich mal ausprobieren wie man Variablen zwischen zwei Cog’s hin und herschiebt. Sagen wir mal ich lade eine Variable im Hauptprogramm mit dem Wert 2 und lasse diesen auf der 7-Segment Anzeige darstellen. Dann starte ich einen weiteren Cog, übergebe ihm die Variable. Dieser addiert zur 2 eine 6 und heraus kommt 8. Diese 8 soll der zweite Cog an den ersten Cog Kommunikation und Tastatur weiterlesen