Dirk
20.07.2007, 22:04
Hallo RP6-Leute,
beim RP6 steht uns "Usern" ja ein "User Bus" (USRBUS) in Form eines 14-poligen Wannensteckers zur Verfügung.
Die Belegung ist völlig frei möglich.
Der USRBUS dient zum Weiterleiten von Signalen:
a) Vom RP6 Mainboard zur nächsten Experimentierplatine (EXP)
b) Von einer EXP zur nächsten EXP
c) Vom RP6 Mainboard zur RP6Control-M32
d) Von der RP6Control-M32 zur nächsten EXP
Ich möchte hier 'mal einen Belegungsvorschlag für den USRBUS machen, und zwar nur für die Verbindung zwischen RP6 Mainboard und einer EXP (a).
Überlegungen dazu:
Wenn es darum geht, weitere Signale, Spannungen o.ä. vom RP6 auf eine EXP zu bekommen, dann stellt sich die Frage, welche Anschlüsse des RP6 für Erweiterungen überhaupt sinnvoll zu nutzen sind. Die Ports des ATMega 32 sind ja schon fast komplett für die Steuerung des RP6 genutzt!
Der XBUS stellt schon GND, VDD, +UB, SDA, SCL, MRESET, INT1..3, INTU auf jeder EXP zur Verfügung. Damit haben wir die Spannungsversorgung, Reset, 4 Interruptleitungen und den I2C-Bus schon auf der EXP.
Also: Was bleibt da noch an Ressourcen des RP6 für eine externe Nutzung?
1. Notwendig für einen energiesparenden Ausbau des RP6 ist auf jeden Fall das Signal PWRON. Damit können auf den EXPs z.B. stromfressende Sharp-Sensoren ausgeschaltet werden (via Transistor o.ä.).
2. Die A/D-Wandler-Eingänge ADC0 und ADC1 sind auf dem RP6 noch frei und können natürlich gut genutzt werden.
3. Die Digital-Ports der Anzeige LEDs SL1, SL2, SL4, SL5 (IO1..4) können auch für Eingabezwecke (z.B. weitere Bumper) genutzt werden.
4. Die serielle Schnittstelle (RX, TX) sollte auf die EXPs geführt werden (z.B. für Funkmodule o.ä.).
Damit schlage ich folgende Nutzung des USRBUS (als Verbindung vom RP6 zur nächsten EXP) vor:
Pin: Signal: Verwendung:
Y1 PWRON Energiesparfunktion
Y2 VDD +5 Volt
Y3 ADC0 A/D-Wandler Kanal 0
Y4 GND GND/Masse
Y5 ADC1 A/D-Wandler Kanal 1
Y6 RX Serielle Schnittstelle RXD
Y7 frei!
Y8 TX Serielle Schnittstelle TXD
Y9 frei!
Y10 RST oder frei! Evtl. Reset
Y11 IO1 Portc.4 (Digitale Eingänge)
Y12 IO2 Portc.5
Y13 IO3 Portb.7
Y14 IO4 Portb.1
(Schade, dass die Tabs nicht funktionieren!)
Bleibt noch die Frage:
Warum gerade diese Belegung?
Wenn man die Verbindungen vom RP6 Mainboard zum USRBUS möglichst einfach herstellen will, dann geht das mit der genannten Belegung am übersichtlichsten und einfachsten.
Es sind folgende Verbindungen nötig:
1. Eine 4- oder 5-polige Verbindung von den Lötpads (RST), TX, RX, GND, VDD zu den genauso nebeneinander liegenden Pads (Y10), Y8, Y6, Y4, Y2 des USRBUS.
2. Zwei 2-polige Kabel von IO1/2 zu Y11/12 und von IO3/4 zu Y13/14.
3. Zwei 1-polige Kabel von ADC0 zu Y3 und von ADC1 zu Y5.
4. Ein 1-poliges Kabel von PWR (PWRON) zu Y1.
Wenn man RST nicht verbindet, bleiben noch drei USRBUS-Pins frei (Y7, Y9, Y10) für eine eigene Verwendung. Diese Pins können auch zwischen zwei EXPs (also ohne Verbindung zum RP6) genutzt werden.
Wie kann man die Verbindungen auf dem Mainboard herstellen?
Ich würde es mit Pfostensteckern machen (man kann natürlich auch direkte Kabelverbindungen anlöten!):
1. Einen 2-reihigen 14-poligen (744034) auf die USRBUS-Pads (Y1..14 vorn links auf dem Mainboard) auflöten.
2. Ein einreihiger 4- oder 5-poliger Pfostenstecker (744018) kommt auf (RST), TX, RX, GND, VDD. (Wenn 4-polig, dann OHNE RST!)
3. Zwei einreihige 3-polige Stecker auf die ADC0/1 Lötpads (nur 1 Pin wird davon benutzt!).
4. Zwei einreihige 2-polige Stecker auf IO1/2 und IO3/4.
5. Ein Stecker auf PWR (PWRON).
Die Verbindungen zwischen den Pfostensteckern kann man mit vorkonfektionierten 1..5-poligen PC-Kabeln (Set CONRAD 976261-62) steckbar herstellen, damit ist auch eine Änderung der USRBUS-Belegung später noch möglich. Die Kabel selbst muss man zwischen den Steckern kürzen und wieder verlöten (Lötstellen mit Schrumpfschlauch isolieren!!).
Das ganze sollte man nur angehen, wenn man Löterfahrung hat und an einen konkreten Ausbau des RP6 denkt.
Zum Ende noch die Frage: Warum poste ich diesen Vorschlag hier und setze das nicht nur bei mir selbst um?
Es hat einen gewissen Reiz, später evtl. fertige Experimentierplatinen tauschen oder (ver-)kaufen zu können. Wenn dann Klar ist, dass es sich um eine EXP z.B. für den RP6-Anschluß (siehe oben unter a!) handelt, müßten EXPs mit einer solchen "Standard-Belegung" einfach zwischen Usern auszutauschen sein und auf allen RP6 mit dieser USRBUS-Belegung funktionieren.
Man darf ja träumen! O:)
Wie denkt ihr darüber? Zu früh? Sinnlos? 8-[
MfG Dirk
beim RP6 steht uns "Usern" ja ein "User Bus" (USRBUS) in Form eines 14-poligen Wannensteckers zur Verfügung.
Die Belegung ist völlig frei möglich.
Der USRBUS dient zum Weiterleiten von Signalen:
a) Vom RP6 Mainboard zur nächsten Experimentierplatine (EXP)
b) Von einer EXP zur nächsten EXP
c) Vom RP6 Mainboard zur RP6Control-M32
d) Von der RP6Control-M32 zur nächsten EXP
Ich möchte hier 'mal einen Belegungsvorschlag für den USRBUS machen, und zwar nur für die Verbindung zwischen RP6 Mainboard und einer EXP (a).
Überlegungen dazu:
Wenn es darum geht, weitere Signale, Spannungen o.ä. vom RP6 auf eine EXP zu bekommen, dann stellt sich die Frage, welche Anschlüsse des RP6 für Erweiterungen überhaupt sinnvoll zu nutzen sind. Die Ports des ATMega 32 sind ja schon fast komplett für die Steuerung des RP6 genutzt!
Der XBUS stellt schon GND, VDD, +UB, SDA, SCL, MRESET, INT1..3, INTU auf jeder EXP zur Verfügung. Damit haben wir die Spannungsversorgung, Reset, 4 Interruptleitungen und den I2C-Bus schon auf der EXP.
Also: Was bleibt da noch an Ressourcen des RP6 für eine externe Nutzung?
1. Notwendig für einen energiesparenden Ausbau des RP6 ist auf jeden Fall das Signal PWRON. Damit können auf den EXPs z.B. stromfressende Sharp-Sensoren ausgeschaltet werden (via Transistor o.ä.).
2. Die A/D-Wandler-Eingänge ADC0 und ADC1 sind auf dem RP6 noch frei und können natürlich gut genutzt werden.
3. Die Digital-Ports der Anzeige LEDs SL1, SL2, SL4, SL5 (IO1..4) können auch für Eingabezwecke (z.B. weitere Bumper) genutzt werden.
4. Die serielle Schnittstelle (RX, TX) sollte auf die EXPs geführt werden (z.B. für Funkmodule o.ä.).
Damit schlage ich folgende Nutzung des USRBUS (als Verbindung vom RP6 zur nächsten EXP) vor:
Pin: Signal: Verwendung:
Y1 PWRON Energiesparfunktion
Y2 VDD +5 Volt
Y3 ADC0 A/D-Wandler Kanal 0
Y4 GND GND/Masse
Y5 ADC1 A/D-Wandler Kanal 1
Y6 RX Serielle Schnittstelle RXD
Y7 frei!
Y8 TX Serielle Schnittstelle TXD
Y9 frei!
Y10 RST oder frei! Evtl. Reset
Y11 IO1 Portc.4 (Digitale Eingänge)
Y12 IO2 Portc.5
Y13 IO3 Portb.7
Y14 IO4 Portb.1
(Schade, dass die Tabs nicht funktionieren!)
Bleibt noch die Frage:
Warum gerade diese Belegung?
Wenn man die Verbindungen vom RP6 Mainboard zum USRBUS möglichst einfach herstellen will, dann geht das mit der genannten Belegung am übersichtlichsten und einfachsten.
Es sind folgende Verbindungen nötig:
1. Eine 4- oder 5-polige Verbindung von den Lötpads (RST), TX, RX, GND, VDD zu den genauso nebeneinander liegenden Pads (Y10), Y8, Y6, Y4, Y2 des USRBUS.
2. Zwei 2-polige Kabel von IO1/2 zu Y11/12 und von IO3/4 zu Y13/14.
3. Zwei 1-polige Kabel von ADC0 zu Y3 und von ADC1 zu Y5.
4. Ein 1-poliges Kabel von PWR (PWRON) zu Y1.
Wenn man RST nicht verbindet, bleiben noch drei USRBUS-Pins frei (Y7, Y9, Y10) für eine eigene Verwendung. Diese Pins können auch zwischen zwei EXPs (also ohne Verbindung zum RP6) genutzt werden.
Wie kann man die Verbindungen auf dem Mainboard herstellen?
Ich würde es mit Pfostensteckern machen (man kann natürlich auch direkte Kabelverbindungen anlöten!):
1. Einen 2-reihigen 14-poligen (744034) auf die USRBUS-Pads (Y1..14 vorn links auf dem Mainboard) auflöten.
2. Ein einreihiger 4- oder 5-poliger Pfostenstecker (744018) kommt auf (RST), TX, RX, GND, VDD. (Wenn 4-polig, dann OHNE RST!)
3. Zwei einreihige 3-polige Stecker auf die ADC0/1 Lötpads (nur 1 Pin wird davon benutzt!).
4. Zwei einreihige 2-polige Stecker auf IO1/2 und IO3/4.
5. Ein Stecker auf PWR (PWRON).
Die Verbindungen zwischen den Pfostensteckern kann man mit vorkonfektionierten 1..5-poligen PC-Kabeln (Set CONRAD 976261-62) steckbar herstellen, damit ist auch eine Änderung der USRBUS-Belegung später noch möglich. Die Kabel selbst muss man zwischen den Steckern kürzen und wieder verlöten (Lötstellen mit Schrumpfschlauch isolieren!!).
Das ganze sollte man nur angehen, wenn man Löterfahrung hat und an einen konkreten Ausbau des RP6 denkt.
Zum Ende noch die Frage: Warum poste ich diesen Vorschlag hier und setze das nicht nur bei mir selbst um?
Es hat einen gewissen Reiz, später evtl. fertige Experimentierplatinen tauschen oder (ver-)kaufen zu können. Wenn dann Klar ist, dass es sich um eine EXP z.B. für den RP6-Anschluß (siehe oben unter a!) handelt, müßten EXPs mit einer solchen "Standard-Belegung" einfach zwischen Usern auszutauschen sein und auf allen RP6 mit dieser USRBUS-Belegung funktionieren.
Man darf ja träumen! O:)
Wie denkt ihr darüber? Zu früh? Sinnlos? 8-[
MfG Dirk