mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik probleme mit Mega32-opto-fdti-Pc @ 912.6kbaud


Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich hab ein Problem

Meine Hardware sieht wie folgt aus

Mega32 sendet daten via UART and Opto-Link Modul TOTX173.
Dann kommen 5 m plastikfaser.
Signal wird von TORX173 aufgesammelt und an einen FTDI232BM chip 
geleited.
Das ganze wird dann an den PC übertragen

Datenrate is 921,6 kbaud bei einer MEGA32 freuqenz von 14,7456 MHz.

Problem ist das folgende:

Ich sende ca 2,686 MB daten

%codeschnipsel

%bisschen code davor

itoa(daten, mystring);  %string ist ein oben def array
putchar(mystring[0]);
putchar(mystring[1]);
putchar(mystring[2]);
putchar(mystring[3]);
putchar(' ');
% ende codeschniplsel

Das ganze 100 x 500 mal (2 for loops).

WEnn ich das mache bekomme ich ca 300 kb datenverlust.

benutzte ich aber

%codeschnipsel

itoa(daten, mystring);  %string ist ein oben def array
putchar(mystring[0]);
delay_us(20);
putchar(mystring[1]);
delay_us(20);
putchar(mystring[2]);
delay_us(20);
putchar(mystring[3]);
delay_us(20);
putchar(' ');

%ende codeschnipsel

funktioniert es dauert aber dementsprechend länger - Zeit die ich 
eignetlich nicht habe.

Manchmal funktioniert es fehlerfrei manchmal nicht - ich weiss 
allerdings nicht mit was ich das beeinflussen kann.

Irgenwer irgendwelche Vorschläge?

Tobi

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag

die Masseleitung am TEST pin des FTDI chips ist recht lang - mögliche 
Fehlerquelle?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fakt ist, daß Du keine längeren Gleichspannungsanteile über die 
TOTX/TORX Bauteile senden darfst. Wenn Du also eine 0 oder 255 sendest, 
kann der Modulator / Demodulator eventuell nicht mehr richtig arbeiten. 
Deshalb verwendet man bei der digitalen Audioübertragung (wofür die 
Dinger eigentlich bestimmt sind) ein bi-phasencodiertes Signal (SPDIF). 
Manchester-Codierung wäre da auch ein Kandidat.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es evtl zum Pufferüberlauf im FTDI kommen?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann der PC eventuell die Daten nicht schnell genug abholen? Bei knapp 
1MBit/s über UART kann das schon knapp werden, wenn rechenintensive 
Programme nebenher laufen oder Netzwerktreiber aktiv sind. Ohne 
Handshaking ist das auf Dauer zu unsicher. Probiere doch vorerst mal mit 
niedrigeren Baudraten, ob die Fehlerquote dann sinkt.

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es wäre sicher auch von Interesse, auf welchem Teil der Strecke (optisch 
oder USB) die Daten verschütt gehen.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1Mbit dürfte wohl noch ohne Probleme funktionieren
(also TOTX173 / TORX173)

Wie sieht die Ansteuerung genau aus ? (Schaltplan)
Sind noch Treiber vorgeschaltet ?

Als 2. würde ich auch auf die PC Seite tippen, das die
ankommenden Daten nicht schnell genug verarbeitet werden.
Was wird da auf der PC Seite benutzt ?

Gruß Sven

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI

also der Fehler passiert auch wenn ich auf 115kbaud runtergehe 
allerdings dann nicht so ausgeprägt.

Das mit ankommenden seite am PC hatte ich auch im verdacht - weiss aber 
nocht genau wie ich es brüfen soll.

Ich hab immer noch die vermutung das die PLL vom FTDI Chip ab und wann 
spinnt weil die masseleitung recht lang ist (ca 30 mm)

Tobi

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@travel rec

"Fakt ist, daß Du keine längeren Gleichspannungsanteile über die
TOTX/TORX Bauteile senden darfst"

wo hast du das her? Im datenblatt seh ich nur bei NRZ ueber 3 MBaud 
beschraenkngen - bin aber gerne gewillt mich belehren zu lassen.

Tobi

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

Bewertung
0 lesenswert
nicht lesenswert
@travel rec

> "Fakt ist, daß Du keine längeren Gleichspannungsanteile über die
> TOTX/TORX Bauteile senden darfst"

Die "alten" 5V Typen ( z.B. Serie 173 ) können noch statische Zustände 
darstellen ( DC für Stop Zustand der RS-232 ). Die neuen 3,3V Typen 
können es ALLE nicht mehr. Statische Zustände werden auf der 
Empfängerseite durch den TOTX nicht ausgegeben. Im Datenblatt des 
Nachbaus vom Sharp ist dies im Text explitit erwähnt und mit einen 
Blockschaltbild untermauert ( siehe Anhang ). Im Orig. von Toshiba nur 
an der min. Übertragungsrate zu erkennen.

MfG

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.