Vor einiger Zeit habe ich mir einen USB-IDE Adapter auf eBay gekauft -
Ihr wißt schon, diese für 3 Euro, auf der einen Seite eine 40-polige
Buchse für 3,5" Platten und auf der anderen Seite eine 44-polige für
2,5" Platten. Für 3,5" Platten wird ein Netzteil mitgeliefert.
Ich habe über das Ding meine alte 80GB Platte an mein Notebook
angeschlossen. Wird gleich erkannt, schön schnell, 20MB/s, alles
bestens. Dachte ich.
Nun, als ich ein paar größere Dateien kopiere fällt mir auf, daß die
Prüfsummen nicht stimmen. Zum Glück habe ich dem Ding nicht gleich
getraut sondern über alle Dateien vorsorglich md5sum drüberlaufen
lassen. Keine Fehlermeldung beim Kopieren! Das gleiche sowohl unter
Windows XP als auch unter Linux. Aber der Fehler tritt eher selten auf.
Vorzugsweise bei Dateien >500MB.
Also erstmal das Netzteil überprüft. Sieht schon verdammt billig aus.
Die Spannungen sind ein bißchen daneben, aber innerhalb der Toleranz. Im
Betrieb 200mV Ripple auf der 5V Leitung und 400mV auf der 12V Leitung.
Nicht toll aber eine Platte kann das ab.
Danach hab ich mir den Adapter angeschaut. Chipsatz ist ein Genesys
GL811E. Eine Google-Suche ergibt, daß für diesen Chipsatz keine
allgemeinen Probleme bekannt sind. Also mal die Spannungen auf dem Board
gemessen. 5V vom USB, 3,3V vom Spannungsregler. Scheint alles OK zu
sein. Allerdings war das USB-Kabel vom Board bis zur Durchführung sehr
lang. Auf 5mm gekürzt, neu drangelötet, immer noch Fehler.
Also wieder das Oszi ausgepackt. Erstmal die 5V überprüfen und ...
hallo, was ist denn das? Sinusartige Schwingungen mit 1Vpp auf der 5V
Leitung. Gleich noch den Ausgang des Spannungsreglers überprüfen und ...
ein Bilderbuch-Sägezahn mit 500mV und ca. 70kHz auf der 3,3V Leitung.
Damit war der Fall klar. Also ein paar Tantal-Elkos zusätzlich an
Eingang und Ausgang des 3,3V-Reglers gehängt. Dies brachte aber kaum
Verbesserung. Datenblatt für den Spannungsregler existiert keines.
Hersteller ist laut Aufdruck Unisem - die stellen aber selbst keine ICs
her sondern verpacken nur. Also habe ich mir mal das Datenblatt eines
ähnlichen Reglers durchgelesen, des LP2950 von National. Dort findet
sich dieses interessante Zitat:
"Ceramic capacitors whose value is greater than 1000pF
should not be connected directly from the LP2951 output to
ground. Ceramic capacitors typically have ESR values in the
range of 5 to 10mΩ, a value below the lower limit for stable
operation (see curve Output Capacitor ESR Range).
The reason for the lower ESR limit is that the loop compensation
of the part relies on the ESR of the output capacitor to
provide the zero that gives added phase lead. The ESR of
ceramic capacitors is so low that this phase lead does not
occur, significantly reducing phase margin. A ceramic output
capacitor can be used if a series resistance is added (recommended
value of resistance about 0.1Ω to 2Ω)."
Auf der Platine waren sowohl am Eingang als auch am Ausgang des 3,3V
Reglers je ein Keramikkondensator mit ca. 470nF-1uF (anhand der Größe
geschätzt). Also habe ich den Kerko am Ausgang durch einen 4,7uF
Tantalkondensator ersetzt, und siehe da, jetzt macht der Regler eine
perfekte Gleichspannung. Der Adapter funktioniert jetzt einwandfrei ...