Hive-Project

Teilbestückung und Variationen

  • Es ist möglich das Netzwerkinterface unbestückt zu lassen, sofern man kein Interesse an einer Ethernetschnittstelle hat. Vorteil: Fünf I/O-Ports an Administra werden frei für andere Hardware. Man kann diese Signale komfortabel mit einer Stiftleiste abgreifen, welche man an Pin 4,6,7,8,9 statt dem ENC-Chip einlötet.
  • Externes SD-Cardlaufwerk: Statt den Widerständen R58/59 und R62/63 ein Pinheader bestücken und die Signale mit einem Kabel abgreifen. Auf der externen Platine mit dem SD-Connector müssen dann natürlich obige Widerstände eingesetzt werden.
  • LED’s an Frontplatte: Wie beim Kartenlaufwerk auch die LED’s nicht bestücken und mit einem Pinheader ersetzen, welcher über ein kleines Kabel die LED’s versorgt.
  • Mehr I/O-Ports: Wer für Experimente auf VGA, Video oder externen RAM verzichten kann, hat die Möglichkeit die entsprechenden Widerstände oder Schaltkreise unbestückt zu lassen. In die frei werdenden Lötaugen kann man problemlos einen entsprechend breiten Pinheader einlöten um folgende Ports abzugreifen: VGA 8 Bit, Video 3 Bit, Externer Ram 11 Bits.
  • Modulares System: Durch das Expansionsport ist es in verschiedener Weise möglich ein Backplane für mehrere Steckkarten anzuschließen. Da für sehr umfangreiche Erweiterungen die Stromversorgung auf dem Mainboard nicht reicht, sollte für die Erweiterungskarten eine eigene Stromversorgung realisiert werden. Diese kann auch problemlos das Mainboard mitspeisen, wenn man die Stromversorgung dort nicht bestückt, oder über die Jumper trennt.
Die Reihenfolge

Sinnvoll erscheint mir für den Aufbau folgende Reihenfolge:

  1. Bellatrix

– Administra

– Regnatix. 

Bellatrix macht den Anfang, da man mit diesem Chip sofort Display und Tastatur sowie grundlegende Terminalfunktionen zur Verfügung steht, welche mir für weitere Funktionen und Experimente wichtig erschienen. Administra macht sich akustisch bemerkbar – auch damit kann man problemlos experimentieren. Regnatix aber ist auf ihre Slaves angewiesen, benutzt Bellatrix (die Terminalfunktionen) um ihre Funktionen zu offenbaren und realisiert den Bus, um alle Teile zu einem Ganzen zusammenzufügen – deshalb wird sie in einem letzten Schritt in Betrieb genommen.

Variation: Eventuell ist es praktisch einige flache Bauteile als erstes aufzulöten, bei denen es wünschenswert ist genug “Baufreiheit” zu haben. Dazu gehört als erstes der SD-Connector, welcher erst aufgeklebt und dann angelötet wird. Dieser Connector hat auch die kleinsten Lötpads, was Lötneulingen wahrscheinlich die meisten Schwierigkeiten bereiten wird. Als nächstes könnte man alle IC-Sockel auflöten, was sich auch gut macht ohne die restlichen Bauteile, da man dazu die Platine flach auf den Tisch legen kann.

Aufbau

Die Reihenfolge: Sinnvoll erscheint mir für den Aufbau folgende Reihenfolge: Bellatrix – Administra – Regnatix. Bellatrix macht den Anfang, da man mit diesem Chip sofort Display und Tastatur sowie grundlegende Terminalfunktionen zur Verfügung steht, welche mir für weitere Funktionen und Experimente wichtig erschienen. Administra macht sich akustisch bemerkbar – auch damit kann man problemlos experimentieren. Regnatix aber ist auf ihre Slaves angewiesen, benutzt Bellatrix (die Terminalfunktionen) um ihre Funktionen zu offenbaren und realisiert den Bus, um alle Teile zu einem Ganzen zusammenzufügen – deshalb wird sie in einem letzten Schritt in Betrieb genommen.

Das Tutorial gliedert sich in folgende Schritte:

 1. Schritt – Stromversorgung
 2. Schritt – Hostinterface
 3. Schritt – Adapterkabel
 4. Schritt – Bellatrix
 5. Schritt – VGA-Interface
 6. Schritt – TV und PS/2-Schnittstellen für Maus und Tastatur
 7. Schritt –  Administra, Sound und SD-Card
 8. Schritt – Regnatix, Latch und SRAM
 9. Schritt – Das Netzwerkinterface

1. Schritt – Stromversorgung

Bauelemente:

  • X7 Hohlbuchse
  • D1 Diode (Belegung Anode/Katode beachten)
  • C1..C3 Elektrolykondensator (Polung beachten)
  • C29, C30 Keramikkondensatoren
  • IC1/2 Spannungsregler
  • POWERLED Leuchtdiode (Polung beachten)
  • R1 Vorwiderstand
  • Jumper
  • D4, D5 Z-Dioden

Als Stromversorgung ist ein unstabilisiertes Netzteil mit einer Ausgangsspannung von 6..9 Volt geeignet. Nach der Bestückung der Bauelemente als erstes am Pinhead für den Power-Switch mit einem Voltmeter zu überprüfen, ob die Eingangsspannung anliegt. Man kann nun folgend einen Jumper oder gleich einen Schalter auf dem Pinheader “Switch” (dieser trennt die gesamte Schaltung von der Versorgungsspannung) aufstecken und an den entsprechenden unteren Pinheadern messen, ob die 3,3 bzw. die 5 Volt anliegt. Sollte eine der Spannungen nicht korrekt sein, muß die Bestückung genau überprüft und die Lötstellen genau auf Kurzschlüsse untersucht werden, um den Fehler zu finden. Die Power-Led sollte nun auch leuchten und wird für den Test auch benötigt: Damit die zwei Regler arbeiten können, muß es einen Verbraucher geben. Ohne die Power-LED fließt kein Laststrom und die Regler können so nicht regeln, was zu dem Ergebnis führt, dass die Ausgangsspannung einen zu hohen Wert hat.

ACHTUNG: Eine fehlerhafte Spannung kann die gesamte Schaltung zerstören! Deshalb ist es wichtig, diese Arbeiten sehr gewissenhaft zu prüfen, um Schäden zu vermeiden! Erst wenn die Versorgungsspannungen korrekt sind, sollte auf den drei Pinheadern “3.3V”, “5V” und “GND” je ein Jumper aufgesteckt werden. So wird die eigentliche Schaltung mit den zwei Versorgungsspannungen versorgt.

Nun ist der Zeitpunkt gekommen um die Z-Dioden D4 und D5 einzulöten. Diese dienen als Schutz der Schaltung vor Überspannung.

2. Schritt – Hostinterface:

Bauelementen:

  • Sockel für MAX232 (Pin1 beachten)
  • C4..8 Kondensatoren (Polung beachten!)
  • R2..4 Widerstände
  • S1 DIP-Switch
  • T1 Transistor (Belegung von Emitter/Basis/Collector beachten!)
  • HOST MiniDin-Buchse
  • IC3 MAX232 (Pin 1 beachten!)

Bis auf den MAX232-Schaltkreis werden alle Bauteile bestückt. Als Test wird gemessen (ohne IC3 in den Sockel zu stecken) ob die Betriebsspannung korrekt anliegt. Zu beachten ist dabei, daß der MAX232 mit 5V Betriebsspannung läuft. Erst wenn dieser Test ok ist kann der Schaltkreis selbst bestückt werden. Damit ist die Versorgungsschaltung komplett.

3. Schritt – Adapterkabel:

Die Belegung des Adapterkabels ist auf dem Schaltplan 1 verzeichnet.

4. Schritt – Bellatrix:

Nun wird es ernst, jetzt wird es Zeit den ersten Propellerchip in Betrieb zu nehmen.

Bauteile:

  • 1 x 40pol Sockel für Bellatrix (Pin1 beachten)
  • 1 x 8pol Sockel für die EEProms (Pin1 beachten)
  • Q1 5 MHz Quarz
  • Cx 100 nF Stützkondensator neben dem Sockel des Chips
  • HB1LED Heartbeat-LED’s (Polung beachten!)
  • R26,R27, R28 Vorwiderstände
  • R30 Pullup-Widerstand am EEProm

Achtung: Bei der Bestückung des Quarz sollte auf einen ausreichender Abstand des Metallgehäuses zur Leiterplatte geachtet werden, um evtl. Kurzschlüsse zu Durchkontaktierungen zu vermeiden. Ich habe dafür die Pins mit kurzen Isolierschlauringen versehen, so das der Quarz etwa einen Millimeter über der Leiterplatte steht. Auf obigem Bild sollte man das erkennen können.

Nach der Bestückung sollte als erstes die Betriebsspannung an dem Sockel vom Propellerchip und an den Sockeln der EEProms überprüft werden. Beide Schaltkreise werden mit 3,3 Volt gespeist. Erst wenn die Speisespannung überprüft ist, sollten die beiden Schaltkreise gesteckt werden. Die EEProms in ihrer Anordnung entsprechen der Anordnung der Propellerchips, das heißt der Flash für Bellatrix ist der mittlere IC. Für den Test selbst ist aber der Flash nicht unbedingt nötig, aber wünschenswert, weil die Programme auch testweise in den hubRAM des Propellers übertragen werden können. Soll der Code dauerhaft gespeichert werden, ist natürlich letztlich der Flash erforderlich.

Erster Test: Das Propellertool starten und mit der Taste F7 überprüfen ob der Propellerchip erkannt wird. Dazu müssen die zwei DIP Schalter für den Bellatrix-Chip auf ON, alle anderen Schalter auf OFF geschaltet werden. Wenn das Tool eine entsprechende Meldung bringt, können wir sicher sein, daß die Versorgungsschaltung, das Hostinterface und das Adapterkabel funktioniert. Sollte eine Fehlermeldung erscheinen sind diese Schaltungen genau zu überprüfen.

Fehlersuche, wenn der Propellerchip nicht identifiziert wird:

Kabeltest
  1. MAX232 und Bellatrix aus der Fassung ziehen.
  2. Drahtbrücke im Sockel des MAX232 anbringen: max232:pin7 –> max232:pin13 (TxD –> RxD)
  3. Mit einem Terminalprogramm kann man nun Zeichen senden, die durch den Loopback gleich wieder empfangen werden. Entfernt man die Brücke, werden keine Zeichen mehr empfangen.
  4. Funktioniert das nicht, liegt der Fehler am MiniDin/DB9-Adapterkabel oder allgemein an der Verkablung zwischen Hive und Host.
MAX232-Test
  1. MAX232 bestücken, der Propellerchip bleibt draußen.
  2. Drahtbrücke im Sockel von Bellatrix anbringen: bel:pin30 –> bel:pin31
  3. Mit einem Terminalprogramm kann man nun wie beim Kabeltest zeichen senden, die durch die Brücke gleich wieder zurück gesendet werden. Im Unterschied zum Kabeltest wird hierbei aber der MAX232-IC und die Verbindung bis zum Sockel des Propellerchips mitgetestet.
  4. Funktioniert die Übertragung nicht, so findet sich der Fehler zwischen Propeller und Adapterkabel (sofern der Kabeltest erfolgreich war).

Zur genaueren Betrachtung der Funktion sind auch die Hinweise von Parallax zur Minimalbeschaltung hilfreich. Das Signal DTR an der seriellen Schnittstelle löst dabei einen Reset aus um den Bootvorgang des Chips zu starten.

In dieser Phase laufen folgende Vorgänge ab
  1. Der Propellerchip versucht an den Pins 30/31 eine serielle Verbindung zum Propeller Tool aufzubauen. Ist das erfolgreich wird ein 32kByte Image in den HubRAM geladen und entweder sofort gestartet (F10) oder erst geflsht und dann gestartet (F11).
  2. Konnte keine serielle Verbindung etabliert werden, versucht der Chip über die Pins 28/29 einen EEProm über I2C auf der untersten Adresse anzusprechen. Bei einem vorhandenen ROM wird nun ebenfalls ein 32K-Image in den HubRAM gelaten und gestartet.
  3. Sind die ersten beiden Phasen erfolglos verlaufen, taktet der Chip niedriger und geht in eine Shutdown-Modus.

Diesen Ablauf sollte man bei den Experimenten immer im Hinterkopf behalten. Zu beachten ist im Hive folgendes: Die entsprechende Verbindung der Pins 30/31 (RX/TX) sind uber den DIP-Switch vom Hostinterface auf den entsprechenden Propellerchip schaltbar. Damit ist wählbar welcher Chip über das Interface mit dem Hostcomputer kommuniziert. Das Resetsignal aber ist für alle Propellerchips gleich.

Als erstes Testprogramm bietet sich “test hbeat-led.spin” an. Dieser Dreizeiler funktioniert übrigens mit jedem Propellerchip im Hive, da die LED’s an den gleichen Pins angeschlossen sind. Oder man experimentiert selbst: Im Propeller Manual wird ab Kapitel 3 ganz wild mit LED’s geblinkt und dabei die Grundlagen der Programmiersprache Spin erläutert. Im Pinout kann man schauen an welchem Port die LED angeschlossen ist. Mit F10 wird das Programm in den HubRAM des Propellerchips übertragen, F11 flasht es für einen dauerhaften Einsatz. Am besten man probiert beide Varianten, um gleich auch den EEProm zu testen. Zeigt Bellatrix ihr Leben mit einem blinkenden Heartbeat-LED, an war der Aufbau bisher erfolgreich – das erste Subsystem ist also betriebsbereit!

5. Schritt – VGA-Interface:

So, jetzt wird es Zeit ein wenig Leben in die Bude zu bringen und dafür bedarf es beim Propeller keiner großen Anstrengung.

Bauteile:

  • R5…R12
  • VGA-Buchse

Bei der Bestückung der Widerstände muß peinlich auf die Werte geachtet werden, vertauscht man sie kann es zu Synchronisationsproblemen oder im lustigsten Fall zu abweichenden Farbwerten kommen. Zum experimentieren sind im Testpaket drei Beispielprogramme verfügbar, teilweise Demos von Parallax, welche an die Pinbelegung im Hive angepasst sind:

BEL_VGA_DEMO
VGA_640x240_BITMAP_DEMO
VGA_TILE_DRIVE_DEMO

In den meisten Fällen bietet eine Auflösung von 1024 x 768 Pixeln eine gute Arbeitsgrundlage, es ist aber auch problemlos 1280 x 1024 Pixel im Textmodus möglich. Die Textmodis sind tilebasierte Treiber um einen möglichst kleinen Bildwiederholspeicher zu realisieren, Vollgrafik ist in diesen Auflösungen nur mit Bellatrix nicht möglich, bedingt durch den hohen Speicherverbrauch. Für schnelle Grafik und eine entsprechende Farbpalette ist der TV-Modus die erste Wahl, zum Arbeiten aber ist der VGA-Modus eine feine Sache. Ein netter einfacher Textmodus mit dem Feeling von C64 und Atari800, nur mit einer absolut sauberen und flimmerfreien Darstellung.

6. Schritt – TV und PS/2-Schnittstellen für Maus und Tastatur:

Wer einen TV zur Verfügung hat sollte den Videoausgang testen. An diesem liefert der Propeller bei entsprechender Programmierung ein Composite-Video-Signal, welches man am Fernseher darstellen kann, sofern dieser über eine SCART-Buchse verfügt. Sollte dabei nur ein monochromes Bild erscheinen, liefert die Software ein NTSC-Signal. Die meisten heutigen TV-Geräte können aber sowohl PAL als auch NTSC darstellen und erkennen das entsprechende Signal automatisch. Kann der Fernseher aber nur PAL, muß man den entsprechenden Modus im Quelltext des Demos umschalten. Wie man dabei erkennt, erfolgt die Grafikausgabe am Propeller fast vollständig durch Software, einzig ein 32Bit-Videoshifter bildet die minimalistische Hardware im Kern. Damit ist das System sehr flexibel: Was ich in welcher Bildschirmzeile wo, wie und wann darstelle, bestimmt einzig die Software die in einer oder mehreren Cog’s läuft. So sind tile- und auch rasterbasierte Darstellungsarten, sowie jede denkbare Mischform realisierbar. Einziges Limit ist der verfügbare hubRAM, in welchem sich der Bildwiderholspeicher befindet. Sprites werden durch Cog’s synchron zur Bildausgabe in Echtzeit überblendet und auch echtzeitorientierte Vektormodis ähnlich Vectrex wären denkbar. Für schnelle Darstellungen und viele Farben ist der TV-Videomodus gegenüber dem VGA-Modus die erste Wahl, schon allein bedingt durch den kleinen benötigten Bildschirmpuffer.

Bauteile:

  • R32,33,34
  • Chichbuchse
  • R13..20
  • PS/2-Buchsen

Drei Widerstände, eine Buchse und schon spuckt Bellatrix Grafikdemos aus – also einfacher geht das nicht mehr. Die Testsoftware dazu:

Graphics_Demo_Hive
Graphics_Palette_Hive
TV_Text_Demo_Hive

Die ersten beiden Programme sind auch geeignet um den Mausanschluß zu testen, da beide entsprechende Mausroutinen enthalten, aber dazu gleich mehr. Bei dieser Gelegenheit können auch die letzten Bauteile im Umkreis von Regnatix bestückt werden, um die PS/2-Schnittstellen in Betrieb zu nehmen. Wie schon erwähnt kann man ihre Funktion mit beiden Graphics-Demos testen, da diese eine Maus benutzen. Für den Test der Tastatur exestiert ein Testprogramm im VGA-Modus. Damit ist der erste Propellerchip voll bestückt und wir können uns Administra zuwenden. Eine Zwischenbemerkung sei mir jedoch an dieser Stelle gestattet: Ein solches Tutorial zu schreiben dauert deutlich länger als einen Hive zu bauen und nur weil ich eine außerordentlich gehorsame Drohne bin ziehe ich das jetzt mal durch.

7. Schritt – Administra, Sound und SD-Card:

Bauteile:

  • 40pol Sockel für Administra (Pin 1 beachten)
  • 8pol Sockel für TDA
  • Klinkenbuchse
  • R31, R21..24, R58, R59, R62..65
  • C9..14 (Polung der Elektrolytkondensatoren beachten)
  • C17
  • Q2 Quarz

ACHTUNG: Zur Bestückung auf dem R13-Schaltplan gibt es eine kleine Änderung der Bestückung, welche in einigen Fällen einen wesentlich besseren Audiopegel und Qualität bringt. Hier ist diese Änderung dokumentiert – sowohl für eine Neubestückung, wie auch für die Änderung einer bestehenden Platine: “Build your Hive – Audio-Patch”

Die Bestückung von Administra gestaltet sich analog dem ersten Propellerchip und sollte nun schnell von der Hand gehen. Ebenso kann mit dem gleichen Testprogramm die Funktion des Propellerchips und vom Flash-ROM mit dem Heartbeat-LED überprüft werden. Nicht vergessen am DIP-Schalter die Einstellungen für Administra vorzunehmen, sonst gibt es keine oder eine Verbindung zum falschen Host! Für den SD-Connector gilt das gleiche wie für die Quarze: Bitte beachten das es durch Metallelemente keinen Kurzschluß gibt. Allerdings muß ich sagen, dass ich bei allen drei von mit bisher begutachteten Typen die Unterseite vollständig isolierend aus Platik gestaltet war.

Der SD-Connector wird mit Sekundenkleber auf der Leiterplatte fixiert, um die mechanischen Kräfte abzufangen. Es erscheint sinnvoll den Connector vor dem Löten aufzukleben. Vorher sind die kleinen Plastiknippel an der Unterseite zu entfernen, sofern diese nicht in die entsprechenden Bohrungen passen. Beim Aufkleben muß aber sehr sorgfälltig gearbeitet werden, die Pads müssen exakt sitzen und der Connector grade sein, da es gerade bei Sekundenkleber nach kürzester Zeit unmöglich ist das Bauteil noch zu verschieben. Ist die Klebestelle fest (für einige Minuten mit Klammern fixieren!) kann ganz entspannt gelötet werden. Wenn es sich um eine kurze Version handet, so kann man überlegen auf den Connector eine Plastikführung zu kleben, wenn das ganze in einem Gehäuse eingebaut wird. So wird verhindert das die Karte beim stecken über dem Connector landet. Die langen Typen ragen zum Teil ein kleines Stück über den Platinenrand und bieten eine ausreichende Führung, allerdings sind sie auch deutlich teurer.

Auch die Analogschaltung hat eine kleine Änderung erfahren: Der Verstärkerschaltkreis TDA7050 ist nicht nötig wenn man aktive Boxen anschließt, was in den meisten Fällen wohl so sein wird. Es genügen dabei zwei Drahtbrücken zwischen Pin 2/7 und 3/6 wie es in dem Bild zu erkennen ist. Wer möchte kann dennoch den Schaltkreissockel einlöten um eine spätere Änderung leichter zu gestalten, aber prinzipiell ist das nicht nötig. Bei Verwendung eines Sockels können die Drahtbrücken problemlos in diesen eingesteckt werden wie man sieht.

Sind diese Arbeiten erledigt kann der Test beginnen, Administra sollte ja prinzipiell schon laufen wie wir mit dem LED-Test überprüft haben.

soundtest 1

Spielt eine HSS-Trackerdateien ab. Man kann im Quelltext die Datei auswählen (einfach auskommentieren) die der Player spielt. Dieser Test überprüft einzig die Soundhardware, da die MOD-Datei in den Datenblock compiliert wird – er wird in diesem Demo also nicht zur Laufzeit vom Laufwerk geladen.

midi_player

Spielt der Reihe nach die Midi-Dateien von der SD-Card ab. Vorher müßen natürlich diese Dateien auf eine maximal 2 GB (FAT16) große SD-Card kopiert werden und diese muß natürlich auch im Connector stecken. Ertönen die Midi’s, ist die Soundhardware und die Verbindung auf die SD-Card funktionsbereit.

8. Schritt – Regnatix, Latch und SRAM

Bauteile:

  • 40pol. Sockel für Regnatix
  • 20pol Sockel für Latch
  • 2 x 32pol. Sockel für die Rams
  • R35..50, R25, R29
  • Q3 Quarz
  • D2,D3 (Polung beachten)

Die Bestückung und der Grundtest (LED) von Regnatix und den externen Ram’s muß nun wie ein Kinderspiel erscheinen. Zu beachten ist wie immer das Gehäuse vom Quarz und die korrekte Ausrichtung der Sockelkennzeichnungen von Pin1 und natürlich der Schaltkreise selbst. Bei der Prüfung der Versorgungsspannungen an den Sockeln ist zu bedenken, dass sowohl Latch wie auch die beiden Speicherschaltkreise mit 5V gespeist werden. Der Test selbst aber gestaltet sich etwas komlizierter, denn nun geht es um das Zusammanspiel von mehren Propellerchips. Im einfachsten Fall geht es erstmal nur um Bellatrix und Regnatix. Sollte für Administra noch Code von älteren Experimenten geflasht sein, so empfiehlt es sich Administra komplett zu deaktivieren. Das kann man problemlos indem der code “prop-disable.spin” geflasht wird. Dabei reicht es aber nicht den Code in den Ram zu übertragen, da bei jedem weitern Übertragungsvorgang zu den anderen Propellern ein Reset ausgeführt wird und somit der Inhalt des RAM hinfällig ist – also ab jetzt zum testen immer flashen!

Im ersten Fall beschränken wir uns auf Bellatrix und Regnatix. Dabei handelt es sich um das Paket “test regnatix bus1″; in diesem Verzeichnis befindet sich eine entsprechende Datei “bellatrix.spin” und “regnatix.spin”. Beide Dateien öffnen wir also im Propellertool und flashen sie in den entsprechenden Propellerchip. Dabei die Umschaltung am DIP nicht vergessen, sonst gibt es Chaos. Die Datei für Bellatrix enthält einen normalen textorientierten Grafiktreiber, welcher grundlegende Terminaldienste auf dem Bus zur Verfügung stellt (Zeichen ausgeben, Tastatur abfragen…). Der Regnatix-Code ist letztlich einfach der minimalistische Kommandozeileninterpreter “Regime”, welcher auch später noch eine Rolle spielen wird. Normalerweise startet/bootet man diesen von der SD-Card, aber für unsere momentanen Tests haben wir ja Administra disabled. Das System sollte also in folgender weise geflasht sein:

Administra <— “prop_disable.spin”
Bellatrix <— “bellatrix.spin”
Regnatix <— “regnatix.spin” (enthält regime.spin)

Nun sollte sich das System nach einem Reset mit der Ausschrift Regime, einer Versionsnummer und einem Prompt melden. Tastatur und Bildschirmausgabe müssen funktionieren, z.b. das Kommando “help”. Treten keine Komplikationen auf, ist der Test eigentlich erfolgreich abgeschlossen. Daten können zwischen Regnatix und Bellatrix ausgetauscht werden, der Bus funktioniert und alle damit zusammenhängenden Signale funktionieren. Im konkreten Fall fragt Regnatix über den Bus die Tastaturroutine in Bellatrix ab, wird eine Taste gedrückt landet der entsprechende Tastencode in einem Eingabepuffer in Regnatix und das Zeichen wird folgend über den Bus zu Bellatrix gesendet und auf dem Bildschirm ausgegeben. Man kann nun noch ein wenig mit Regime und/oder seinem Quelltext experimentieren, aber die meisten Kommandos werden nicht funktionieren, da diese auf die SD-Card (hängt an Administra die wir momentan abgeschaltet haben) zugreifen wollen. Bleibt der Kommandozeileninterpreter durch einem Laufwerkszugriff hängen, kann man ihn mit einem Reset wieder zum Leben erwecken da er ja im Flash ist.

Nun kommt der RAM an die Reihe: Für diesen Test müßen wir nichts an Administra und Bellatrix ändern. In dem Paket “regnatix test ram” befinden sich zwei Tools:

rtools.spin

Ein kleiner RAM-Monitor mit einigen Kommandos um den Speicher anzuzeigen oder zu editieren. Mit “help” gibt es eine Liste der Befehle.

ramtest.spin

Ein kleiner automatischer Ramtest. Nach einer kurzen Sicherheitsabfrage beginnt dieses Programm beide Bänke mit Zufallszahlen zu beschreiben und danach zu vergleichen. Bei einer Differenz gibt das Programm eine Fehlercode aus.

Wenn dieser Test erfolgreich war, kann der Hive in einer minimalen Version in Betrieb genommen werden. Das Paket “Startdateien” aus dem Downloadbereich enthält eine Minimalausstattung von Dateien, um den Hive vollständig zu booten. Es gibt dabei je ein BIOS für die drei Propellerchips, welche geflasht werden müssen. Die restlichen Dateien werden einfach auf eine SD-Card kopiert. Nach einem Reset sollte der Hive nun von der eingelegten Card booten, es sollten im Lautsprecher entsprechende Ladegeräusche (ein Herzschlagsound) hörbar sein und nach wenigen Augenblicken meldet sich der Hive mit seinem Systemprompt im Textmodus.

9. Schritt – Das Netzwerkinterface

Das Testprogramm für den NIC luft auf dem Administra-Chip. Die LAN-Schnittstelle ist dafür mit einem normalen LAN Kabel mit einem Switch, oder mit einem Crossover-Kabel direkt mit der Netzwerkbuchse eines anderen Computers zu verbinden. Bei einem erfolgreichen Connect leuchtet die in der Buchse des Hive integrierte LED. Jetzt kann der Testcode in Administra übertragen werden. Dieses kleine Programm enthält einen kompletten TCP/IP-Stack und einen minimalistischen Webserver. Die IP ist im Quelltext veränderbar und steht normalerweise auf dem Wert 192.168.2.1/24. Der Webserver lauscht auf dem Port 88. Nun kann man über einen anderen an das LAN angeschlossenen Computer im Browser unter folgender Adresse http://192.168.2.1:88/ auf die Test-Webseite zugegriffen werden.

Bitte fogendes beachten: Mit bestücktem NIC sollte man den beiden Spannungsreglern einen Kühlkörper spendieren. Die Kühlfahnen beider Regler liegen auf dem gleichen Potential (GND) und können deshalb ohne Isolierung auf dem gleichen Kühlkörper verschraubt werden. Ich selbst habe dafür ein Stück verfügbares Kupferblech verwendet, welches ich abgewinkelt habe. Auf der Oberseite habe ich einen kleinen Kühlkörper von einer defekten Grafikkarte aufgeschraubt. Alle Kontaktflächen von dem Kupferblech zu den Reglern bzw. zu dem Kühlkörper habe ich mit ein wenig mit Wärmeleitpaste versehen. Herzlichen Glückwunsch als neuer Besitzer und Erbauer eines Hive!

Als letztes kannst du eine der Arbeitsdisketten downloaden, sie enthalten eine komplette Zusammenstellung an verfügbaren Tools, Demos und den StarTracker. Die größere Version beinhaltet zusätzlich noch einige coole Mediendateien um ein wenig zu experimentieren. Die Arbeiten am Gehäuse überlasse ich jedem Bastler selbst. Kurze Kabel für den Reset-Taster und den Einschalter mit einem zweipoligen Stecker findet man in jedem alten PC-Gehäuse – evtl. hilft da ja der nette Computerhändler um die Ecke aus. Verwendet man das abgebildete Teko-Gehäuse welches man auch bei Reichelt beziehen kann, muß der hintere Durchbruch nach unten ein wenig erweitert werden und es fehlt ein seitlicher Schlitz für die SD-Card. Mit einem Drehmel ist das in kürzester Zeit erledigt, aber man muss sehr vorsichtig sein bei dem weichen Kunststoff.

Audio-Patch

Nach einigen Gesprächen im Forum hat sich herausgestellt, dass es bei Verwendung von einigen aktiven Boxen zu Störgeräuschen in der Soundausgabe kommt. Hier nun eine kleine Hardwareänderung, welche dieses Problem beseitigt. Als Vergleich die Aufnahme der Wiedergabe von Wave-Dateien mit dem Tool wplay, welche direkten über LinIn an einem PC aufgezeichnet wurde: administra-soundbeispiel-wave

Änderungen an einem aufgebauten Hive R13:

  1. TDA-Chip ziehen, kleine Drahtschlaufe an Pin 1 & 4 anlöten und der Frau oder Freundin als Ohrring unterjubeln. (Link: So sieht das ganze dann aus!)
  2. Statt dem TDA-chip die entsprechenden Brücken einbauen.
  3. Kondensator C9 und C10 auslöten und durch eine Brücke ersetzen.
  4. Widerstand R22 und R21 auslöten und durch einen Widerstand mit 200 bis 300 Ohm ersetzen.

Änderungen zum bestehenden Schaltplan bei einer Neubestückung:

  1. Kondensator C9 und C10 durch eine Brücke ersetzen.
  2. Widerstand R22 und R21 200 bis 300 Ohm

Diese Modifikation hat folgende Auswirkungen:

  1. Der Audio-Signalpegel wird auf eine Amplitude von ca. 1 Volt angehoben. Damit sollten jetzt wirklich alle Boxen klarkommen ohne sie aufzureißen – und das definitiv ohne einen TDA-Chip!
  2. Der Signal-Störabstand wird ebenfalls enorm angehoben. Damit sollte selbst bei lautem Audiopegel kaum ein Störgeräusch zu hören sein. (←- gerade an zwei Hives getestet!)
Was kann dies Modifikation nicht

Der Hive ist kein Hifi-Gerät und sollte auch nie eines sein. Entsprechend ist das Layout gestaltet. Wenn man also Boxen anschließt und diese voll aufdreht wird man auch entsprechende leise Störgeräusche hören, die höre ich aber auch wenn ich meinen alten Notebook anschließe. Wer Hifi will muß aber wahrscheinlich wesentlich mehr am Hive machen als die Audiosignale direkt am Chip abzugreifen; man müsste über massive Masseflchen nachdenken, vielleicht die Schaltung auf mehrere Platinen verteilen oder eine Mehrebenenplatine verwenden und wahrscheinlich eine getrennte Stromversorgung für den Audioteil aufbauen.

Tips für die Modifikation

Wer kein Lötkünstler ist, sollte die zu entfernenden Bauteile am besten erstmal mit einem Seitenschneider vorsichtig abkneifen und dann die Bauelementebeinchen auslöten. So ist die Gefahr die Leiterplatte zu beschädigen wesentlich geringer und die Bauteile kosten ja auch fast nichts. Eine einfache Entlötpumpe ist für solche Arbeiten Gold wert.

Letztlich wäre es schön wenn noch einige andere Bastler diese einfache Schaltungsvariante testen, bevor ich das Tutorial, den Schaltplan und die Stückliste ändere.

Erklärung

Die bisherige Beschaltung ist auf den TDA 7050 ausgerichtet, womit sie sich in einigen gravierenden Punkten von der einfachen PWM-Wandlerschaltung unterscheidet. Die Kondensatoren C9 & 10 dienen der Abtrennung eine Gleichspannungsanteiles des Eingangssignals. Das ist wichtig, da der TDA durch seine hohe Verstärkung schon bei einer minimalen Gleichspannung am Eingang voll aussteuert und somit überhaupt kein Signal mehr übertragen wird. Ebenso der Vorwiderstand, welcher massiv erhöht wurde, um das Signal massiv zu bedämpfen, damit der TDA nicht übersteuert. Diese Bedämpfung des Nutzsignales bewirkt aber auch eine Verringerung des Signal-Rauschabstandes.

Da der Propellerchip aber mit seinen effektiv 3.2 V Amplitude PWM-Signal ein ausreichend großes Signal für aktive Boxen liefert – dieses Signal reicht selbst für einen direkt angeschlossenen Kopfhörer in moderater Lautstärke – wird der TDA-Chip in keiner weise benötigt und wird wohl auf der nächsten Platine nicht mehr zu finden sein. Dafür wird es einen Pinheader geben, an welchem man bequem die Analogsignale abgreifen kann um eventuell eine eigene Verstärkerschaltung zu realisieren.

Material

Reichelt

andere

TypBezeichnungDeviceLieferantBestellnr.AnzahlPreis
SchaltkreisParallax Propeller P8X32A-D40REGNATIX, ADMINISTRA, BELLATRIXCSD-ElektronikPROP/D403
Spule/Drossel1-10 µH - Festinduktivität 10 µH 370mAL1CSD Elektronik145091
SchaltkreisENC28J60-DILU1CSD Electronics303621
QuarzQuarz 25.000 MHz (Grundton!)Q4CSD Electronics14-US25,000MHZ1
BuchseMagJack 8 polig print 2xLEDMAGJACKCSD Electronics015-540841

Bau

Unterlagen