Forum: Mikrocontroller und Digitale Elektronik Erkennungstest mit serieller Schnittstelle


von Nino K. (lnino)


Lesenswert?

Hi an alle.

Ich möchte einen einfachen Erkennungstest mit meinem atmeg168 und einer 
seriellen Schnittstelle durchführen.

Ich habe auf meinem Steckbrett meinen MCU und die serielle 
Schnittstelle. Wobei sich hier schon die Frage stellt welchen Pin der 
Schnittstelle ich wohin verbinden muss. Dies stellt quasi mein 
Erkennungsgerät dar.

Nun habe ich 4 serielle Gegenstücke (ohne Strom) und möchte wenn ich das 
Erkennungsgerät anstecke erkennen an welches Gegenstück ich gerade 
angesteckt habe. Ich möchte also erkennen ob es Gegenstück S1, S2, S3 
oder S4 ist. Bei dem Gegenstück handelt es sich wirklich rein um die 
nackte serielle Schnittstelle ohne Logik, ohne MCU, ohne alles.

Wie könnte man das realisieren? Beim Gegenstück einen Widerstand? Oder 
bei 2 Pins eine Überbrückung? Und wie frage ich das beim MCU ab?

Die Lösung kann ruhig recht trivial sein.

Vielen Dank für die Hilfe.

von pompete (Gast)


Lesenswert?

El Nino schrieb:
> ohne Logik

....

von Nino K. (lnino)


Lesenswert?

Ohne Logik sollte heißen ohne MCU, nur der nackte serielle Anschluss und 
sonst nichts.

von Frank K. (fchk)


Lesenswert?

Meinst Du jetzt mit "serielle Schnittstelle" das gleiche wie jeder 
andere hier in diesem Forum, nämlich einen nicht näher spezifizierten 
Steckverbinder mit einer eingehenden (RXD) und einer ausgehenden (TXD) 
Datenleitung sowie ggf weiteren Steuerleitungen (CTS+RTS, DSR+DTR, DCD, 
RI), wobei die Daten- und Steuerleitungen +/-12V Pegel verwenden?

Oder meinst Du damit nur den nackten DSub9- bzw DSub25-Steckverbinder an 
sich?

Befleißige Dich eines korrekten Vokabulars, dann versteht der Rest der 
Welt vielleicht auch Deine Fragestellung!

fchk

von digitaler Widerstand (Gast)


Lesenswert?


von Klaus Dieter (Gast)


Lesenswert?

Ich denke du meinst einfach nur den Stecker. Dann machst du einfach 4 
verschiedene Brücken in dein Gegenstück und wertest diese aus. Z.B.:

Stecker Controller:
Pin 1: 5 V
Pin 2: PA0
Pin 3: PA1
Pin 4: PA2
Pin 5: PA3

S1: Brücke 1-2
S2: Brücke 1-3
S3: Brücke 1-4
S4: Brücke 1-5

Du könntest noch einen Pin sparen wenn du die Stecker binär codierst, 
aber das lohnt sich eigentlich nur wenn du sowieso schon viele Pins 
benötigst oder du noch mehr Anschlussvarianten prüfen möchtest.

von Klaus Dieter (Gast)


Lesenswert?

Klaus Dieter schrieb:
> Pin 1: 5 V

Aah, ist schon spät... Besser Pin 1 auf GND und die pullups aktivieren.

von pompete (Gast)


Lesenswert?

Frank K. schrieb:
> Meinst Du jetzt mit "serielle Schnittstelle".....

Frank K. schrieb:
> Oder meinst Du damit nur.....

Klaus Dieter schrieb:
> Ich denke du meinst....

....ich meine,er meint,wenn er meint was ich meine und wir somit einer 
meinung sind das wir das selbe meinen, zu wissen was er denkt!
daraus schließe ich immer noch zu meinen,das hier eine logik fehlt....
oder so ähnlich ;-)

von Nino K. (lnino)


Lesenswert?

pompete schrieb:
> ....ich meine,er meint,wenn er meint was ich meine und wir somit einer
>
> meinung sind das wir das selbe meinen, zu wissen was er denkt!
>
> daraus schließe ich immer noch zu meinen,das hier eine logik fehlt....
>
> oder so ähnlich ;-)

Yep. Genau das meinte ich. g

@ Klaus Dieter:
Danke für deine anschauliche Lösungmöglichkeit. Das ist genau das was 
ich brauche. Dann lag ich mit der Überbrückung gar nicht so daneben. Nur 
der technische Feinschliff fehlte mir total. :-) Danke nochmal.

Mein Objekt der Begierde soll ein RS232 D-Sub 9 sein.

Aber wo bekommt man diese noch her?
Ich bräuchte für mein Projekt 1x male und 4x female.
Wo kann man sowas noch bestellen?

von Cyblord -. (cyblord)


Lesenswert?

El Nino schrieb:

> Aber wo bekommt man diese noch her?
> Ich bräuchte für mein Projekt 1x male und 4x female.
> Wo kann man sowas noch bestellen?

Bei jedem Elektronik Versender diesseits der Sonne. Du hast die Auswahl 
zwischen Reichelt, Pollin, Conrad, CSD, RS, ebay und sonstigen.

von Nino K. (lnino)


Lesenswert?

cyblord ---- schrieb:
> Bei jedem Elektronik Versender diesseits der Sonne. Du hast die Auswahl
>
> zwischen Reichelt, Pollin, Conrad, CSD, RS, ebay und sonstigen.

Also da muss ich echt blind gewesen sein. Bei Reichelt wo ich immer mein 
Zeug bestelle, konnte ich nichts finden. Aber vielleicht habe ich auch 
nach den falschen Begriffen gesucht. Nun konnte ich fündig werden.

von pompete (Gast)


Lesenswert?

El Nino schrieb:
> @ Klaus Dieter:
> Danke für deine anschauliche Lösungmöglichkeit. Das ist genau das was
> ich brauche.

...unglaublich, da muss ich an dieser stelle ein kompliment an klaus 
loswerden, ich hätte nicht gewusst was du zum ausdruck bringen wolltest!

aber schön, das dir dennoch geholfen werden konnte!

dann noch viel spass beim basteln ;-)

von lex (Gast)


Lesenswert?

Du willst ja anscheinend erkennen können welcher Slave gerade an der MCU 
angestöpselt ist.
Da die Slaves aber keine Intelligenz verfügen scheidet das Senden einer 
Erkennungs-ID aus.

Du könntest evtl. die zusätzlichen Leitungen einer RS232 Verbindung 
zweckentfremden.
Auf eine Leitung könntest du eine Referenzspannung legen, eine weitere 
mit einem ADC Pin der MCU verbinden.

Auf jeden Slave einen kleinen, immer unterschiedlichen Spannungsteiler.
Dann könnte dein MCU durch eine kurze Messung erkennen, mit welchem 
Slave er heute sprechen muss.

1V = Slave1
2V = Slave2 usw.

Bei der Abfrage natürlich immer einen Bereich abfragen.

Grüße,
lex

von Karl H. (kbuchegg)


Lesenswert?

lex schrieb:

> Du könntest evtl. die zusätzlichen Leitungen einer RS232 Verbindung
> zweckentfremden.

Falls es dir noch nicht aufgefallen ist. Die 'RS232' ist hier einfach 
nur Bauteillieferant für einen Stecker der in eine Buchse passt. Er 
hätte genausogut einen 3.5mm Klinkenstecker in eine entsprechende Buchse 
stöpseln können und so wie du vorschlägst mit Spannungsteilern 
unterschiedliche Spannungen realisieren können.

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.