www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Flash Programer für AM29F032 - welcher µC?


Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;)

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gruenschnabel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: teplotaxl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nen atmega schafft auch ohne weiteres 1 MBaud.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut Liste der unterstützten Devices kann das hier

http://www.progshop.com/versand/programmiergeraete...

AM29F032 programmieren.

Eine Eigenentwicklung für kommerzielle Nutzung ("in der Firma") kostet 
mit an Wahrscheinlichkeit grenzender Sicherheit mehr als die geforderten 
305 EUR.

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gruenschnabel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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 .. :-)

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Gruenschnabel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich soetwas machen sollte, würde ich einen H8SX1664 nehmen. 
Geschätzte Entwicklungszeit ca. zwei Tage. Sicher gibt es Leute, die 
schneller sind.

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp.

Zwei Tage, aber nur wenn man den Controller schon kennt.
Hast du vielleicht sonst nochn Tipp, Eval-Board, Software?

Autor: debianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist der besonders einfach zu Programmieren? Bezüglich USB oder wie 
kommst du auf 2 Tage?

Autor: Gruenschnabel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.