Erweiterungsplatine mit viertem Propeller-Chip

Alles zum Thema Hardware rund um die Propellerchips und den Hive.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von drohne235 »

SPI-Bus: Die Idee gefällt mir, aber zwei Modulanschlüsse finde ich zu wenig. :shock: Wenn ich es recht in Erinnerung habe, verwendet das neue C3-Board von Parallax auch eine Adressierung über einen Zähler + 4zu8 oder 4zu16-Dekoder. Zur Adressierung bräuchte man nur zwei Leitungen: Eine um den Zähler auf Null zu setzen und ein Port um ihn zu takten. Im Extremfall sollte das mit einem Timer auch extrem schnell gehen. Eine solche Adressierung könnte man ja auf der Trägerplatine vorsehen, wenn man sie nicht bestückt, jumpert man die beiden Signale einfach direkt auf die ersten beiden CS-Signale. Hey, acht Module müssen schon sein... :twisted:

Eine andere Idee dazu: Wenn man eine Trägerplatine macht, die man mit einer Fräsung teilen kann, könnte man zum Beispiel den ersten Teil mit zwei Slots direkt in den Hive einbauen, und die getrennte Restplatine (sofern man sie trennen möchte) in ein zweites Gehäuse oder extern zum experimentieren verwenden. Ist jetzt nur mal so ein Anfall von Brainstorming, wir finden da schon zusammen...

PlexBus: Für den PlexBus benutze ich momentan drei der freien Ports von Administra, nicht die Hostschnittstelle. Da habe ich die Bezeichnung nicht ganz eindeutig gewählt.

ADM-P19 --> TX
ADM-P20 --> RX
ADM-P21 --> IO
ADM-P22

Ich denke da wirklich auch an Platinen, die man entweder in den Hive oder ein externes Gerät stecken kann. Deshalb soll auch ein eigener Spannungsregler mit auf das Modul. Wird die Platine im Hive gesteckt, so wird sie direkt aus VIN gespeist, ein externes Gerät hat dann ein eigenes Netzteil. Der Bus selbst ist auf jeder Erweiterung durchgeschliffen, so das man problemlos mehrere Boards (extern) hintereinander schalten kann. Ich denke bis 30 cm braucht man da noch keinen Treiber (je nach Baudrate). Die maximale Anzahl von 256 Knoten ist da mehr theoretischer Natur - so viele werden es wohl nie werden - aber es macht auch wenig Sinn, eine Adresse kleiner 8 Bit zu übertragen.

Noch ne Idee :twisted: :

ADM-P19 --> TX --> MOSI
ADM-P20 --> RX --> MISO
ADM-P21 --> --> SPI-CLK
ADM-P22 --> ADR-CLK
ADM-HBEAT --> ADR-RESET

Ausgänge des Adressdekoders:

C0 = Bus OFF
C1..16 = SPI-Devices
C15 = PlexBus-IO

Mit dieser Pinbelegung könnte man sogar PlexBus und SPIBus zusammen an den gleichen Ports betreiben, wenn ich nichts übersehen habe. Das Signal IO für den PlexBus, zum öffnen eines Kanals, wird dabei einfach durch CS15 gebildet; mit CS0 ist dann alles deaktiviert.
Im Prinzip kann man den Datenaustausch am PlexBus auch über SPI machen, dann könnte man für alle Geräte die gleichen Routinen verwenden. Nur das der PlexBus quasi ein SPI mit Adressierung über SPI ist, also ohne CS-Signale, was ja für die "intelligenteren" Propeller per Software kein Problem wäre.
Dateianhänge
plexbus.jpg
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von TuxFan »

Hallo!
drohne235 hat geschrieben:.................SPI-Bus:............... Hey, acht Module müssen schon sein... :twisted: .
Beim SPI-Bus dachte ich einfältigerweise in erster Linie an passive Module ohne größere eigene Intelligenz. D.h. Hive übernimmt die Softwareabwicklung.
Bei 8 und mehr Modulen denke ich, sollte die Mehrzahl der Module genügend Intelligenz beherbergen, die meisten Aufgaben selbst zu erledigen und nur die Kommunikation über den Bus laufen zu lassen. Da kommen wir dann zu weiteren Propellern oder auch AVRs und PICs auf den Modulen je nach Geschmack. Einem Propellercluster stände aber auch nichts im Weg. :D Ähnliches mach ich ja auch mit meinen Wettermodulen, die einen Teil der Datenverarbeitung übernehmen und die fertig aufbereiteten Werte an Zentralen wie dem WebProp, HandProp, Hive oder PC übermitteln sollen.
drohne235 hat geschrieben:..............Eine andere Idee dazu: Wenn man eine Trägerplatine macht, die man mit einer Fräsung teilen kann, könnte man zum Beispiel den ersten Teil mit zwei Slots direkt in den Hive einbauen, und die getrennte Restplatine (sofern man sie trennen möchte) in ein zweites Gehäuse oder extern zum experimentieren verwenden. Ist jetzt nur mal so ein Anfall von Brainstorming, wir finden da schon zusammen... .

Ja, das sehe ich genauso. Für den mechanischen Aufbau könnte man sich des Prinzips des NDR-Klein-Computers bedienen (siehe Bild). Den Bus brauchen wir ja nicht über der gesamten Breite. Nur zum Abstützen könnte man ein paar Pinne mit GND verbunden an der dem eigendlichen Bus abgewandten Seite der Platine installieren. D.h. mit Blick auf die Bestückungsseite und mit Kontakten nach unten, befindet sich links der Bus und rechts die GND-Pinne, dazwischen ist frei. Vieleicht kann man von den GND-Pinnen zwei Reihen für verschieden Platinenbreiten vorsehen. Bei dem vom NDR-Klein-Computer übernommenen Prinzip kann man auch sehr leicht Lochrasterplatinen integrieren. Die Kunststoffstütze des NDR-Klein-Computers könnte man auch aus Platinenmaterial fräsen lassen und auf der Busplatine auflöten. D.h. wir hätten dann eine mindestens dreiteilbare Platine. Hierbei sind die einzelnen Teile nur noch durch kurze, trennbare Stege verbunden.
drohne235 hat geschrieben:..............PlexBus: Für den PlexBus benutze ich momentan drei der freien Ports von Administra, nicht die Hostschnittstelle. Da habe ich die Bezeichnung nicht ganz eindeutig gewählt.

ADM-P19 --> TX
ADM-P20 --> RX
ADM-P21 --> IO
ADM-P22.......
Das ergibt dann ja einen kleinen Bus, sozusagen einen Minivan ;) . Dann reicht ja schon bald ein 6pol-Flachbandkabel zur Verbindung von Hive zum einem externen Modul oder Modulträger........
drohne235 hat geschrieben:..............Ich denke da wirklich auch an Platinen, die man entweder in den Hive oder ein externes Gerät stecken kann. Deshalb soll auch ein eigener Spannungsregler mit auf das Modul. Wird die Platine im Hive gesteckt, so wird sie direkt aus VIN gespeist, ein externes Gerät hat dann ein eigenes Netzteil. Der Bus selbst ist auf jeder Erweiterung durchgeschliffen, so das man problemlos mehrere Boards (extern) hintereinander schalten kann. Ich denke bis 30 cm braucht man da noch keinen Treiber (je nach Baudrate). Die maximale Anzahl von 256 Knoten ist da mehr theoretischer Natur - so viele werden es wohl nie werden - aber es macht auch wenig Sinn, eine Adresse kleiner 8 Bit zu übertragen.......
Ich denke hier kann man gleichzeitig sowohl einen einreihigen Busstecker für die Platzierung auf der Busplatine sowie auch so etwas wie Wannenstecker (6- oder 10polig, je einen für Ein- und Ausgang) für ein Einzelgerät/modul integrieren.
drohne235 hat geschrieben:..............Noch ne Idee :twisted: :

ADM-P19 --> TX --> MOSI
ADM-P20 --> RX --> MISO
ADM-P21 --> --> SPI-CLK
ADM-P22 --> ADR-CLK
ADM-HBEAT --> ADR-RESET

Ausgänge des Adressdekoders:

C0 = Bus OFF
C1..16 = SPI-Devices
C15 = PlexBus-IO

Mit dieser Pinbelegung könnte man sogar PlexBus und SPIBus zusammen an den gleichen Ports betreiben,....................... was ja für die "intelligenteren" Propeller per Software kein Problem wäre............
Beides an einem Bus wäre ziemlich optimal.


Würde mich jetzt auch mal interessieren wie andere Forumsmitglieder zu dem Thema stehen.

Gruß
TuxFan
Dateianhänge
Foto-0001_1.jpg
Wunder gibt es immer wieder.......
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von TuxFan »

Eine etwas andere aber universellere Bussteckverbindung fiel mir noch im Laufe des Nachmittages ein.
Bei der im Bild dargestellten Anordnung kann die Platine auf der Modulträgerplatine gesteckt werden als auch über Flachkabelstecker verbunden werden. Der Flachkabelstecker ist durch die Nase verpolungssicher, da er falls er umgedreht wird unten durch die Platine behindert wird. Die Modulträgerplatine bekommt dann 2x3- oder 2x5-polige Buchsen. Das Prinzip funktioniert sowohl für geätzte Platinen als auch Lochrasterplatinen (ein- oder zweiseitig kaschiert) Die beiden Stecker sind auf der Platine miteinander verbunden.

Gruß
TuxFan
Dateianhänge
Foto-0004(3)_1.jpg
Wunder gibt es immer wieder.......
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von TuxFan »

Hallo!

Was mir heute noch so einfiel.........
Wenn man das serielle Buskonzept weiter verfolgt, fällt einem auf, daß man nicht unbedingt eine Modulträgerplatine benötigt, wenn man eine externe Platzierung der Module bevorzugt.
Wenn man gleich große Module verwendet, egal ob aus geätzten Platinen oder Lochrasterplatten, die man mit Abstandshaltern übereinander stapelt, so genügt es (Voraussetzung sind die gewinkelten Stiftleisten wie im letzten Bild) mehrere Pfostenstecker auf eine Flachbandleitung zu klemmen um die Module durch einen Bus zu verbinden und an den Hive anzubinden (= eine 6- oder 10adrige Flachbandleitung). Auf Hiveseite genügt ein Adapterstecker auf die benötigten Signale des Hivebusses.

Rein theoretisch läßt sich dieses Prinzip auch auf den gesamten Hivebus ausdehnen........

Das ist zwar nicht das, was ich mir persönlich am Anfang unter einer Zusatzplatine für den Hive vorgestellt habe, wird aber vielleicht für den einen oder anderen für Experimente nützlich sein können.

Gruß
Tuxfan
Wunder gibt es immer wieder.......
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von drohne235 »

Die Variante mit dem mehrköpfigen Flachbandkabel ist quasi gleichbedeutend mit meiner durchgeschliffenen Variante, bei welcher man von Karte zu Karte mit einem extra Kabel geht. Funktioniert aber wirklich nur mit dem seriellen Bus, da ja die Selektionssignale für SPI fehlen. Eine Trägerplatine wäre an einigen Stellen universeller, da man ja auch einfache SPI-Bauteile anschließen kann. Nachteil: es braucht halt erstmal die Trägerplatine, die ja nix kann, aber ich fände ein solches System wirklich reizvoll und auch als Basis zum basteln wäre die Slot/Moduladressierung mit der Möglichkeit noch einen Schritt weiter zu einem seriellen Bus zu gehen eine saubere und lehrreiche Sache. Man kann einfache und auch komplexere Erweiterungen gleichzeitig nutzen.

Hey, auf einem doppelt so großes Hive-Mainboard (R15?) könnte man das gleich völlig kompatibel integrieren... ;)

Zu den beiden Steckern auf dem Foto: Zwei Stecker 2x3 - also 12 Pins - müssten ja reichen. Da hätte man noch vier zusätzliche Leitungen frei, die man irgendwie konfigurierbar machen kann. Zusammen mit der Kombiadressierung SPI/PlexBus könnte man schon einiges machen und die Platinen wären auch problemlos nutzbar für deine anderen Propellerboards, da letztlich nur die Routine zur Adressierung angepasst werden braucht.

Eventuell könnte man auf zwei zusätzliche Signale das Hostinterface aufschalten, um Props zu programmieren. Wenn man das Signal auf der entsprechenden Platine mit je einem 2xDIP-Switch beschaltet, kann man so das Modul auswählen, welches programmiert werden soll.

Code: Alles auswählen

01 - ADM-P19 --> TX --> MOSI
02 - ADM-P20 --> RX --> MISO
03 - ADM-P21 -->      --> SPI-CLK
04 - C1..14 (CS für die einzelnen Slots, wenn man es als SPI-Steckplatz nutzt)
05 - C15 (PlexBus-IO für entsprechende Karten)
06 - GND
07 - 3,3V
08 - 5V
09 - Host-TX?
10 - Host-RX?
11 - ??? 
12 - ???
Wie man das jetzt aufteilt, müsste man überlegen. Eine Idee wäre eine Verteilung, bei welcher man auch ein 2x2-Kabel für den PlexBus stecken kann.
Ich hab mal zur Probe drei kleine Gehäuse von reichelt (TEKO 10014) bestellt, die sich vielleicht als Modulgehäuse für die Variante auf Trägerplatine eignen würde. Sind recht klein, halbwegs preiswert und würden vielleicht einen brauchbaren Standard für Module abgeben. Von den Abmaßen würden sie sich für kleine Erweiterungen eignen. Ansonsten werden sie für andere Sachen verbaut.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von BorgKönig »

Wollt Ihr ein modulares System a'la Robotron KCxxx bauen...?
Benutzeravatar
Hoffi1965
Beiträge: 24
Registriert: Do 11. Nov 2010, 22:36
Wohnort: Offenbach

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von Hoffi1965 »

Also, ich fände die Variante mit einer eigenen Trägerplatine auf jeden Fall besser, weil man dadurch auf jeden Fall flexibler ist, was die anschließbaren Komponenten angeht. So eine Platine sollte ja bei der richtigen Stückzahl kein großer Kostenfaktor darstellen.
Eine doppelt so große HIVE-Platine fände ich jetzt nicht so gut, weil ich denke, daß der HIVE in der jetzigen Größe genau richtig ist. Man kann sie, wenn einem die Möglichkeiten des jetzigen HIVE ausreichen, gut und platzsparend in einem kleinen Gehäuse verbauen.
Den HIVE mit der Trägerplatine, die man vielleicht Huckepack montieren kann, sollte man dann auch platzsparend in einem Gehäuse unterbekommen.
Gruß
Michael
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von drohne235 »

@BorgKönig: Die KC's waren zu ihrer Zeit vorbildlich was die Erweiterbarkeit anging. Mir ist eigentlich kein westlicher Homecomputer (außer der NDR-Eigenbau) bekannt, welcher mehr als ein Modul stecken konnte. Wäre schön wenn der Hive sich auch in diese Richtung entwickeln könnte - das würde ganz in das Eigenbau- und Experimentierkonzept passen.

@Hoffi1965: Das mit dem großen Hive Mainboard war ja auch nur ein Scherz... ;) Wird ja nur unhandlich auf dem Tisch - mein Platzbudget ist da sehr begrenzt momentan. Aber schön das dir die Variante mit Trägerplatine auch gefällt, ich denke mal, da könnten wir etwas universelles draus basteln.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von BorgKönig »

drohne235 hat geschrieben:@BorgKönig: Die KC's waren zu ihrer Zeit vorbildlich was die Erweiterbarkeit anging. Mir ist eigentlich kein westlicher Homecomputer (außer der NDR-Eigenbau) bekannt, welcher mehr als ein Modul stecken konnte. Wäre schön wenn der Hive sich auch in diese Richtung entwickeln könnte - das würde ganz in das Eigenbau- und Experimentierkonzept passen.
Ich kenne die KC85/ (3/4) Serie. Genutzt hatte ich aber mehr den BIC5110, bzw. A5105.

Das Modulare Konzept gefällt mir. Ich persönlich würde eine Trägerplatine, woran man dann die Module anschliessen kann, vorziehen. Getreu den KC85 halt..
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Erweiterungsplatine mit viertem Propeller-Chip

Beitrag von TuxFan »

Hallo!
drohne235 hat geschrieben:..........Mir ist eigentlich kein westlicher Homecomputer (außer der NDR-Eigenbau) bekannt, welcher mehr als ein Modul stecken konnte. ...................
Ich denk da an den ZX81, dessen kompletter Bus auf der Rückseite herausgeführt war. Die Fa. Memotech hatte damals, als früher gestern war (anfangs der 80ger), Aufsteckmodule für diverse Erweiterungen hergestellt. U.a. Speicher bis 64kB, serielle und parallele Schnittstelle, Keyboard etc. Dieser Bus lud auch sehr zum basteln und Experimentieren ein. :D
drohne235 hat geschrieben:..........Das mit dem großen Hive Mainboard war ja auch nur ein Scherz... ;) Wird ja nur unhandlich auf dem Tisch - mein Platzbudget ist da sehr begrenzt momentan...................

Schade :cry: ich hatte schon so Vorstellungen eines Hive im Mini-ITX-Format. Da gibt es so einige kleine aber feine Mini-ITX-Gehäuse..........
drohne235 hat geschrieben:..........Aber schön das dir die Variante mit Trägerplatine auch gefällt, ich denke mal, da könnten wir etwas universelles draus basteln.
Ja, da gibt es aber gleich ein paar kleine Diskussionspunkte.
Die folgende Ausführung soll jetzt aber erstmal nur ein Denkanstoß für weiteres Brainstorming sein :
Punkt 1:
Größe dieser Platine und die direkte Steckbarkeit auf den Hive-Bus-Stecker.
Wenn man, so wie ich, eine 2x20-pol. Stiftleiste in den Hive gelötet hat und nun die entsprechende handelsübliche Buchsenleiste in das Erweiterungsboard einlöten will, ist die Montagehöhe aus Kontaktsicherheitsgründen auf ca. 12 mm begrenzt. Dann kann die Erweiterungsplatine aber nicht 100 mm breit werden, weil sie sonst mit den rückseitigen Buchsen (Keyboard, Ethernet etc.) kollidiert. Es bliebe eine Breite von ca. 80mm übrig. Ich muß dazu sagen ich würde ungern die Grundfläche des Hives (160mm x 100mm) überschreiten.

Eine Montage höher als 12mm ist auch denkbar. Hierbei könnte das Eurokartenformat voll ausgenutzt werden. Eine Verbindung des Hive und der Erweiterungsplatine über ein 20pol Flachbandkabel mit Pfostenverbindern wäre denkbar, ebenso eine nur einseitige CU-Lage (kostengünstig).

Punkt 2:
Modulgröße. Ich persönlich würde es begrüßen wenn die Modulplatinengröße 100mm x 80mm nicht überschreitet. Grund, die Freewareversion von Eagle, mit der viele Hobbyisten arbeiten.

Punkt 3:
Polanzahl der Modulsteckverbindung.
Ich würde die Anzahl der Pole so wählen, daß auch handelsübliche Pfostenverbinder genommen werden können, falls jemand ein Modul auch mal ohne Modulträgerplatine benutzen will.
Pfostenverbinder gibt es in 6-, 10-, 14- und 16-poliger Ausführung und auch noch größerer Polzahl......
Ich persönlich würde zwei Steckverbindungen auf dem Modul mit durchgeschliffenem Bus bevorzugen, da man hier mehrere Module hintereinander auch ohne Trägerplatine benutzen kann, z.B. auch an einem einzelnen Propeller jenseits der Experimentierphase.
Die Polanzahl könnte z.B. auf 10 begrenzt bleiben, wie im obigen Codebeispiel von drohne 235

Punkt 4:
Ein weiterer Vorteil einer Erweiterungsplatine mit dem angedachten seriellen/SPi Bus.
Eine universelle Erweiterungsplatine ließe sich auch ohne Weiteres ohne den Hive betreiben. Man kann ja ein Modul mit einem Microprofessor ;) (Propeller, AVR, PIC usw.) als Master bestücken.
Dadurch wäre eine Benutzung außerhalb der Hive-Welt denkbar und spätere Assimilierung nicht ausgeschlossen......... :twisted:

Mir fällt sicherlich noch weiteres ein aber erstmal genug......

Gruß
TuxFan
Wunder gibt es immer wieder.......
Antworten