mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB UART Bridge und AVR


Autor: technikus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich setze in meiner Schaltung eine USB UART Bridge von embedded projects 
ein.
Zur UART Implementierung im Mikrocontroller nutze ich die Fleury Lib.
Alles funktioniert einwandfrei.

Sobald ich jedoch die Kabel zur USB UART Bridge entferne und in der Luft 
baumeln lasse kommen irgendwelche Daten im Mikrocontroller an.
Es geht sogar soweit das der Watchdog wegen der Datenfülle zubeist.
Zudem schreibe ich empfangene Daten in ein EEPROM (Protokoll mit 
Startzeichenabfrage implementiert). Die Daten im EEPROM werden mit Müll 
befüllt.

Wenn ich jetzt andere USB UART Bridges nutze (ausgeschlachtet aus Handy 
Datenkabel etc.) kommt es zu eben diesem Fehler wenn keine Verbindung 
mit einem USB Kabel zum PC besteht. Ich verbinde also RxD / TxD vom 
CP2102 und GND mit der Mikrocontroller UART / Schaltung.

Die Power LED der USB UART Bridge von embedded projects leuchtet auch 
wenn keine Verbindung per USB Kabel zum PC besteht.
Die Power LED aller anderer getesteten Bridges leuchtet erst wenn die 
Spannungsversorgung über ein USB Kabel besteht.

Kommen nun Daten durch Störfelder rund um die angeschlossenen Leitungen 
auf der Mikrocontrollerseite an? Kann ich dann im AVR Programm einfach 
die Pull Ups der UART PINs aktivieren um den Fehler zu beseitigen ?

Oder verenne ich mich jetzt total ?

Ich würde mich freuen wenn Ihr mich unterstützt!


Gruß
ernst

Autor: technikus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
???

Autor: lab (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nähere erklärungen zu deinem code wären  mal sinnvoll


die lib an sich istbekannt
aer irgendwas muss ja uart_get() aufrufen ,...

ebenso muss was sein das der pin dort wackelt ..
das tuen die im regelfall nicht

also ... code +  schaltplan

Autor: technikus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


die uart_getc() rufe ich in der Hauptschleife auf.
  c = uart_getc();          //UART Datenempfang
    
        if (!( c & UART_NO_DATA ))      //Daten wurden Empfangen
    {... }


Anbei eine Anschlussdarstellung. Das USB UART Modul ist also direkt mit 
den entsprechenden Pins vom Mikrocontroller verbunden.

Wenn das USB UART Modul über den USB Anschluss mit Spannung versorgt 
wird, funktioniert alles einwandfrei. Erst wenn das USB Kabel abgeklemmt 
oder die Leitungen offen "herumbaumeln" kommt es zum geschilderten 
Fehler.

Evt. "strahlt" auch etwas in die offenen Leitungen weil ich einen 
Schaltregler auf der Leiterplatte einsetze...

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

Bewertung
0 lesenswert
nicht lesenswert
Bild

Autor: technikus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe jetzt die Pull Ups von RxD und TxD am Mikrocontroller 
aktiviert.
Funktioniert soweit.


ernst

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.