Forum: Mikrocontroller und Digitale Elektronik NOR Flash über USB beschreiben?


von Florian R. (Gast)


Lesenswert?

Hallo,

ich würde gerne folgenden NOR-Speicher irgendwie direkt per USB 
beschreiben:
http://de.farnell.com/4411470/ics-quarze/product.us0?sku=amd-advanced-micro-devices-am29f032b-90ec

Ich habe noch keine Ahnung ob das wiklich möglich ist, aber mir 
vorgestellt diesen Speicher beispielsweise über einen fertigen STI 
Bausatz anzusprechen. 
(http://www.elv.de/USB-Stick-Interface-STI-100,-Komplettbausatz/x.aspx/cid_74/detail_10/detail2_20659)

Die Daten sollten nur wie auf ein EPROM geschrieben werden, also ohne 
Dateisystem. Ziel ist es keinen Flash Prgrammer zu benutzen.

Die große Preisfrage ist nun für mich, ob das so überhaupt möglich ist?
Kann ein Controllerchip, wie auf dem STI 100, überhaupt NOR-Speicher 
ansprechen? Auch ohne Dateisystem? Gibt es welche die das können?

von (prx) A. K. (prx)


Lesenswert?

Ich nehme an, du willst den Speicher vom PC aus via USB beschreiben. 
Dann ist das o.A. SPI/Async-USB Interface ungeeignet, denn das dient 
dazu, USB-Sticks von einem Microcontroller aus anzusprechen.

Besser geeignet: einer der http://elmicro.com/de/iowarrior.html mit 
genug Pins für das verwendete Flash-ROM, also wohl der 56er. Schnell 
wird das damit allerdings nicht, mehr als bestenfalls ein paarhundert 
Bytes pro Sekunde sind da nicht drin. Wenn's schneller sein muss, dann 
muss ein Controller zwischengeschaltet werden.

von Florian (Gast)


Lesenswert?

Danke für die Antwort.

Genau, ich würde den Speicher gerne vom PC via USB beschreiben lassen.

Das STI Interface war natürlich Quatsch, keine Ahnung wie ich auf das 
kam.

Der IO Warrior hört sich mit Sicherheit interessant an. Doch wenn der 
wirklich so langsam ist, denke ich, ist er nicht praktikabel. Auch ist 
der für mein Vorhaben etwas zu groß.

Gibt es denn zufällig Controller die direkt USB auf Flash Speicher 
umsetzten?
Denke das wäre dann ne recht einfache Lösung für mich.
Ich dachte da zB an einen Kontrollerchip von Cypress welcher dann mit 
I²C auf den Flashspeicher zugreift.

von holger (Gast)


Lesenswert?

>Ich dachte da zB an einen Kontrollerchip von Cypress welcher dann mit
>I²C auf den Flashspeicher zugreift.

Das was du dir da ausgesucht hast lässt sich aber nicht
über I²C programmieren. Der braucht ne Menge Daten-
und Adressleitungen um den anzuprechen.

von (prx) A. K. (prx)


Lesenswert?

Das geht mit jedem Microcontroller der entweder selbst USB hat oder eine 
serielle Schnittstelle die entweder direkt oder per USB/Serial-Chip 
angebunden ist. Pins hat er entweder selber schon genug oder kriegt sie 
per Porterweiterung verpasst. Soll heissen es geht mit mindestens der 
Hälfte aller µC auf dem Markt. Du hast also freie Auswahl.

Wie willst du eigentlich an den Flash-Chip rankommen? Immerhin sind 
TSOPs nicht für günstige Fassungen bekannt.

von holger (Gast)


Lesenswert?

@ prx

>Wie willst du eigentlich an den Flash-Chip rankommen? Immerhin sind
>TSOPs nicht für günstige Fassungen bekannt.

Der hat einfach keine Ahnung was für einen Chip
er sich da ausgesucht hat. Lies seine Postings.

von Florian (Gast)


Lesenswert?

> Wie willst du eigentlich an den Flash-Chip rankommen? Immerhin sind
> TSOPs nicht für günstige Fassungen bekannt.

http://de.farnell.com/jsp/search/productdetail.jsp?sku=1099680

Find ich jetzt nicht so teuer. Ausserdem hab ich schon einen hier, 
dieser lässt sich auch problemlos per Programmer beschreiben, aber das 
ist ja nicht mein Ziel.

> Der hat einfach keine Ahnung was für einen Chip
> er sich da ausgesucht hat. Lies seine Postings.

Was für einen chip ich mir da ausgesucht habe weiss ich sehr wohl. Denn 
genau diser muss verbaut werden, der USB Anschluss soll nur zusätzlich 
sein. Das ich wenig Ahnung von diesem Thema habe ist wohl 
offensichtlich, aber darum frag ich ja hier.

von (prx) A. K. (prx)


Lesenswert?

Florian wrote:

> Find ich jetzt nicht so teuer.

Ok, ich habe mich unklar ausgedrückt. Also noch ein Versuch:

Wie willst du diesen zu bauenden Flash-ROM-Programmer mit dem 
Speicherchip verbinden? Bei traditionellen DIP-ROMs ist das trivial weil 
es IC-Fassungen für DIP-Gehäuse an jeder Strassenecke gibt. Bei TSOPs 
nicht.

> Was für einen chip ich mir da ausgesucht habe weiss ich sehr wohl. Denn
> genau diser muss verbaut werden, der USB Anschluss soll nur zusätzlich
> sein.

Das klingt jetzt allerdings ein bischen danach, als ob der Speicher fest 
mit dem Microcontroller verlötet werden soll und der oben erwähnte PC 
rückt in weite Ferne.

Also ich bin jetzt verwirrt, Bitte erklär mal genauer was das werden 
soll, denn blind weiterraten hat so keinen Sinn.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Gibt es denn zufällig Controller die direkt USB
> auf Flash Speicher umsetzten?
Ja: kauf dir einen USB-Stick, wo das Flash verbaut ist.
Dann hast du kein Problem mit Treibern usw. usf.

Aber ich denke, du wirst sowas nicht finden, da die USB-Controller (z.B. 
von SSS oder Hyperstone) alle auf NAND-Flash und File-System-Handling 
ausgelegt sind.

Im Ganzen gesehen bin ich mir nicht sicher, ob du dir sicher bist, dass 
du weisst, was du willst. Oder zumindest hast du es noch nicht richtig 
gesagt. Ich würde raten:
Du willst einfach keinen "teuren" Programmer für das Flash kaufen?

von Christian R. (supachris)


Lesenswert?

Die fertigen Flash-Controller speichern übrigens noch ihre Firmware in 
den unteren Sektoren des Flashes, und maskieren das dann. Wir setzen 
hier die Hyperstone Controller ein, die machen das so. Der Controller 
bootet vom FLASH und meldet sich erst dann als Laufwerk.

Wenn du einen reinen Programmer haben willst, musst du das selber bauen, 
also µC mit USB und genügend IO-Leitungen und Programm schreiben. Oder 
halt fertig kaufen.

von Florian (Gast)


Angehängte Dateien:

Lesenswert?

Okay dann fange ich besser nochmal von vorne an:

Der NOR Flash Chip ersetzt wie im angehängten Bild ein normales ROM. 
Funktioniert super da sich dieser von Größe, PINs und Adressierung 
ähnlich verhält.
Der Clou für mich wäre jetzt diesen Chip von PC aus beschreiben zu 
können.
Ich dachte das USB, zumindest wenn es fertig ist am komfortabelsten 
wäre.

> Wie willst du diesen zu bauenden Flash-ROM-Programmer mit dem
> Speicherchip verbinden? Bei traditionellen DIP-ROMs ist das trivial weil
> es IC-Fassungen für DIP-Gehäuse an jeder Strassenecke gibt. Bei TSOPs
> nicht.

Ahso, also dieser Speicherchip soll ja fest verbaut sein. Im schlimmsten 
Fall würde ich eine einfache Platine herstellen lassen.

> Aber ich denke, du wirst sowas nicht finden, da die USB-Controller (z.B.
> von SSS oder Hyperstone) alle auf NAND-Flash und File-System-Handling
> ausgelegt sind.

Sowas wäre optimal, aber gefunden hab ich natürlich keinen.


Ich hab noch ein wenig rumgesucht, was wäre denn mit diesem 
Controllerchip?
http://focus.ti.com/docs/prod/folders/print/tusb6010b.html

von Christian R. (supachris)


Lesenswert?

Hä? Einen fest verlöteten Chip extern Programmieren? Wie kommst du da an 
alle zig Pins ran? Und wie sagst du dem eigentlichen Prozessor, dass er 
jetzt alle Leitungen tristate machen soll? Was soll das werden? 
Chiptuning für Arme?

von holger (Gast)


Lesenswert?

>Ich hab noch ein wenig rumgesucht, was wäre denn mit diesem
>Controllerchip?
>http://focus.ti.com/docs/prod/folders/print/tusb6010b.html

Kannst du BGA löten?

>Und wie sagst du dem eigentlichen Prozessor, dass er
>jetzt alle Leitungen tristate machen soll?

Genau das wird ein Problem werden. Wenn der eine Prozi
auf das Flash zugreift muss der andere das Maul halten
und alle Leitungen zum Flash hochohmig machen.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

holger wrote:
> Genau das wird ein Problem werden. Wenn der eine Prozi
> auf das Flash zugreift muss der andere das Maul halten
> und alle Leitungen zum Flash hochohmig machen.
Man könnte auch einfach nen Tristate Buffer zwischenschalten...

von (prx) A. K. (prx)


Lesenswert?

Für sowas verwendet man üblicherweise einen Bootloader, damit sich der 
Controller sein eigenes Flash-ROM programmiert. So das möglich ist. 
Beispielsweise wenn der Controller auch aus anderem Speicher als eben 
diesem ROM ein bischen Code ausführen kann (z.B. RAM), dann wäre dies 
der passende Weg. Aber das Henne-und-Ei Problem bleibt dir erhalten.

Es kommt ja eher selten vor, dass ein Programm auf Anhieb gleich läuft. 
Und dauernd aus- und einlöten ist auch nicht so praktisch.

von Peter D. (peda)


Lesenswert?

Ich hätte jetzt gedacht, der Gameboy selber programmiert den Flash.

Wenn Du ihn extern programmieren willst, wäre es wohl besser die 
Cartrigde rauszuziehen und über den Bussteckverbinder zu gehen.


Peter

von nabeshima (Gast)


Lesenswert?

Der Vorteil von USB auf der Cartridge ist, dass man mit der Cartridge 
alleine auskommt. Ansonsten braucht es ja noch zusätzlich einen 
Steckverbinder, der schwer zu bekommen bzw herzustellen ist.


Es sollte in der Tat mit allen uC gehen die USB und ausreichend Pins 
haben.

Den Flash beschreiben ist auch nicht weiter schwer, man muss ja nur die 
Kommandos schicken, wie sie im Datenblatt angegeben sind (allerdings 
müssen die knappen Timings eingehalten werden, deshalb kommt sowas wie 
ein IO-Warrior auch nicht infrage)

Der aufwändigere Teil ist dann die Programmierung der USB-Kommunikation 
im uC. Und schließlich muss man auch noch den PC-Client schreiben - es 
sei denn man implementiert es als USB-Massenspeicher. Aber das soll's ja 
gerade nicht sein.

Für das Programmieren des Controllers während der Entwicklung kannst du 
ja einfach die enstprechenden Pins mit Pads ausstatten, an die du dann 
einen passenden Stecker für den Programmer lötest. Es muss ja keineswegs 
der USB verwendet werden, von daher auch kein Henne-Ei-Problem.

Ich hatte mir ein ähnliches Projekt auch schon überlegt, aber es schien 
mir dann doch zu aufwändig.

von nabeshima (Gast)


Lesenswert?

ich nehme an das hier ist dir bekannt?

http://8bitcollective.com/forums/viewtopic.php?id=350&p=1

da arbeitet jemand seit gut einem jahr an dem gleichen projekt..

von nabeshima (Gast)


Lesenswert?

.. und hier hat es schon jemand fertiggestellt:

http://www.reinerziegler.de/readplus.htm

(in der abteilung "home made programming systems" gleich der erste 
kasten, da steht rechts "USB Version")

mitsamt sourcen und schaltplänen. du müsstest nur noch die smd-varante 
des controllers nehmen und alles mit auf die cartridge quetschen.

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.