Dienstag, 5. Februar 2013

SD-Karte lesen

Bild 1: SD-Karte im Slot des Hive.
In der aktuellen Ausbaustufe sollte der Hive eine SD-Karte (< 2GB; FAT16 formatiert) lesen (und schreiben) können. (Bild 1) Dies teste ich mit einer 32MB Karte, die ich unter Windows 7 entsprechend formatiert und mit Testdateien beschrieben habe. (Bild 2) 
Bild 2: Testprogramm Midi-Player im SpinTool; Formatierungs-
dialog; Information zum formatierten Datenträger.
Die Testdateien sind MIDI-Stücke, die im Archiv mit den Testprogrammen enthalten sind. Das Testprogramm selbst ist midi_player.spin mit den Unterobjekten, die das Lesen der SD-Karte, das Handhaben des Dateisystems und einen MIDI-Synthesizer implementieren.
Nach Kompilieren und Schreiben des genannten Codes in Administras RAM oder EEPROM mittels SpinTool (Bild 2) beginnt dieser, die Musikdateien auf der SD-Karte der Reihe nach wiederzugeben - Test bestanden.

Montag, 4. Februar 2013

SD-Karten-Slot

Bild 1: Zusätzliche Bauteile für den
SD-Karten-Slot.
Der Slot an sich wurde ja aus dort beschriebenen Gründen bereits eingebaut. Allerdings fehlen zur Funktionsfähigkeit noch einige Bauteile (Bild 1).
Mit diesen habe ich die Baugruppe SD-Slot vervollständigt (Schaltplan Revision 14v: Widerstände R58,59,62-65; Kondensatoren C26,27; sowie die Pins, mit denen sich ein Schreibschutzschalter realisieren ließe). (Bild 2)

Außerdem wurde noch R71 bestückt, um ihn später nicht zu vergessen (liegt quasi zwischen Administras EEPROM und dem SD-Karten-Slot).
Bild 2: Komponenten rund um den SD-Karten-Slot.

Sound!

Da nun Administra (Prozesser Nr. 2) funktionsbereit eingebaut ist, soll die Audioausgabe getestet werden. 

Also schreiben wir mit dem SpinTool soundtest1.spin (mit Unterobjekt yma_hss_v1.2-administra.spin) in Administras RAM und - 

es erklingt "Musik"...

Prozessor 2 - Administra

Bild 1: Cinch-Buchse und Widerstände für den Videoausgang.

Der Vollständigkeit halber (da ich - mangels Video-Monitor oder Fernseher -  nicht vorhabe, diese Schnittstelle in nächster Zeit zu nutzen) werden die Komponenten (vgl. Bild 1) für die Videoschnittstelle eingebaut.

Bild 2: Widerstände, Kondensatoren und 3.5 mm Klinkenbuchse
 für den Stereo - Audioausgang.









Mit den Bauteilen in Bild 2 wird die Stereo - Audioschnittstelle aufgebaut. 
Dabei sind für R21,22 und C13,14 im Schaltplan Revision 14v jeweils 2 alternative Werte angegeben. Nach Auskunft im Forum (25. Jänner 2013) ) ist mit den gegenüber Schaltplan Revision 13 zusätzlichen (optionalen) Hochpässen R74/C9 und R72/C10 der jeweils zweite der angegebenen Werte zu verwenden, ohne diese der erste.
Da ich die Hochpässe eingebaut habe, bekamen R21,22 den Wert 1kOhm und C13,14 den Wert 0.1µF.
Über die eingebauten Pins ließe sich eine zusätzliche Schaltung (etwa ein Verstärker) in die beiden Audiosignalwege einbauen. Für den Betrieb von Aktivboxen reicht es aber aus, die mittleren beiden Pins der einen Reihe mit denen der anderen Reihe zu verbinden (Bild 3).

Bild 3: Fertig aufgebaute Audio- und Videoschnittstellen.
Nach dem Einbau (Bild 5) der Sockel und einiger andere notwendiger Bauteile (Bild 4) für den zweiten Propeller - Prozessor und das zugehörige EEPROM habe ich - da inzwischen doch einiges hinzugekommen ist - die Funktion des Systems und insbesondere des ersten Prozessors (Bellatrix) in 4 einfachen Schritten nochmal überprüft:
Bild 4: Sockel für Administra und
zugehöriges EEPROM sowie Quarz,
Kondensator und Widerstand.

1. Einschalten: Power-On LED leuchtet.
2. Bellatrix wird vom Spintool identifiziert.
3. Testprogramm heartbeatLed.spin ins Bellatrix-ROM schreiben: Heartbeat - LED blinkt.
4. Reset-Taster betätigen: Heartbeat - LED geht aus und beginnt nach kurzer Zeit wieder zu blinken.
Bild 5: Sockel für Administra und EEPROM.


















So weit, so gut :-)
Jetzt werden (vorher Stromversorgung abschalten) ein Propeller- und ein EEPROM-IC in die entsprechenden Sockel gesteckt und wieder einige simple Tests ausgeführt:
1. Einschalten: Bellatrix' Heartbeat - LED blinkt immer noch.
2. DIP-Schalter umstellen für Kommunikation mit Administra: der Prozessor wird vom SpinTool identifiziert.
3. Testprogramm heartbeatLed.spin ins Administra-ROM schreiben: Heartbeat - LED blinkt (auch).
4. Reset-Taster betätigen: beide Heartbeat - LEDs gehen aus und beginnen nach kurzer Zeit wieder zu blinken.

Somit scheint der entstehende Hive zu einem funktionierenden 2-Prozessor-System gediehen zu sein!




Dienstag, 15. Januar 2013

Maus / Tastatur / Reset


Bild 1: Buchsen und Widerstände für PS/2 Maus- und
Tastaturanschluss
.
Mit wenigen weiteren Bauteilen (Bild 1) lassen sich ein Maus- und ein Tastaturanschluss herstellen. Außerdem wird ein Reset-Taster eingebaut.











Bild 2: Reset-Taster neben der Strom-
versorgungsbuchse; von oben und  vorne.
Test des Reset-Tasters: Testprogramm heartbeatLed.spin in das 
EEPROM geschrieben, woraufhin die Bellatrix-LED zu blinken beginnt; Reset-Taster (Bild 2) betätigt.
Daraufhin setzt das Blinken aus und beginnt nach einer kurzen Zeitspanne wieder (Bootvorgang aus dem EEPROM).

Bild 3: Buchsen für Maus und Tastatur und die
zusätzlich nötigen Widerstände.







Stecker für PS/2 Maus (grün) und Tastatur (violett) mitsamt den zugehörigen 8 Widerständen wurden eingebaut (Bild 3).

Die Tastatur wurde mit testKeyboard.spin (mit den untergeordneten Objekten os-1-bel-vga1024.spin und
os-1-bel-keyb-de.spin) getestet. 
Die Maus konnte noch nicht getestet werden, da die vorgeschlagenen Testprogramme keine Anzeige (vgl. auch das im vorhergehenden Post beschriebene Problem) auf dem verwendeten Monitor erzeugten - man sollte wirklich a) die Spezifikation dieses Monitors herausfinden und b) die Dinge auch mit einem anderen Monitor ausprobieren...



Bild 4: Makro-Aufnahme.

Freitag, 23. November 2012

VGA - Interface


Bild 1: VGA - Buchse und die benötigten Widerstände.
Mit wenigen zusätzlichen Bauteilen kann ein Propeller-Prozessor ein VGA-Bild erzeugen und auf einem Monitor ausgeben. Die "schnelle" Hardware, die im Pixel-Takt die benötigten Signale erzeugt, ist im Prozessor integriert, der Rest läßt sich in Software realisieren.
Einzig das mechanische Interface (VGA-Buchse aus einer alten Grafikkarte) und einige Widerstände (Bild 1) werden benötigt, um ein VGA-Kabel mehr oder weniger direkt an die Pins des Prozessors anschließen zu können.
Bild 2: Widerstände und VGA-Buchse eingebaut.


Ob nach dem in Bild 2 dargestellten Einbau alles funktioniert, läßt sich mit einem Testprogramm (Bild 3) überprüfen.
Nach dem upload via Spintool ergibt sich auf einem angeschlossenen VGA-Monitor die in Bild 4 dargestellte Ausgabe.
Bild 4: Ausgabe von "VGA Tile Driver Demo".
Es gibt noch zwei weitere Testprogramme, "BEL_VGA_Demo" und "VGA_640x240_Bitmap" welche aber den Monitor nur zu ständigem Klicken (der Relais) bringen. Vermutlich passen die erzeugten Frequenzen nicht zu den Spezifikationen des Monitors. Leider weist dieser keinerlei verwertbare Beschriftung auf.
Eine Analyse der Quelltexte würde Klarheit über die Parameter der erzeugten Signal bringen; mit eine Monitor von bekannter (und passender) Spezifikation wäre dann die Funktion dieser beiden Testprogramme zu verifizieren.
Bild 3: "VGA Tile Driver Demo" im Spintool.


Donnerstag, 22. November 2012

EEPROM und SD-Karten-Slot

Bild 1: EEPROM (links oben) und SD-Karten-Slot (rechts unten)
hinzugefügt. Letztere wird noch ein Zeit lang funktionslos bleiben,
aus Gründen der Lötbarkeit wird aber empfohlen, dieses Bauteil
nicht zu spät zu platzieren.
Nachdem nun die Kommunikation mit dem Prozessor funktioniert, wird mithilfe des Spintools ein erstes Programm ins RAM des Prozessors übertragen: siehe da, die "heart beat" LED des Prozessors blinkt. :-)
Sobald das EEPROM im entsprechenden Sockel steckt (Bild 1), ist es auch möglich, das Programm anstatt in den flüchtigen Speicher des Prozessors in das EEPROM zu übertragen. Von dort holt es sich der Prozessor, wenn er beim Booten keinen Kommunikationsversuch erkennt. 
Auch das funktioniert: nach Aus- und wieder Einschalten beginnt nach kurzer Zeit die "heart beat" LED zu blinken...