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
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
danke für die antwort das mit dem gnügend internen speicher ist leider hinfällig da ich eine Facharbeit über Speichererweiterungen schreiben soll
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
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
@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
Ein weiterer Vorteil von Flash-Controllern ist auch, dass man den Programmspeicher nicht einfach mit einem handelsüblichen Eprommer dank Lock-Bits auslesen kann.
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.