Guten Morgen, ich möchte auf einer Platine eine Mini-USB-Buchse (USB 2.0 High speed) mit einem Mikrocontroller verbinden. In den Application Notes steht, daß beide Datenleitungen von USB (D+ und D-)auf der Platine genau gleich lang sein sollen und daß man beide Leitungen auf dem selben Layer ohne Durchkontaktierungen verlegen soll (wegen der Einhaltung Impedanz 90 Ohm). Jetzt habe ich folgendes Problem. Die Anschlüsse der Buchse und des uControllers liegen "über Kreuz", ich kann also nicht direkt verbinden. Jetzt gibt es die zwei Möglichkeiten: entweder ich führe eine Datenleitung um die andere herum, dann ist sie aber ca. 5mm länger als die andere Leitung. Oder ich mache eine Durchkontaktierung und gehe mit einer Leitung unter der anderen durch. Welche Lösung ist besser? Gruß, Martin.
Ich würde keine Durchkontaktierung nehmen. Eine um 5mm längere Leiterbahn stellt i. d. R. kein Problem da, ansonsten kannst du die kürzere Leiterbahn kurz vor der Buchse z. B. mit einer "Schleife" künstlich verlängern. Darf man fragen, um welchen Microcontroller es sich handelt?
Hallo Thorsten, es handelt sich um den Cypress Cy7C68013. Da es eine echte High-Speed (480MBit/s) Verbindung ist, ist der Anschluß sehr kritisch. Bei einer Platine hatte ich die Leiterbahnbreite von D+ und D- falsch berechnet, was zu einer differentiellen Impedanz von ca. 110Ohm geführt hat. Das führte schon zu zahlreichen CRC-Fehlern. Gruß, Martin.
Oh interessant. Ich hatte mal was mit dem CY7C68300 (USB-ATA-Bridge) gemacht, bei mir war eine Leiterbahn auch etwas länger. Ich hatte den Eindruck, daß alles problemlos funktioniert. Wie bekommt man eigentlich Infos über die aufgetretenen CRC-Fehler?
Kann man die CRC Fehler irgendwie auch bei normalen USB Geräten erkennen ? Ich habe mir die USB Anschlüsse im PC in die Frontblenden eingebaut. Dazu habe ich die Anschlüsse auf dem Mainboard einfach mit normalem Flachbandkabel mit den USB Buchsen in den Frontblenden verbunden. Ich hatte eigentlich noch nie Probleme damit. Drucker, Memorystick, Digitalkmamera usw. funktionieren alle problemlos.
Hallo, der CY7C68013 hat einen Zähler für die Anzahl der auftretenden USB-Fehler (USBERRIRQ-Register). Ich habe den uController so programmiert, daß er das Register ausliest und an den PC sendet. So kann ich über die Windows-Software die Anzahl der Fehler und damit die Qualität der USB-Verbindung ablesen. Bei normalen USB-Geräten kann man die CRC-Fehler vermutlich nur dann erkennen, wenn der Entwickler des Geräts dafür eine Testsoftware geschrieben hat und veröffentlicht. Ob es in Windows eine geräteunabhängige Testmöglichkeit gibt, kann ich nicht sagen. Gruß, Kerner.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.