Acabo de completar un proyecto usando el chip LPC2132, pero tuve problemas al usar los 64kb de RAM.
Para mi próximo proyecto, me gustaría usar algo que pueda hacer referencia a un chip de memoria externo mucho más grande. ¿Qué tipo de ARM puede hacer esto y qué debo hacer para que los dos dispositivos hablen?
No necesita una MMU para la memoria RAM externa, el factor determinante si necesita una es un problema completamente diferente a la simple necesidad de más espacio. Si ha estado codificando directamente hasta el metal, es posible que su vida sea más fácil al no tener una MMU. También me gustaría señalar que una MMU prácticamente nunca es un componente externo, sino que está en la matriz SoC.
Puede encontrar SoC ARM en muchas familias que permiten memoria externa desde ARM7 en adelante, por ejemplo, la serie NXP LPC2212 no dice que sea la mejor, solo el primer SoC ARM7 que apareció en Google con una interfaz de memoria externa, hay muchas opciones. .
Prestaría más atención a las características de los diversos núcleos de las familias ARM, ya que puede encontrar casi todos ellos en SoC con controladores de memoria externos.
Ahora, en cuanto al tipo de memoria que necesita y cómo hacer que funcione, eso depende del SoC que elija y de la memoria que admita el controlador de memoria externa. Por ejemplo, el ARM7 SoC i linked admite SRAM externa, así como flash y rom, y admite hasta 4 bancos de 16 MB, por lo que puede conectarle flash externo y SRAM al mismo tiempo.
Puede usar RAM y flash IC por separado. También hay paquetes llamados MCP (Multi Chip Package) que pueden incluir tanto flash como ram en 1 paquete. La forma en que elige estos dispositivos depende de muchos factores, necesitaría ser más específico acerca de su aplicación.
La facilidad de conexión depende de la velocidad que necesites. La mayoría de los controladores de memoria externa tienen frecuencias de reloj programables. Las velocidades de reloj de la interfaz de memoria podrían ser muy altas, al menos 10MHz y probablemente mucho más altas. En resumen, es muy probable que no esté probando algo como esto, debe diseñar una PCB y prestar especial atención a los problemas de integridad de la señal para estas líneas.
Su mejor opción es elegir un núcleo con el que quiera jugar y encontrar una de las muchas placas de desarrollo que existen con memoria externa.
La serie más grande de procesadores STM32 (núcleo Cortex-M3 de 32 bits) tiene un FSMC, que es un controlador de memoria estática flexible. Con esto, puede conectar Flash, RAM y otros periféricos de memoria como LCD y similares.
Puedo recomendar el STM32F103ZET6 como también dijo tcrosley, y puede obtener una placa de desarrollo que incluye flash y sram en eBay por $ 68 - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220619908411
Hace poco tuve un requisito similar para un nuevo proyecto y elegí el STMicro STM32F103ZET6 (ARM Cortex-M3 de 32 bits), con 512 K de Flash interno y 64 K de RAM interna por alrededor de $10 en cantidad. Tiene un controlador de memoria que puede direccionar hasta 64 MB de memoria externa (26 bits de dirección). Disponible en un paquete LQFP de 144 pines. (No me gusta usar BGA para prototipos). Lo conectaré con un Cypress SRAM de 2 MB, sin necesidad de ningún otro pegamento (sin multiplexación).
¿ Quizás un Atmel AT91SAM9G20 ?
Es un poco bestia (paquete BGA de 217 pines), pero es un gran chip por el precio. Si está buscando algo un poco más amigable para los humanos, tal vez pruebe el Atmel AT91M42800A . Creo que es la MCU más pequeña que tiene hardware de memoria externa, al menos de Atmel. Es un paquete LQFP de 144 pines.
Atmel tiene un selector paramétrico: http://www.atmel.com/dyn/products/param_table_v2.asp?family_id=605&OrderBy=part_no&Direction=ASC
(Supongo que debería agregar que no trabajo para Atmel; simplemente estoy familiarizado con sus cosas).
jay atkinson
samoz