Forum: Mikrocontroller und Digitale Elektronik Zu langes Kabel schuld an Fehlern?


von Oliver D. (smasher)


Lesenswert?

Hallo nochmal...
Ich habe ja seit gestern nurnoch Probleme mit dem schreiben der Daten 
auf meinen at89S52. Als Übergabe chip nutze ich einen IO Warrior von 
codemercs (24PVp).

Mein 2 M Langes USB 2.0 Kabel erzeugte immer abbrüche beim 
schreiben...Das fiel mir erst gerade auf, als ich durch zufalle laß, das 
die parasitäre Kapazität der langen Leitung einfluss auf die Taktflanken 
haben kann.

Gibt es irgendwo im Internet genaue Infos dazu? Und ne gute Erklärung?
Ich würde nämlich gerne ne Doku website zu unserem Schulprojekt 
gestalten mit tipps und tricks. Sowas sollte dann eindeutig dazugehören, 
da die meisten bei uns ihr druckerkabel verwenden wollte, was dann ja 
auch min. 1m lang ist...

dankeschön :)

von Uhu U. (uhu)


Lesenswert?

Ein passives USB-Kabel darf maximal 5 m lang sein - daran sollte es also 
nicht liegen.

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

Was hast du für ein Mainboard oder was für ein Laptop?

Hast du es mal mit einem anderen Kabel probiert ?
Ich habe hier ein 5m Kabel, ungeschirmt mit dünnen Litzen und ich 
füttere damit meinen Drucker über USB 1.1 und hatte noch keine Fehler im 
Ausdruck.

Kann es sein dass bei deinem Kabel eine Leitung gebrochen ist ?

von Oliver D. (smasher)


Lesenswert?

Also das Kabel ist 2,5m lang und USB 2.0

Mein Drucker druckt damit einwandfrei.
Wenn ich das Kabel fürn Chip nehme klappts nicht.
Mit meinem 20cm Kabel USB 1.1 schon. Bei zwei PCs das selbe.

von Uhu U. (uhu)


Lesenswert?

Was ist denn der Unterschied zwischen einem USB 1.1 und einem USB 2.0 
Kabel?

von schlonz (Gast)


Lesenswert?

Wie hast Du die Schirmung auf Geräteseite verbunden?

von Oliver D. (smasher)


Lesenswert?

Auf Geräte Seite sind nur die 4 Pole verbunden. Also Masse, die 
Betriebsspannung sowie d+undd- .

Das wars.

von Stefan Salewski (Gast)


Lesenswert?

>Mein Drucker druckt damit einwandfrei.
>Wenn ich das Kabel fürn Chip nehme klappts nicht.
>Mit meinem 20cm Kabel USB 1.1 schon. Bei zwei PCs das selbe.

Ich habe übrigens ein ähnliches Problem.
Meine Platine mit einem AT90USB 
(http://www.ssalewski.de/AT90USB_board.html.de) funktioniert mit 2 m 
langen Kabeln problemlos, aber mit einem 5 m langen Kabel (Billigkabel, 
steht aber USB High-Speed drauf) so gut wie nicht (massive 
Übertragungsfehler). Ich habe das Problem aber noch nicht näher 
untersucht. (Ja, ich habe das Gehäuse der USB-Buchse mit der Masse der 
Platine verbunden, das soll man wohl nach USB-Spezifikation nicht tun.)

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

Stefan Salewski wrote:
> Platine verbunden, das soll man wohl nach USB-Spezifikation nicht tun.

Weshalb soll man das nicht tun ?
Es ist doch besser wenn ein gewisser Schutz da ist.
Ich habe hier ein 5m USB-Kabel und bei dem ist die Schirmung von beiden 
Steckern miteinander verbunden und die Schirmung in der Buchse des 
Mainboards ist mit GND verbunden.

von Stefan Salewski (Gast)


Lesenswert?

>Weshalb soll man das nicht tun ?

Ich habe da noch nicht genau drüber nachgedacht, es gibt aber ein PDF

rfdesign.com/next_generation_wireless/Article_2_Final.pdf

das auf die USB Spezifikation verweist und da steht sinngemäß drin, dass 
man das Gehäuse der USB-Buchse beim Device nicht mit der Gerätemasse 
verbinden soll -- es wird aber vorgeschlagen einen 0-Ohm Widerstand 
vorzusehen. (Masseschleifen könnten ein Problem sein, wenn es noch 
andere Masseverbindungen gibt.) Ich habe übrigens bei einer meiner 
Platinen mal die Masseverbindung zum Gehäuse der USB-Buchse weggefräst, 
dass ändert aber nichts an dem Problem mit dem 5-m Kabel. Eventuell ist 
eine bessere Filterung der Versorgungsspannung notwendig?

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

Also ich versuche die Versorgungsspannung immer so gut es geht zu 
glätten und zu filter. Im unprofessionellen Bereich kommt es ja nicht so 
auf die Kosten an, ob ich jetzt noch eine kleine Spule hineinbaue, noch 
100nF oder einen bisschen größeren Elko ist für mich nicht entscheidend 
und hilft so manchen Fehler zu vermeiden.

Dein "at89S52" mit wie vielen µF und nF ist er denn ausgestattet ?
Son paar Abblock-Kondensatoren können manchmal Wunder bewirken.

Siehe hier:
http://www.ullihome.de/index.php/USBAVR-ISP-Help/de#Probleme

von Stefan Salewski (Gast)


Lesenswert?

>Son paar Abblock-Kondensatoren können manchmal Wunder bewirken.

Stimmt. Ich habe jetzt mal einfach auf die Steckerleiste meiner Platine 
zwischen VBUS und GND einen 1uF Keramikkondensator aufgesteckt. Damit 
gibt es auch mit dem 5-Meter Kabel keine Übertragungsfehler mehr. Zieh 
ich ihn ab sind sofort wieder Fehler da.

Meine Platine hatte ja durchaus einige 100nF Abblockkondensatoren, aber 
für ein Bus-powered Device mit einem 5-m Kabel ist das wohl doch nicht 
ausreichend. Übrigens: Man darf es mit den Kondensatoren natürlich nicht 
übertreiben, sonst wird der Strom beim Einstecken (inrush current) zu 
groß.

Ich hätte eigentlich nicht gedacht das Fullspeed USB schon so kritisch 
ist.

Gruß

Stefan Salewski

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

> Übrigens: Man darf es mit den Kondensatoren natürlich nicht übertreiben,
> sonst wird der Strom beim Einstecken (inrush current) zu groß.

Ja, das weiß ich auch. Mann kann dann ja noch mit einer Spule den Strom 
etwas begrenzen. Wenn Platz da sein sollte pack ich immer zu dem 
SMD-Vielschicht-Kondensator einen Elko.

Was mich betrifft hast du natürlich recht, ich neige dazu es mit den 
Kondensatoren zu übertreiben.

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.