mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik kann ich dei I/O-Pins der AVR direkt miteinander verbinden?


Autor: fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bin gerade dabei zwei AVRs über eine Datenleitung mit 8 leitern
zum komunizieren zu bringen.
will aber noch nicht ganz so redht klappen.
Deshalb frage ich hier: Kann ich die I/O-Pins der beiden AVRs
direkt miteinander verbinden um die Signale des anderen AVRs auslesen
zu können oder muss ich erst einen Pull-Up Wiederstand dazwischen
schalten???

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 AVR auf Ausgang einer auf Eingang dann geht es. auch ohne Pullup der
AVR hat PUSH/PULL Stufen an den Ausgängen.

Autor: fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
soweit war ich auch schon.
hat aber trotzdem nicht geklappt und laut Oszilskop
kommt da nur ein frequenzschmodder heraus wenn beide verbunden
sind(Testprogramme hab ich schon auf den AVRs).

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht der code denn aus?

BTW:
Gibt es einen Grund 8 Datenleitungen zu verbraten?
Alle Welt geht weg von paralleler Übertragung.

Grüße, Freakazoid

Autor: fred (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
möchte einfach nur testen ob es möglich ist

Autor: fred (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
zweiet Datei

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Setz doch einfach mal konstant eine Port und les ihn ein.
Welcher der Files soll den sender und welchermpfänger sein?
Was sagt das Ozi ohne angeschlossenen zweiten AVR?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange du Programmierfehler nicht ausschließen kannst, solltest du
Widerstände in die Verbindungsleitungen schalten, die den
Kurzschlussstrom (wenn beide AVRs Ausgang sind) auf ein erlaubtes Maß
begrenzen. Dann kannst du testen und machen, ohne dass etwas kaputt
geht.

...

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, mach das mal, hatte ich ganz vergessen zu sagen g

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Test2.asm deklarierst Du PortB auch als Ausgang.
Damit treibst Du mit beiden Ausgängen gegeneinander.
Widerstände einbauen und Code ändern!

Grüße, Freakazoid

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BTW:
ldi r16,0b00000000    ;Port C wird als Ausgang definiert
out DDRC,r16

0=INPUT
1=OUTPUT

Grüße, Freakazoid

Autor: Tobias Plüss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht kannst du einen inverter (oder 2) dazwischenschalten.
dann brauchts keine pullups oder -downs, ausserdem wird das bei RS232
ja auch so gemacht.
oder irgend ein puffer, 74LS245 oder so was in die richtung.

gruss

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es brauch auch so keine Pullups und -downs.
Notfalls hätte er im AVR welche drinne. Inverter sind
also überflüssig. Einzig die Strombegrenzung (Widerstände) ist
Pflicht.

Grüße, Freakazoid

Autor: fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die Tips.
Die Datei Test2 ist für den atmega der bei korrekt empfangenen Signal
eine LED zum leuchten bringen soll.
ATTest ist für den AT90S2313 und ohne Anschluss des Atmega zeigt das
Oszi ein super Rechteck Signal an.
Aber eine Frage noch, wie groß soll ich die Wiederstände wählen um das
Signal nicht ganz abzuschwächen??? Bei der Logikspannung von 5 V soll
meines Wissens nach eine Differenz von 0,2 V , zur Sicherheit, erlaubt
sein. Das habe ich aber bisher aber nur in einem Buch über
Mikroprozessoren gelesen(ist sehr interressant das Buch).

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abschwächen dürftest du das Signal mit einem Widerstnad nicht.
Bei hohen Frequenzen werden nur die Signalflanken ein wenig schlechter.
Der Widerstand sollte so sein, daß, wenn ein Einpang Vcc und der andere
GND ist, der maximale Portstrom nicht überschritten wird.
Bei einem AVR und 20mA bei 5V komme ich auf 250Ohm. Deshalb würde ich
es einfach mal mit 560 versuchen, dann bist du auf der sicheren Seite.

Mike

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder 1kOhm...

Autor: Dennis Kleine-Beck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in Test2.asm schreibst Du:
"in r16,PORTB"

das muss aber heißen: "in r16, PIND"


s. auch IO Grundlagen im Tutorial...

Gruß,
Dennis

Autor: Dennis Kleine-Beck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, "in r16, PINB"  - 'B' wie Berta, natürlich...

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie lang soll eigentlich die Verbindungsleitung werden?
Wieviel solcher Leitungen soll es geben?
Soll jeder AVR eine eigene (getrennte) Stromversorgung bekommen?

Autor: fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja jeder soll eine eigene Stromversurgung bekommen und die
Verbindungsleitungen sollen nicht länger als 15 cm lang sein.
für die Stromversorgung habe ich mir ein Spannungsstabilisiertes
Netzteil mit zwei Ausgängen gebaut(nur 0,07V abweichung).

Autor: fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu Dennis kleine Beck:
an Port B des Atmegas soll die LED zum leuchten gebracht werden.

Autor: fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, hab mich im Cod etwas vershrieben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.