Servus, hab ein Problem mit einem P-ATA Interface: Wenn auf der Platte 0x0000, 0xFFFF, 0xFFFF steht und ich das lesen will, wird ein 0xFFFF verschluckt. In der ATA-Spezifikation wird beschrieben, dass aufgrund von Reflexionen auf der Read-Leitung einzelne Worte verschluckt werden können. Die Platte denkt es gäbe zwei reads, der Host liest aber nur einmal. Die Specs empfehlen dann Serienwiderstände beim Host. Die haben bei mir aber nichts gebracht. Bei mir ist halt auffällig, dass es nur beim Wechsel von 0x0000 nach 0xFFFF passiert, also wenn alle alle Leitungen schalten. Ungefähr bei jedem dritten solchen Wechsel wird ein Wort verschluckt. Klingt für mich irgendwie mehr nach übersprechen als nach Reflexionen. Andererseits stört ein Wechsel von 0x2020 nach 0xFFFF garnicht. Hab das durch Zufall bemerkt. Jedenfalls hatte ich bei über 100000 solchen Wechseln keinen einzigen Fehler, obwohl bei 0x2020 auch nur 2 Leitungen high sind. Aber jetzt hab ich irgendwie keine Idee mehr, was das noch sein soll... Hab ich vielleicht nur eine extrem Zickige Platte erwischt? Hab leider keine andere mit der ich testen könnte. Würde mich sehr freuen, wenn ihr eine Idee habt. Sebastian
Sollte evtl. zwischen Busleitungen was faul sein ? Achte auch auf Knicke. Wenn Du der Reihe nach alle Teile tauschen würdest, sollte der Fehler schneller zu finden sein. Wenn es jedoch wirklich nur bei 0000 zu FFFF auffällt, würde ich auch mal nach der Masse + Spannung etwas genauer sehen.
Hmmm, alle Teile Tauschen wäre ein gutes Stück Lötarbeit... Zugegeben, ideal ists nicht, wies im Moment ist. Vom Controller über Kupferlack auf einen Stecker und von dort wird nochmal gut gemischt zur Festplatte hin. Ist historisch bedingt. Aber die Leitung ist gesamt gerade mal 10 cm lang. Extreme Knicke gibts eigentlich auch nicht. Masse ist aber leider auch nicht unbedingt vorbildlich... Hab jetzt mal die beiden Leitungen die bei 0x2020 high sind überarbeitet. Hat aber nichts geholfen. Ich denke ich werde das ganze jetzt wohl doch komplett neu aufbauen. Dankeschön schonmal. Sebastian
Hab grad noch festgestellt, dass wenn ich am Stecker bei Festplatte auf die Read-leitung mim Multimeter hingehe, dann funktioniert das lesen ein ganzes Stück zuverlässiger. Zwar nicht hundertprozentig, aber doch ein bischen. Kannst du dir daraus was zusammenreimen? Sebastian
Wo hast du die Widerstände dran? Direkt am Ausgang der RD, WR Leitungen oder am Eingang der HDD? Ich hatte ein ähnliches Problem mit einem dsPIC der eine HDD angesteuert hat. Auf den RD, WR Leitungen konnte ich deutlich ein "Prellen" der Impulse sehen, was zu einem mehrfachen Lese/Schreibimpuls geführt hat. Mit 50-100 Ohm direkt an den Ausgängen läuft es seitdem problemlos.
Naja, sagen wir mal ziemlich nah am Host. Es waren etwa 5cm vom Host zum Widerstand. Damals hatte ich noch ein normales ATA-Kabel mit drin. Jetzt geh ich ohne langes Kabel auf die Platte. Dabei sind auch die Widerstände rausgeflogen. Werde mal probieren, direkt am Host (ist übrigens ein AtMega) Serienwiderstände auf RD und WR einzufügen. Sebastian
Hilft leider auch nicht. Hab jetzt 82Ohm in Reihe direkt am Host in die RD und WR leitungen gehängt. Aber zuverlässig laufen tut's immernoch nicht. Ich denke, ich komme nicht drum rum, das ganze ding nochmal sauber neu aufzubauen. Aber Danke für die Hilfe. Sebastian
PATA ist für eine Kabellänge designt. Die Echounterdrückung arbeitet da am besten. Schau in der Spec nach wie viel das ist.
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.