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?
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.
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.
>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.
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.
@ 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.
> 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.
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.
> 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?
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.
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
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?
>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.
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...
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.
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
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.
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..
.. 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.