Forum: Mikrocontroller und Digitale Elektronik Dynamische PIN Zuordnung


von Hans A. (Gast)


Lesenswert?

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.

von Oldie (Gast)


Lesenswert?

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!

von Georg (Gast)


Lesenswert?

Hans A. schrieb:
> Stecker Pin1 -> Anwendung A PB2 ; Anwendung B PB3

Das per Hardware zu machen ist völliger Unsinn.

Georg

von Possetitjel (Gast)


Lesenswert?

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.

von Jim M. (turboj)


Lesenswert?

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.

von Bussard (Gast)


Lesenswert?

... wenn jemand noch 'nen Sack voll (CD)4066 rumliegen hat, könnte man 
die hier schön verbraten.

von M.N. (Gast)


Lesenswert?

Interessantes Projekt.
Immerhin hat man 10! = 3628800 verschiedene Möglichkeiten.

von Max M. (jens2001)


Lesenswert?

Hans A. schrieb:
> Gibt es hierfür fertige Bausteine?

Nein!
Weil niemand sowas braucht.

von Hans A. (Gast)


Lesenswert?

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.

von uwe (Gast)


Lesenswert?

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.

von uwe (Gast)


Lesenswert?

oder ispMACH4000

von Georg (Gast)


Lesenswert?

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

von Jürgen S. (jurs)


Lesenswert?

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.

von uwe (Gast)


Lesenswert?

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.

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Mit einem PSoC3 oder 5LP von Cypress könnte man das packen.

: Bearbeitet durch User
von GB (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.