Forum: Mikrocontroller und Digitale Elektronik IDE Festplatte mit AVR und USB Bridge


von ape (Gast)


Lesenswert?

Hallo,
ich steuere mit einem AVR eine Festplatte an (netürlich ein Festplatten
MP3-Player, was sonst ;). Allerdings ist es doch recht mühsam die
Festplatte jedesmal auszubauen und an den PC zu hängen um neue Lieder
aufzuspielen, daher wäre eine USB-Schnittstelle toll über die die
Festplatte direkt als Massenspeicher erkannt wird. Lösungen ala
IgorPlug oder auch die Verwendung eines FTDI-Chips fallen flach, da die
Datenübertragung damit viel zu langsam ist.
Nun gibts ja aber mittlerweile sehr günstige USB-Festplattengehäuse,
die man ja eigentlich verwenden kann. Das Problem dabei ist aber, dass
die meisten USB-IDE Bridge Controller, die in diesesn Dingern verbaut
werden, keine Möglichkeit bieten die ATA-Schnittstelle zu deaktivieren,
aber der AVR soll ja auch noch mit der Platte kommunizieren können.
Wie sähe hier die einfachste Multiplex-Lösung aus? Es sind immerhin 16
Datenleitungen + ca. 7 Steuerleitungen.
Wäre es möglich zwischen AVR und USB-Controller einfach Widerstände in
Serie zu schalten? Wenn der AVR mit der Platte kommuniziert wird ein
direktes gegeneinander treiben der Ausgänge durch die Widerstände
verhindert. Wenn ein USB-Kabel eingesteckt wird (Die Controller bieten
meist einen Pin, der das signalisiert und seis nur eine LED, die an
geht) konfiguriert der AVR seine Ports als Eingänge und der USB-
Controller kann mit der Platte "reden". Die Widerstände dürften
natürlich auf Grund der recht hohen Frequenzen nicht zu groß sein.
Denke 220 Ohm, sollten gehen.

Das ist jedenfalls die einfachste Variante die mir einfällt, kann das
funktionieren?

von Dirk (Gast)


Lesenswert?

In meinen Gehäusen ist der Cypress CY7C68300 drin. Bei dem dem kann man
das ATA-Interface hochohmig schalten, so dass der Controller darauf
zugreifen kann. Funktioniert wunderbar.

von Rufus T. Firefly (Gast)


Lesenswert?

Den von Dirk erwähnten Chip kann man übrigens bei Segor kaufen, man muss
also nicht irgendwelche USB-Festplattengehäuse fleddern ...

von ape (Gast)


Lesenswert?

Ah der Chip sieht ja doch recht interresant aus. Das es von Cypress
weclhe gibt wo sich die ATA-Schnittstelle hochohmig schalten lässt war
mir bekannt, allerdings kannte ich nur den ISD300 im 100 Pin-Gehäuse
das wollte ich mir ersparen :)
Allerdings gibts für den Preis auch bei ebay komplette Gehäuse samt
Frachtkosten.
Hab mir da gestern noch eins für 9€ + 3,90 Versand geshopped mal sehen
was da für ein Controller drin ist.

von Thorsten (Gast)


Lesenswert?

Kannst uns ja mal informieren, wenn du den Controller identifiziert
hast. Würde mich jedenfalls auch sehr interessieren.

von Netbandit (Gast)


Lesenswert?

ja der CY7C68300 ist wirklich super, habe ich schon mit ihm
gearbeitet...
Ein TIP: Plane in das design einen Jumper ein, womit du die SCL Leitung
am I2C Bus des EEPROMs unterbrechen kannst.
Wenn du den EEPROM einmal mit AT Blaster programmiert hast, kann du es
nicht rückgänig machen es sei denn du verwendest folgen Trick:

Due schaltest das Gerät aus, steckt das USB Kabel raus und unterbrichst
mittels des Jumpers die SCL Leitung direkt am EEPROM. Dann schaltest du
das Gerät wieder ein. Warte etwas und schließe dann den Kontakt zum
EEPROM wieder und dann stecke das USB kabel rein, so kannst du den
EEPROM nochmal programmieren (falls du beim ersten mal was falsch
gemacht hast)

von Alex (Gast)


Lesenswert?

Hallo Leute,

ich interessiere mich für den Cypress CY7C68300A. Hab durch die
Forumsbeiträge auch herausgefunden, dass es diesen auch bei
www.segor.de gibt. Die IDE-Pins lassen sich hochohmig schalten, das ist
super, so kann man auch noch weiterhin mit einem Mikrocontroller auf die
IDE-Schnittstelle zugreifen.

Die Pinbelegung ist im Datenblatt ist recht schön beschrieben.
Sicherlich hat jemand den Chip schon mal eingesetzt und beschaltet.
Wäre echt super, wenn jemand eine funktionsfähige Beispielbeschaltung
reinstellen oder mir mailen könnte um zu Vergleichen.

In der Funktionsübersicht zu dem Chip steht, das die Firmware schon
implementiert ist. Daher verstehe ich nicht ganz wieso man noch ein
EPROM anschließen kann. Ist das optional? Brauch man das, wenn ich
diesen Chip als Standard USB2.0-IDE-Bridge verwenden möchte?

von Jörn G. aus H. (Gast)


Lesenswert?

Bei reichelt gibt es schon lange ein USB2.0 Gehäuse Alu für 2,5" HD für
6,95 EUR. Da ist (wie meistens) ein G811 (GE811?) drin.

jörn

von Jörn G. aus H. (Gast)


Lesenswert?

Die EEPROMS sind immer optional für Firmennamen, Gerätenamen und andere
Benutzerspezifische Daten auf die man im Notfall aber auch verzichten
kann - ist dann eben eine Standardbridge ohne Namen.
jörn

von René K. (king)


Lesenswert?

Massenspeicher ohne eindeutige Seriennumer, die mindestens 12 stellig
sein sollte, funktioniert nicht. Deswegen ist ein EEPROM in diesem
Fall nicht optional.

von Netbandit (Gast)


Lesenswert?

Genau der EEPROM ist pflicht! Ich habe mit dem Teil schon ein USB
Massenspeicherinterface aufgebaut.
Ganz wichtig: Wenn der EEPROM einmal rpogrammiert wurde, gibt es
(woweit ich es damals erkannt habe) keine Möglichkeit das Teil wieder
in den Programmiermodus zu versetzen. Daher würde ich dir empfehlen
direkt am EEPROM an der SDA oder SCL Leitung ein Jumper reinzusetzen.

Wenn du den EEPROM falsch programmiert hast kannst du den Jumper ziehen
und schon erkennt der CY7 beim einschalten den EEPROM nicht mehr
richtig. Dann setzt du den Jumper im Betrieb wieder rein und kannst den
EEPROM über das Programmiertool erneut programmieren.

Es hat sich bei mir als günstig erwiesen die vorgegebenen Werte aus dem
Datenblatt zu verwenden, später kann man ja immernoch davon abweichen.

Auf dieser Homepage ist ein MP3 Player mit dem Teil aufgebaut, leider
sind meine Schaltungsunterlagen nicht mehr ganz aktuell, daher gebe ich
sie lieber nicht raus.

http://www.frankvh.com/mp3player/schematics.htm

Viel Spaß :)

von Alex (Gast)


Lesenswert?

Danke für die schnelle Unterstützung!

Der Link von Netbandit ist echt Hammergeil. Damit komme ich bestimmt
weiter.

Das EEPROM lässt sich dann über die USB-Schnittstelle und
entsprechender Software, erhältlich bei Cypress.com, programmieren.
Sehe ich das richtig?

Der Tipp mit den Jumpern in den SDA SCL Leitungen scheint echt goldwert
zu sein!

von Netbandit (Gast)


Lesenswert?

Genau sobald das Teil läuft und der EEPROM leer ist schaltet er in den
Test Mode oder Programmiermode. Dann kannst du mit der Software von
deren Homepage das Teil programmieren.

Ich hatte damals zuerst nicht die Daten aus dem Datenblatt programmiert
sondern versucht mir die Funktionen der Einstellungen selbst zu
erdenken. Das führte das aber dazu, daß irgendetwas nicht richtig war
und das Teil nicht so tat wie ich wollte. Aber ich habe keine
Möglichkeit gesehen ihn wieder in den Test/Programmier Modus zu
versetzen um den EEPROM nochmal zu programmieren.
Da ich dann aber schon eine fertige Platine hatte ohne Jumper habe ich
ich Beinchen vom EEPROM (smd) abgelötet und im Betrieb wieder
raufgelötet um ihn erneut programmieren zu können. Mit Jumpern hätte
ich mir diese Arbeit erspart :)

Aber man lernt halt dazu...

von Netbandit (Gast)


Lesenswert?

Hehe ich sehe gerade: Das mit den Jumper hatte ich damals schonmal
geschrieben schäm Hab mir halt nicht den ganzen Thread nochmal
durchgelesen :)

von Alex (Gast)


Lesenswert?

Hallo Leute und Netbandit,

ich bins mal wieder!

Hat jemand noch die Programmiersoftware von Cypress für das EEPROM am
CY7C68300A aufm Rechner. Ich weiß nicht ob diese für den CY7C68300A auf
www.cypress.com noch erhältlich ist, zumal die Seite momentan auch down
ist.

Falls die Software nicht zu groß ist und sie jemand noch auf der Platte
hat, wäre es toll, wenn ihr sie mir mailen könnt.

Danke im voraus.

Alex

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
Noch kein Account? Hier anmelden.