Hallo, wie nennt man das Verfahren, wenn man die PIN Zuordnung an einer Steckerbuchse variabel machen möchte. Gedankengänge sind folgende: An einer 10 poligen Wannenbuchse möchte ich gerne - je nach Anwendung - eine andere Pin Zuordnung haben. Die PIN Zuordnung würde ich softwareseitig (z.B per I2C) ansteuern wollen. Beispiel: Stecker Pin1 -> Anwendung A PB2 ; Anwendung B PB3 Stecker Pin2 -> Anwendung A PB3 ; Anwendung B PB4 Stecker Pin3 -> Anwendung A PB4 ; Anwendung B PB5 Stecker Pin4 -> Anwendung A PB5 ; Anwendung B PB6 Je nach Anwendung wird auch ein anderes Gerät per Flachbandkabel an die gleiche Wannenbuchse angeschloßen. Gibt es hierfür fertige Bausteine? Ich vermute, das dies ein Multiplexing ist, bin mir aber nicht sicher.
Sollen PIN und Pin das gleiche bedeuten, also den Anschluss der 10 poligen Wannenbuchse? Und soll PBx den Port-Anschluss eines µC entsprechen? Auch wenn das stimmt, musst du an einem Pin/PIN immer Masse haben. Sonst geht garnix. Der Aufwand, diese Anpassung machen zu können, steht bestimmt in keinem vernünftigen Verhältnis dazu, - entweder die externen Geräte mit einem passenden Stecker zu versehen, - oder bei Anwendung B die richtige Zuordnung per Software im µC zu machen. Ansonsten: Versuche mal, dich verständlicher auszudrücken!
Hans A. schrieb: > Stecker Pin1 -> Anwendung A PB2 ; Anwendung B PB3 Das per Hardware zu machen ist völliger Unsinn. Georg
Hans A. schrieb: > Ich vermute, das dies ein Multiplexing ist, [...] Nicht wirklich. Früher nannte man das "Kreuzschienenverteiler". Geht schon, ist aber irrsinniger Aufwand. Einfachste Lösung für 10 bidirekionale Anschlüsse wären 100 Reed-Relaise.
Georg schrieb: > Hans A. schrieb: >> Stecker Pin1 -> Anwendung A PB2 ; Anwendung B PB3 > > Das per Hardware zu machen ist völliger Unsinn. Es gibt Microcontroller, die eine solche Crossbar bereits integriert haben. Beispiele wären LPC15xx von NXP oder NRF51422 von Nordic Semi. Bei Atmel habe ich sowas aber nicht gesehen.
... wenn jemand noch 'nen Sack voll (CD)4066 rumliegen hat, könnte man die hier schön verbraten.
Interessantes Projekt. Immerhin hat man 10! = 3628800 verschiedene Möglichkeiten.
Es ist doch totaler Unsinn zu behaupten, daß niemand sowas benötigt. Das man sowas Software seitig löst ist eine valide Aussage. Sowas muss doch aber auch Hardware mäßig gehen. Eventuell sogar vielleicht mit einem kleinen Alter, das sind ja diese programmierbare Logik Chips.
CPLD aber die aktuellen gehen alle so mit 100 Pins los ode BGA. Also nen alten XC9500XL oder nen MAX3000, die gibt es auch mit 44 Pins.
Hans A. schrieb: > Sowas muss doch aber auch Hardware mäßig gehen. Natürlich geht das, es ist bloss komplett sinnlos. In Software muss man ja nur den Pin festlegen, das muss man sowieso, es kostet also garnichts, nicht mal zusätzliche Arbeit. Georg
Hans A. schrieb: > Je nach Anwendung wird auch ein anderes Gerät per Flachbandkabel an die > gleiche Wannenbuchse angeschloßen. > > Gibt es hierfür fertige Bausteine? > Ich vermute, das dies ein Multiplexing ist, bin mir aber nicht sicher. Ich vermute, Du meinst als Bausteine "Arrays". Du packst Deine Anschlusspins in ein Array und greifst je nach Anwendung drauf zu:
1 | byte AnwendungA_Pins[]={PB2, PB3, PB4, PB5}; |
2 | byte AnwendungB_Pins[]={PB3, PB4, PB5, PB6}; |
3 | byte* Anwendungspin=AnwendungA_Pins; |
4 | // oder Anwendungspin=AnwendungB_Pins;
|
Zugreifen auf die Pins dann mit Anwendungspin[0], Anwendungspin[1], Anwendungspin[2], Anwendungspin[3]. Solange alle Pins im selben Portregister liegen, überhaupt kein Problem. Und fast wie bei Arduino, nur in diesem Fall eingeschränkt auf maximal 8 Pins.
Naja es gibt aber auch den Fall das man die Spezialfunktionen braucht wie den Output Compare Pin und den kann man in Software halt nicht mal einfach so verschieben.
Mit einem PSoC3 oder 5LP von Cypress könnte man das packen.
:
Bearbeitet durch User
Multiplexer oder Crosspoint Switches, gibt's wie Sand am Meer in den unterschiedlichsten Konfigurationen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.