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.
>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?
>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.