Logger-Modul macht nicht was es soll

Gast #6419837
Lesenswert?

Hallo zusammen,

bin auf Fehlerjagd. Hat wer Lust auf eine kleine Safari :)?

Mein Logger-Modul für Prototypen besteht aus einem Raspberry Pi Zero W, 
einer CP2108 USB-to-quad-UART Bridge und einem USB-Modem. Raspberry 
nimmt die Logs von den MCU-targets, speichert sie und schickt sie übers 
Internet zu mir.

Das Feature mit dem übers Internet schicken ist erst in der letzten 
Revision dazugekommen, und da der Raspi nur 1 usb (für Internetstick und 
CP2108) hat, hab ich mich wegen fehlendem Platz dafür entschieden, einen 
USB hub mit dem USB2422 raufzurouten.

Long story short: der Raspi erkennt den CP2108 nicht verlässlich. Nach 
vielem debuggen hatte ich folgende Erkenntnisse:

1) Der 2. Port des USB2422 wird immer ohne Probleme erkannt.

2) Die einize (aber dafür verlässlich und immer reproduzierbare) 
Möglichkeit, mit dem CP2108 nach dem Startup ohne weiter Maßnahmen zu 
kommunizieren ist, die Schaltung einzuschalten, kurz auszuschalten und 
dann wieder einzuschalten. Die Versorgungsspannung 5V des Pi und des 
CP2108 (aus der die 3V3 des USB2422 gemacht werden) kann aber sehr tief 
fallen (~20mV nach ~5s), und trotzdem funktionierts nach dem erneuten 
Einschalten.

3) Ein Hard-Reset (über Reset-Pin) des USB2422 behebt das Problem auch.

4) Ein Soft-Reset (über ioctl in Linux) des USB2422 behebt das Problem 
nicht.

5) Ein Hard-Reset (über Reset-Pin) des CP2108 behebt das Problem nicht. 
Der CP2108 verhält sich aber wie erwartet. Nach dem Startup zieht er das 
Potential von USBDP (USB Data Plus) auf +3V. Zieht man den Reset, geht 
auch das Potential wie erwartet auf GND. Nach dem auslassen des Resets 
geht das Potential wieder auf 3V.

6) Im Linux-Kernel (dmesg) finden sich keine Fehlermeldungen wenn der 
CP2108 nicht erkannt wird. Ich hab in diesem Fall noch nirgends ein Spur 
vom CP2108 im Linux (z.b. über lsusb) gefunden.

7) Ist der CP2108 erkannt und man zieht den Hard-Reset, finden sich sich 
die erwarteten Fehlermeldungen, dass das device nicht mehr da ist. Beim 
auslassen des Resets wird es wieder erkannt.

Schaltplan o.Ä. stelle ich gerne zur Verfügung.

Hinweise, die zum Jagderfolg führen, werden mit Bussl oder Bier von mir 
behlohnt :)
Gast #6421534
Lesenswert?

wheeler schrieb:
> Hinweise, die zum Jagderfolg führen, werden mit Bussl oder Bier von mir
> behlohnt :)

Zerteile das Problem solange bis die Lösung trivial ist.

Der CP2108 ist ja nicht ganz alltäglich - häng die Upstream D+/D- mal an 
einen PC und vergleiche das verhalten.

PS:
Ich nehm das Bier.
Gast #6473026
Lesenswert?

Danke für eure Antworten. Der Fehler war wo anders begraben: Habe etwas 
im Datenblatt übersehen. Dort steht, dass der USB2422 nach dem Power-Up 
resettiert werden MUSS, um richtig funktionieren. Nach der 
Implementierung eines resets gab es keine Probleme mehr.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren