Hallo, bin heute bei meiner Diplomarbeit und der Ausarbeitung auf die Mikrocontrolleranforderungen gestoßen und habe festgestellt, daß ich einen Mikrocontroller mit 30kB RAM benötige. Habt ihr eine Idee welcher da so in Frage kommt oder wie ich das Ganze mit einem RISC von Atmel lösen könnte? Gruß Tobi
Das sollte kein Problem sein: Einige Atmega haben ein externes Speicherinterface, das bis zu 64kB direkt addressieren kann. Dafuer brauchts dann nur noch ein SRAM (gibts in DIL oder SOP) sowie ein Adresslatch.
@ Tobias Eckhardt (doenges) >einen Mikrocontroller mit 30kB RAM benötige. >Habt ihr eine Idee welcher da so in Frage kommt oder wie ich das Ganze >mit einem RISC von Atmel lösen könnte? Einige der AVRs können sehr einfach mit externem RAM aufgebohrt werden und haben dann fast 64kB RAM.Z.B. der ATmega8515. MfG Falk
Das fällt dir erst bei der Ausarbeitung auf? Hast du mal drüber nachgedacht ob du das wirklich brauchst? es geht zB mit: 1: dsPIC33 2: Mega8515 + ext RAM
Du brauchst nur 30KB RAM? Mehr konkrete Anforderungen gibt es nicht? Dann könnte doch auch ein 4-bitter reichen.
"RISC von Atmel" ist etwas unscharf ausgedrückt. Es gibt mit den AVRs 8-Bit-Controller, denen eine RISC-Architektur nachgesagt wird; keiner von denen verfügt über so viel internes RAM. Zusätzlich stellt auch Atmel verschiedene 32-Bit-RISC-Controller her, die auf den ARM-Kernen ARM7TDMI und ARM9 (k.a. welcher genau) basieren. Für Selbstbaulösungen noch halbwegs anwendbar sind da die AT91SAM7Sxxx-Modelle, von denen beispielsweise der AT91SAM7S512 über 64 kByte RAM verfügt: http://atmel.com/dyn/products/product_card.asp?part_id=4103 Die Philips/NXP-Konkurrenz bietet aber auch ARMe mit so viel RAM, wie beispielsweise den LPC2106. An die meisten Controller kann man aber auch externes SRAM anschließen, und damit auch einem AVR ausreichend RAM verpassen. Zur Controllerauswahl solltest Du Dir also noch Gedanken machen um - Art und Anzahl der benötigten Peripherie (I/O-Leitungen, Schnittstellen, AD/DA-Wandler etc.) - Rechenleistung - Programmgröße (Menge des Flash-ROMs) - gewünschtes/vorhandenes Entwicklungssystem
ich entwickel ein Mikrocontroller zur Ansteuerung eines Displays. Die Daten bekomme ich von einem Hauptmikrocontroller der ebenfalls ein Atmel ist (Atmega644), weil dafür schon "alles" da ist dachte ich ebenfalls an Atmel 8 Bit! Bin auch offen für andere Ideen.
ja danke! Dann schau ich mir mal die Controller genauer an. wie genau schalte ich dann den RAM an den Controller, über einen 8Bit Port???
@ Tobias Eckhardt (doenges2) >wie genau schalte ich dann den RAM an den Controller, über einen 8Bit >Port??? Steht gut verständlich im Datenblatt. Über zwei 8-Bit Ports. Mfg Falk
Nee, Du brauchst schon mehr als einen 8-Bit-Port, etwas mehr als zwei werden's schon. 8 Bit Daten- und Adressleitungen (gemultiplext), 8 Bit weitere Adressleitungen sowie ein paar Steuerleitungen (/Rd, /Wr, ALE). Und Du benötigst ein 8-Bit-Latch zum Demultiplexen des Adressbusses. Näheres nebst Beispielschaltung steht im Datenblatt des Mega128.
Renesas bietet in der M16C Serie µC's an, die 30K RAM intern haben.
Brauchst du unbedingt RAM wegen der Geschwindigkeit, oder ginge auch EEPROM. Das geht ganz easy über Two Wire Interface (im Datenblatt unter TWI) anzuschließen. Außerdem bleiben die Daten auch bei Unterbrechung der Spannungsversorgung erhalten. Gruß Stefan
Tobias Eckhardt wrote: > bin heute bei meiner Diplomarbeit und der Ausarbeitung auf die > Mikrocontrolleranforderungen gestoßen und habe festgestellt, daß ich > einen Mikrocontroller mit 30kB RAM benötige. Wie hast Du das ermittelt ? Brauchst Du wirklich 30kB an globalen Variablen, die die ganze Laufzeit über erhalten bleiben müssen ? Windows-Programmierer überschätzen meistens den realen Speicherbedarf völlig und teilen Speicher mit nem Sieb aus (ein Großteil läuft ungenutzt unten raus). Peter
> wie genau schalte ich dann den RAM an den Controller, über einen 8Bit > Port??? Darf sowas ein Diplomand fragen?
>> wie genau schalte ich dann den RAM an den Controller, über einen 8Bit >> Port??? >Darf sowas ein Diplomand fragen? Das ist eine gute Frage zur Frage ;-) auch ein Diplomand
oder nehmt den Mega2560 da hat 8kByte Ram und 100Pin oder den Mega2561 der hat auch 8KByte Ram aber nur 64Pin und ist Pin-Kompatibel mit dem Mega64/128.
>Darf sowas ein Diplomand fragen?
Fragen darf er. Solange wir dann im Quellenverzeichnis stehen ;-)
uPSD-Serie (8Bit, 8051-kompatibel) von STM gibts auch mit 32k internen SRAM und in verschiedenen Leistungsklassen. http://mcu.st.com/mcu/inchtml.php?fdir=pages&fnam=upsd Haben viele Zusatzfunktionen, z.B. einen internen PLD und 2 unabhängige FLASH-Speicher, USB. Programmiersoftware bei STM kostenlos downloadbar, SDCC unterstützt die Typen, Programmierung per JTAG, auch selber baubar. Preise sind recht günstig, Nachteil: nur in SMD verfügbar. Bezug auch in Kleinmengen über gängige deutsche Distributoren möglich. Gruß Matthias
Hi, ich hätte da mal eine Frage zum "Latch fürs RAM": Gibt es eigentlich ein RAM (oder Flash oder EEPROM) zum Anschluss an den AVR oder 8051, das kein Latch braucht? Ich mein jetzt natürlich ein statisches RAM (z.B. 8 oder 32kB) und kein DRAM oder SD oder so was. Früher gabs mal einen IO-Baustein (8155 glaube ich), der wurde ohne Latch angeschlossen. Der hatte auch zusätzlich 128 Byte RAM, was mir aber doch schon zu wenig ist. Gruß Klaus
>er hatte auch zusätzlich 128 Byte RAM, was m
Das kann man ja mit weniger als acht Bit Adressbreite ansprechen.
Somit kann der AD-Bus INTERN in 8155 (oder wie auch immer) gelatcht
werden!
Dafür musste dann das ALE dort angekabelt werden...
Flash / EEProms gibts zum seriell Anschliessen, z.B. Atmel-Dataflash über SPI, I²C EEProms etc. Serielles Sram hab ich noch keins gesehen, man könnte aber mit nem CPLD auch normales Sram SPI-Tauglich machen. /Ernst
@ klaus (Gast) >ich hätte da mal eine Frage zum "Latch fürs RAM": >Gibt es eigentlich ein RAM (oder Flash oder EEPROM) zum Anschluss an den >AVR oder 8051, das kein Latch braucht? Wenn du dich mit 256 Byte externem RAM begnügen kannst, dann geht jedes SRAM. Einfach nur die unteren Bits des Adressbus nutzen. MfG Falk
Hi, @ Matthias L.: ja, der hatte wohl <=256 Adressen, und brauchte für seine Ports nur <=128. und dadurch brauchte der sogar nur 8 Adressleitungen. Und ja: die Adresse wurde intern gelatcht. @ Ernst Bachmann: Ich dachte allerdings mehr an ein paralleles RAM, anzuschließen "ganz normal" nur eben ohne Latch, also nix serielles. (andererseits müsste ich darüber nochmal nachdenken, ich hab mich da schon seit langer, langer Zeit auf EEPROMs und RAMs für den 8051 versteift und den Wunsch dann auf den AVR90S8515 "übertragen") Danke erstmal an alle, Klaus
klaus wrote: > Gibt es eigentlich ein RAM (oder Flash oder EEPROM) zum Anschluss an den > AVR oder 8051, das kein Latch braucht? In der DDR gabs den U6516 (2kB) mit internem Adreßlatch. Peter
nochmal Hi, @ Falk Brunner: ja, schon klar, aber das ist etwas wenig, 256 Bytes hat heute doch "jeder mittlere" AVR. Ich dachte da eher an 8kB, oder warum nicht 64kB, ich hab' ja 16 Adressen. Und der Port für die "oberen" 8 Adressbits ist sowieso verloren (wenn ich die "RAM-Befehle" des AVR benutze). oh, Mittagspause schon vorbei... Gruß, Klaus
@ klaus (Gast) >Ich dachte da eher an 8kB, oder warum nicht 64kB, ich hab' ja 16 >Adressen. Adressbits! Aber wo ist denn das Problem? So ein Latch ist klein nd billig und wird direkt angeschlossen. Fertig. MFG Falk
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.