Hallo! Ich bin Student in der Fachrichtung Elektrotechnik /Automation (DualHochschule BW). In meiner Projektarbeit entwickele ich einen USB Flash Programmer. Das Flashmodul bestehend aus zwei AM29F032 (4Mx8bit), wobei die Adressbuse zusammen geschaltet sind und die Datenbuse parallel liegen (also 2x8Bit Datenbus). Das Modul soll dann über den PC mit Daten gefüllt werden (hex-File). Die Übertragungsoftware werde ich auch selbst schreiben (müssen). Oder gibts handliche(!) Geräte dafür schon fertig? Ich dachte an einen Controller mit integriertem USB. Momentan tendier ich zu einem PIC18F87J50 oder PIC24FJ256xx. Die ARM Controller sind doch irgendwie zu "fett" und mich verwirren die zig Varianten. Auch sehe ich beim Pic vorteile bei der IDE /Libs oder? Jetzt die Fragen: -Bisher hab ich mit AVRs, C167 und 8051 gearbeitet in C und ASM. -macht es Sinn auf einen 16bit oder gar 32bit Controller zu setzen? -macht es Sinn z.B. einen PIC18F87J50 mit externem Speicherbus zu verwenden? Oder lieber über normale Portpins realisieren. ->macht ein Hardware CRC-Gen wie im PIC24F Sinn? Danke schonmal fürs durchlesen ;)
Hallo, ich habe sowas mal für alte Mainboard-Flashbausteine in einen alten AVR 8515 gepackt. Daten per serielle (kann man natürlich einen FTDI dazuhängen), Überttragung in X-Modem aus einem Terminalprogramm. Mini-Commandinterpreter so im Stile alter Debugger ist noch drin. Am längsten dauert dabei natürlich die Datenübertragung, da würde es also schon Sinn machen, auf einen USB-fähigen Controller zu setzen, der die Daten auch schnell genug abnehmen kann. Gegenrechnung, ob die nötige Programmierzeit des Flashs da welchen Gewinn bringt, wäre wohl sinnvoll. Oder Tricky: jeweils im Wechsel Pageweise übertragen, dann kann der jeweils andere Programmieren (wenn die Flashs das so hergeben). Gruß aus Berlin Michael
Vielen Dank erstmal. So war mein erster Gedanke zur einfachen Realisierung. Wichtig ist halt, dass die Übertragung sicher funktioniert. Das ganze sollte aber trotzdem keine 15min gehen. Ich versuche trotzdem die Übertragung so schnell wie es geht zu machen, vor allem weil ich eben nicht auf einen bestimmten Controller beschränkt bin.
>Wichtig ist halt, dass die Übertragung sicher funktioniert. Das ganze >sollte aber trotzdem keine 15min gehen. Wie oft muß denn der gesamte Bereich umprogrammiert werden? Lohnt sich der Entwicklungsaufwand für USB anstatt RS232 zu verwenden? Mit RS232 und 115kBd erreicht man ca. 8kB/s. Höhere Baudraten verkürzen die Zeit. Bei einer RS232 Anbindung würde ein 8-Bitter wohl gut ausreichen.
Das weiß ich nicht, aber der Programmer sollte schon so ausgelegt werden, dass das gesamte Modul in erträglicher Zeit programmiert werden kann. Bei 8MB sind dann halt fast 16min bis das Ding programmiert ist. Ob sich der Entwicklungsaufwand lohnt weiß ich nicht, weil ich keine Erfahrungen mit USB habe.
Hallo, 1MBaud über einen FTDI sollte doch gehen, habe ich noch nicht getestet. Wie gesagt, mal den Programmierzyklus durchforsten, was der hergibt. Es nutzt doch nichts, wenn Du die Daten in einer Sekunde drüben hast, diese mühsam zwischenspeichern mußt und dann die Teile doch 2 Minuten zum flashen brauchen. Ich würde erstmal abschätzen, wieviel Daten rüber müssen, um beide Flash mit deren maximaler Geschwindigkeit flashen zu können. Gruß aus Berlin Michael
Hallo der Programmer sollte schon so ausgelegt sein, dass der gesamte Flashinhalt zügig programmiert wird. Die Zugriffszeiten werden mit 75-150ns angegeben wobei ein Schreibzugriff 4 Zyklen braucht also 450ns. Was trotzdem recht schnell ist. Ich habe mich noch weiter umgeschaut und bin auf die AVRs mit integriertem USB-Controller gestoßen (AT90USBxx). Damit könnte ich in bekannten Gefielden bleiben und trotzdem Full-Speed USB nutzen. Ich denke der AVR ist dem PIC 8bit überlegen oder? Was ich vielleicht noch hinzufügen sollte: Wichtig wäre auch die langfristige Verfügbarkeit des Controllers / der Architektur. Das Gerät soll in der Firma eingesetzt werden. Interessant wäre auch ein ARM Cortex aber damit hab ich noch nie was gemacht und die zig verschiedenen Varianten und Software-Tools. Oder gibts da außer Keil noch gute Varianten (darf auch kommerziell sein)
Laut Liste der unterstützten Devices kann das hier http://www.progshop.com/versand/programmiergeraete/galep/galep4.html AM29F032 programmieren. Eine Eigenentwicklung für kommerzielle Nutzung ("in der Firma") kostet mit an Wahrscheinlichkeit grenzender Sicherheit mehr als die geforderten 305 EUR.
danke ... den Galep kenn ich natürlich. Aber es soll halt etwas mobiles sein, das mit USB auskommt und das hab ich bisher noch nicht gefunden.
>Aber es soll halt etwas mobiles sein,
Ist er doch. Allerdings muß man für den Batteriebetrieb noch AAA-Zellen
ergänzen. Irgendwo habe ich die schon einmal im Angebot gesehen .. :-)
Ich bin jetzt auf den AVR32UC3Axxx aufmerksam geworden. Die Controller haben ein externes Speicherinterface, womit ich mir das ganze bit-gewackle erspare. Aber noch schreckt mich die komplexität der AVR32 ab. Kommt man mit 1-2 Monat Einarbeitungszeit hin? Oder doch lieber PIC18 oder PIC24 ... hat da jemand schon erfahrungen bezüglich USB?
Wenn ich soetwas machen sollte, würde ich einen H8SX1664 nehmen. Geschätzte Entwicklungszeit ca. zwei Tage. Sicher gibt es Leute, die schneller sind.
Danke für den Tipp. Zwei Tage, aber nur wenn man den Controller schon kennt. Hast du vielleicht sonst nochn Tipp, Eval-Board, Software?
Ist der besonders einfach zu Programmieren? Bezüglich USB oder wie kommst du auf 2 Tage?
>Bezüglich USB oder wie kommst du auf 2 Tage?
Ganz simpel: ich fange einfach an! Wenn Du Dich nicht entscheiden
kannst, welche Prozessor Du nehmen willst, kann Dir keiner helfen.
Ebenso wenig weiß hier Irgendjemand, wie lange DU für die Lösung
brauchen wirst. Nicht einmal Dein Problem ist hier genauer bekannt.
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.