Ich habe gerade ein Projekt mit dem LPC2132-Chip abgeschlossen, bin aber auf Probleme gestoßen, weil ich die gesamten 64 KB RAM verbraucht habe.
Für mein nächstes Projekt möchte ich etwas verwenden, das auf einen externen, viel größeren Speicherchip verweisen kann. Welche Art von ARM kann das und was muss ich tun, damit die beiden Geräte miteinander sprechen?
Sie benötigen keine MMU für externen RAM-Speicher. Der entscheidende Faktor, ob Sie eine benötigen, ist ein völlig anderes Problem als einfach mehr Speicherplatz zu benötigen. Wenn Sie direkt auf das Metall codiert haben, kann es Ihr Leben tatsächlich einfacher machen, keine MMU zu haben. Ich möchte auch darauf hinweisen, dass eine MMU praktisch nie eine externe Komponente ist, sondern auf dem SoC-Die.
Sie finden ARM-SoCs in vielen Familien, die externen Speicher ab ARM7 zulassen, zum Beispiel die NXP LPC2212-Serie , die nicht behauptet, dass sie die beste ist, nur das erste ARM7-SoC, das bei Google mit einer externen Speicherschnittstelle auftauchte, es gibt viele Optionen .
Ich würde den Merkmalen der verschiedenen Kerne in den ARM-Familien mehr Aufmerksamkeit schenken, da sie fast alle in SoCs mit externen Speichercontrollern zu finden sind.
Welche Art von Speicher Sie benötigen und wie Sie ihn zum Laufen bringen, hängt vom gewählten SoC und dem vom externen Speichercontroller unterstützten Speicher ab. Zum Beispiel unterstützt der ARM7 SoC i Linked externes SRAM sowie Flashs und ROMs und unterstützt bis zu 4 16-MB-Bänke, sodass Sie gleichzeitig externes Flash und SRAM daran anschließen können.
Sie könnten separate RAM- und Flash-ICs verwenden. Es gibt auch Pakete namens MCP (Multi Chip Package), die sowohl Flash als auch RAM in einem Paket enthalten können. Wie Sie diese Geräte auswählen, hängt von vielen Faktoren ab, Sie müssen Ihre Anwendung genauer angeben.
Wie einfach das Anschließen ist, hängt von der Geschwindigkeit ab, die Sie benötigen. Die meisten externen Speichercontroller haben programmierbare Taktraten. Die Taktraten der Speicherschnittstelle könnten mit mindestens 10 MHz sehr hoch und wahrscheinlich viel höher sein. Kurz gesagt, wenn Sie so etwas höchstwahrscheinlich nicht stecken, müssen Sie eine Leiterplatte entwerfen und besonderes Augenmerk auf Probleme mit der Signalintegrität für diese Leitungen legen.
Am besten wählen Sie einen Kern aus, mit dem Sie spielen möchten, und finden eines der vielen Entwicklungsboards mit externem Speicher.
Die größere Serie von STM32-Prozessoren (32-Bit-Cortex-M3-Kern) verfügt über einen FSMC, einen flexiblen statischen Speichercontroller. Damit können Sie Flash, RAM und andere Speicherperipheriegeräte wie LCD und dergleichen anschließen.
Ich kann das STM32F103ZET6 empfehlen, wie tcrosley auch sagte, und Sie können ein Entwicklungsboard einschließlich Flash und Sram bei ebay für 68 $ bekommen - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220619908411
Ich hatte kürzlich eine ähnliche Anforderung für ein neues Projekt und entschied mich für den STMicro STM32F103ZET6 (ARM 32-Bit Cortex-M3) mit 512 KB internem Flash und 64 KB internem RAM für eine Menge von etwa 10 US-Dollar. Es verfügt über einen Speichercontroller, der bis zu 64 MB externen Speicher (26 Adressbits) adressieren kann. Verfügbar in einem 144-poligen LQFP-Gehäuse. (Ich mag es nicht, BGA für Prototypen zu verwenden.) Ich werde es mit einem 2 MB Cypress SRAM verbinden, ohne dass ein anderer Kleber erforderlich ist (kein Multiplexing).
Vielleicht ein Atmel AT91SAM9G20 ?
Es ist ein ziemliches Biest (217-poliges BGA-Gehäuse), aber für den Preis ein großartiger Chip. Wenn Sie nach etwas Menschenfreundlicherem suchen, versuchen Sie es vielleicht mit dem Atmel AT91M42800A . Ich denke, das ist die kleinste MCU, die externe Speicherhardware hat, zumindest von Atmel. Es ist ein 144-poliges LQFP-Gehäuse.
Atmel hat einen parametrischen Selektor: http://www.atmel.com/dyn/products/param_table_v2.asp?family_id=605&OrderBy=part_no&Direction=ASC
(Ich denke, ich sollte hinzufügen, dass ich nicht für Atmel arbeite; ich bin nur zufällig mit ihren Sachen vertraut.)
Jay Atkinson
samoz