Hi, ich habe schon vor längerer Zeit ein IDE-Interface an einem Mikrocontroller realisiert, komplett mit FAT16 Dateisystem. Daran habe ich als Master eine HDD angeschlossen und als Slave eine CF-Karte (True IDE), und konnte so Daten zwischen den beiden Medien hin und herkopieren. Nun soll das Projekt erweitert werden, und ich brauche dafür unbedingt eine Hot-Plug Unterstützung, also die CF soll bei eingeschaltetem Gerät gezogen und gesteckt werden können. Da das im True IDE-Mode nicht geht, muss ich das CF-Interface auf Memory Mode umstellen. So nun habe ich mich durch diverse Seiten und Specs gewühlt, und bin nicht so recht schlau geworden, was ich nun als externe Glue-Logic für diesen Mode genau brauche. Wenn ich es richtig sehe, wird die CF folgendermaßen angesteuert: #CE1 = low, #CE2 = low => Word Zugriff #CE1 = low, #CE2 = high => Byte Zugriff #CE1 = high, #CE2 = high => CF inaktiv Stimmt das soweit? Ich habe nun ein CS-Signal vom Mikrocontroller, das ich zum Aktivieren der CF benutze (low-aktiv). Word-Zugriff brauche ich nur bei Zugriff aufs Datenregister, bei allen anderen Registern Byte-Zugriff. Beim Datenregister sind A2, A1 A0 = 0. Die Glue Logic habe ich mir nun folgendermaßen überlegt: #CS______________________________ #CE1 | |____ A0______ A1______ Oder-Gatter ________ #CE2 A2______ Also #CS, A0, A1, A2 als Eingang auf ein ODER, #CE2 als Ausgang. Als Frage hätte ich eigentlich nur: Kann mir vielleicht jemand bestätigen dass das so richtig ist? (da ich eine Platine ätzen lassen muss, und das möglichst auf Anhieb klappen soll :-)) Danke schonmal!
True IDE sollte auch mit Hot-Plug gehen. Du musst nur die Versorgungsspannung über die CD* Leitungen schalten.
hm das wäre mir jetzt neu... ich habe gelesen, dass true ide nur in systemen verwendet werden soll, wo die cf nicht im laufenden betrieb gesteckt oder gezogen werden muss. wie meinst du das genau mit spannung über die CD pins schalten? an den cd pins habe ich pullups vorgesehen, und die cf verbindet die pins beim einstecken mit gnd.
Die Pull-Ups brauchst du eigendlich nur wenn du das Signal Digital auswerten willst, da die ohne Medium offen sind. Im einfachsten Fall reicht es mit einer der Leitungen über einen Vorwiderstand einen PNP Transistor anzusteuern, der in Emiterschaltung die Betriebsspannung fürs CF liefert. Sauberer wäre es natürlich beide CD Leitungen auszuwerten. Wenn du die Signale zum Controller ziehst, dann kannst du auch von diesem die Spannung schalten. Es geht ja nur darum, daß das Medium saubere Mode Signale beim Initialisieren sieht, was sonst nicht der Fall ist, da die Powerleitungen längere Stifte haben. Da die CD Leitungen die kürzesten Stifte haben sind zu diesem Zeitpunkt bereits alle anderen Signale verbunden.
hi sorry hatte den thread hier irgendwie vergessen. also danke für die infos, aber ich denke ich werde trotzdem mal den memory mode ausprobieren. scheint mir einfach sinnvoller, da es in den specs als der ideale mode für embedded systeme mit hotplug-unterstützung beschrieben wird. deine lösung wird wohl auch funktionieren, ist mir aber irgendwie ein bisschen zu sehr getrickst :-)
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.