www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speichererweiterung des 8051


Autor: kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir jemand mit der speichererweiterung des 8051 oder at89s53
weiterhelfen.
es wäre gut wenn mir jemand einen link oder eine genauere erklärung
geen mit der ich auch etwas anfangen kann da ich mich noch nicht so gut
auskenne.
oder einige programmbeispiele zur programmierung des speichers in C

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst Du denn, Code- oder Datenspeicher ?

Nimm doch einfach ein Derivat mit genügen Speicher intern.
Z.B.: P89C668: 64kB Flash, 8kB SRAM


Ansonsten, Speicher wird so angeschlossen, wie im Datenblatt
angegeben.

Und unter C wird er ganz normal angesprochen, d.h. als code oder pdata
/ xdata.
Die CPU erkennt automatisch an der Adresse, ob er über dem internen
Bereich liegt.


Peter

Autor: kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die antwort
das mit dem gnügend internen speicher ist leider hinfällig da ich eine
Facharbeit über Speichererweiterungen schreiben soll

Autor: Dirk Broßwick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hiho,

du kannst das XRAM erweitern. Dafür stehen die Signale /ALE,/RD und /WR
bereit. Wenn du einen Normalen 80C52 hast, kannst die auch den
Prgrammspeicher und XRAM erweitern. Du kann ihn auch mischen. Dazu muß
t du das /PSEN signal in zusammenspiel mit den anderen signalen
benutzten wenn ich mich recht errinnere. Leider hast du dann das
problem das du keine Programm mehr im interen Flash ablegen kannst,
sondern alles extern mit EEproms und RAMs machen muß, was natürlich
großer mehraufwand ist, aber sich lohnt. Ich selber habe so ein system
schon aufgebaut. Da gabe es dann 8Kbyte fürs EEprom ab 0x0000 für ein
Programm/Kernel und 32Kbyte ab 0x8000 für Programm und Daten. Dort
hatte ich dann ein kleines Betriebssystem in das EEprom gelegt, welches
alle wichtigen Routinen inne hatte, und das eigentlich Programm habe ich
dann einfach nachgeladen per RS232.

CA Dirk

Autor: Thomas Strauß (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo kurt,

die 80C31, 80C32-Controller wie auch die 8031, 8051, 80C51-Controller
kann man erweitern, d.h. man kann den EA-Pin auf Masse legen und hat
dann automatisch Zugriff auf externen Programmspeicher (27512, 27C512,
28C16, 28C256 usw.) sowie auf einen - wenn vorhanden - externen
Datenspeicher(62256, 621024 usw.).

Programm- und Datenspeicher liegen auf dem selben Bus(Daten und
Adreßbus), sind parallelgeschaltet. Der Controller benutzt, wie schon
erläutert wurde, die Signale PSEN, RD und WR zum Unterscheiden des
Programmspeichers und des statischen RAMs/Datenspeichers.

Der Vorteil - man hat 64KB Programm und zusätzlich 64KB Datenspeicher
und natürlich den internen Datenspeicher. Der interne Programmspeicher
ist dann ohne Zugriff. Ein weiterer Vorteil: Wenn das Programm geändert
werden muss, braucht man nur den Eprom/EEprom
auszutauschen/neuzuprogrammieren.

Bei den Flash-Typen hat man das Problem, das die Zyklenzahl begrenzt
ist. Danach ist nicht nur der Programmspeicher hinüber, sondern
zwangsläufig gleich der ganze Chip. (Es sei denn, der hat den Enable
Access-Pin/EA-Pin zum Zugriff auf externe Programmspeicher, was aber
sehr unwahrscheinlich ist!). Hiermit habe ich beiläufig meinen Hass auf
Flash-Controller rausgelassen!


Leider gibt es keine 64KB SRAMs als Datenspeicher bzw. nur als
Spezialtypen. Entweder man nimmt dann den 32KB-SRAM (62256) oder den
nächst größeren 128KB-SRAM. Dann kann man einen Pin zum Memory-Bank
umschalten benutzen, der dann die höchste Adresse des SRAMs schaltet.
Ich habe das alles ausprobiert und es funktioniert auch recht gut. Es
gibt darüberhinaus auch eine Trickschaltung, mit der man das Programm
in den Datenspeicher laden kann und in Verbindung mit dem PC
/serielle Schnittstelle schnell mal ein Programm ausprobieren kann.

Empfehlenswert ist das MCS51-Kochbuch von Roth zu diesem Thema.

Thomas

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas


"Hiermit habe ich beiläufig meinen Hass auf Flash-Controller
rausgelassen!"

Hast Du denn eine Grund dazu und könntest Du den nennen ?


Mir ist es bisher noch nicht gelungen einen IC totzuflashen, 10.000
Zyklen sollten ja auch dicke ausreichen.

Dagegen mag ich keine EPROMs mehr sehen, seit ich Flash kenne und nutze
nur noch Flash.
Schon, daß einem ein externer EPROM 16 Portpins klaut, ist doch ein
riesen Nachteil.


Peter

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein weiterer Vorteil von Flash-Controllern ist auch, dass man den
Programmspeicher nicht einfach mit einem handelsüblichen Eprommer dank
Lock-Bits auslesen kann.

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.