Suche ein 28 Pin Mikrocontroller mit mehr als 32 kBit Flash Speicher

OP #4634512
Lesenswert?

c-hater schrieb:
> Jan H. schrieb:
>
>> Ich suche zurzeit ein Mikrocontroller der 28 Pins hat und mehr als 32
>> Kbit Flash Speicher hat.
>
> Warum muss es denn unbedingt einer mit 28 Pins sein?

Weil ich die Platine bereits gelötet habe und dort ein 28 Pin Sockel 
drauf ist. Und mir beim Programmieren mir der Speicher ausgegangen ist.

Stefan schrieb:
> Wie wäre es mit PIC 18F26K20 ?
> 64K Speicher.

Es sollte schon einer von der ATMega Familie sein.
Gast #4634547
Lesenswert?

Jan H. schrieb:
> Berufsrevolutionär schrieb:
>> Und du meinst jeder 28pin µC ist pinkompatibel ?!
>
> Verstehe ich nicht so ganz. Natürlich muss ich vielleicht denn Code an
> einigen Stellen ändern und auch den Controller im Projekt ändern. Oder
> meinst du jetzt wegen SMD und DIP?

Ich mein das wegen inkompatiblen Controllerfamilien, das es sich um 
ATMega wird  erst spät im Thread klar. Am beste du nennst den uC und das 
Package das du ersetzen möchtest. Alternativ kannst du ja auch eine 
Adapterplatine plannen
Gast #4634908
Lesenswert?

Jan H. schrieb:
> Nein. Aber viele Display Nachrichten. Die mit PSTR in denn Flash kopiert
> werden.

Gespeichert als Text? Wie wäre es mit einer Liste der in den Nachrichten 
gebrauchten Wörter, dann muss jedes mehrfach vorkommende Wort nur einmal 
gespeichert werden. Oder eine ganz einfache Komprimierung die der AVR 
noch schafft:

https://en.wikipedia.org/wiki/Run-length_encoding

Ansonsten ist ein 8-Bit uC die falsche Wahl für alles was über 64k ROM 
oder 4k RAM rausgeht, sollte ja eigentlich vorher absehbar sein.
#4634953
Lesenswert?

Jan H. schrieb:
> Bernd K. schrieb:
>> Was um alles in der Welt hast Du da gebaut das 32k Flash benötigt?
>> Riesige Lookup-Tabellen?
>
> Nein. Aber viele Display Nachrichten. Die mit PSTR in denn Flash kopiert
> werden.

Sie werden nicht "kopiert". Aber egal. Ich glaube das trotzdem nicht, 
daß das so viel sein soll. Kannst du Zahlen nennen wieviel KB in deinem 
Flash von Konstanten belegt werden?
OP #4634959
Lesenswert?

Axel S. schrieb:
> Sie werden nicht "kopiert". Aber egal. Ich glaube das trotzdem nicht,
> daß das so viel sein soll. Kannst du Zahlen nennen wieviel KB in deinem
> Flash von Konstanten belegt werden?

Jaa, davon wahren viele belegt. Ich habe gut die hälfte entfernt. Denn 
zum Teil wahren dort mehrer uint16_t's die schon seit langer Zeit 
unbenutzt wahren. Ein Paar Text Nachrichten fürs Displays habe ich 
anstatt im Flash in denn RAM gelagert. Nun sind nur noch 14 kbit belegt 
vorher wahren es 22 kbit. Viele unnötige Funktionen habe ich auch 
entfernt.
Brauche wohl dann erst mal doch kein anderen Controller zum Glück.

Auf jeden Fall danke an euch.

Mfg Jan H.
Gast #4634973
Lesenswert?

Wenn man Sachen in den RAM lädt, wo standen sie vorher? Vielleicht im 
Flash? ;-)

Der Flash hat 16bit Wortbreite, speicherst du auch 2 ASCII-Stellen in 
einem Wort oder nur einen + 8 Bits Befehl "Das ist eine 8bit-Konstante" 
?
#4635138
Lesenswert?

Jan H. schrieb:
> Ein Paar Text Nachrichten fürs Displays habe ich
> anstatt im Flash in denn RAM gelagert.

Ach. Und du glaubst das hilft? Überleg mal: wenn dein µC eingeschaltet 
wird - was steht dann im RAM? Wenn dann später dein Programm (vulgo 
main()) losläuft und die Daten dann im RAM stehen, wie kommen die da 
hin? Wo waren die wohl vorher abgelegt?
Gast #4635399
Lesenswert?

Lothar schrieb:

> Ansonsten ist ein 8-Bit uC die falsche Wahl für alles was über 64k ROM
> oder 4k RAM rausgeht

[Mod: unnötig unflätigen Ausdruck gelöscht]

Ein ATMega1284P z.B. hat 128k Flash und 16k RAM, ein ATMega2560 hat 256k 
Flash und 8k RAM (trivial extern erweiterbar auf 64k).

Um was anderes zu benutzen, braucht man schon deutlich bessere Gründe 
als von dir angegeben...
Gast #4635426
Lesenswert?

Frank S. schrieb:

> Sind aber beide keine 28-Pinner mehr.

Das ist wohl wahr. Aber es spielt auch absolut keine Rolle, denn der 
Grund für das Beharren auf 28 Pins war ja die bereits gefertigte 
Platine. Und die kann man weder benutzen, wenn man einen "größeren" AVR8 
braucht, noch dann, wenn man auf was völlig anderes wechselt, selbst 
wenn das dann tatsächlich 28 Beine hat.

Der Wechsel auf einen größeren AVR8 ermöglicht aber immerhin, den 
gesamten (oder zumindest den Grossteil) des existierenden Codes zu 
übernehmen.
[Mod: unnötig unflätigen Ausdruck gelöscht]
Gast #4635457
Lesenswert?

c-hater schrieb:
> Ein ATMega1284P z.B. hat 128k Flash und 16k RAM, ein ATMega2560 hat 256k
> Flash und 8k RAM (trivial extern erweiterbar auf 64k).
>
> Um was anderes zu benutzen, braucht man schon deutlich bessere Gründe
> als von dir angegeben...

Der Preis ??? Es sollte doch jeder wissen das Flash/SRAM in einem 
Prozess für 8-Bit viel aufwendiger ist als in einem Prozess für 32-Bit. 
Deshalb:

ATMega2560 kostet 15 EUR !!!
LPC11U68 kostet 4 EUR und ist auch noch 3x schneller ...
Gast #4635467
Lesenswert?

> absolut vorzuziehende Variante

Ich denke, die derzeit sinnvollste Variante wäre, die beiden würden sich 
zusammensetzen und ausloten, was an Einsparpotenzial vorhanden ist, das 
scheint einiges zu sein. Wäre eine lehrreiche Übung, darüber hinaus 
lohnend, da das vorhandene Material, uC und Platine, weiter genutzt 
werden könnte.
  (vor langer Zeit gab es mal das Schlagwort 'small is beautiful')

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren