Microprocesador de 8/16 bits para proyectos de hobby

Estoy evaluando diferentes procesadores para un pequeño proyecto de hobby. Mi primera opción fue el Z80, pero parece ser difícil de conseguir hoy en día.

¿Qué nos queda para querer una CPU de 8/16 bits sincronizada a 10-20 Mhz con un bus de memoria externo?

¿Por qué necesitas una memoria externa?
No he encontrado algo con 512 KB de memoria interna...
¿Necesita 512kB de Flash o SRAM?
Necesito 256-512 KB SRAM para realizar este proyecto
Sí, eso es básicamente un mandato para la memoria externa.

Respuestas (6)

Tal vez deberías dejar de lado la idea de que para pequeños proyectos de pasatiempo, los 8 bits son siempre la mejor solución. Hoy en día 32 amargos, esp. ARM, están en todas partes y se han convertido en serios competidores para las piezas de 8/16 bits, a menudo más antiguas, tanto en términos de precio como de cadena de herramientas.
Además, en su comentario menciona una memoria interna de 512 KB, y no la encontrará fácilmente en 8 bits puros; tienden a tener un bus de direcciones de 16 bits, lo que significa un máximo de 64 KB.
Si cree que un ARM puede ser adecuado para usted, puede echar un vistazo a mbed :

"Este microcontrolador mbed se basa en el NXP LPC1768 con un núcleo ARM Cortex-M3 que funciona a 96 MHz, 512 KB de FLASH , 64 KB de RAM y muchas interfaces que incluyen Ethernet, dispositivo USB y host, CAN, SPI, I2C y otras E/S".

Tal vez, solo vario que será un problema más adelante cuando quiera diseñar mi propia PCB, con una frecuencia más alta. significa problemas en la PCB.
@Z-roar: puede sincronizarlo a 10-20 MHz (o incluso más bajo, acercándose a DC) si no se siente cómodo con un diseño de 96 MHz.
Er, pensé que te referías a 512 KB de Flash, no de RAM. Como dice reemrevnivek, querrás un controlador con memoria externa.

La interfaz con un módulo de memoria externa se realiza mejor con un periférico de hardware conocido como Interfaz de memoria externa (complicado, ¿eh?). También se puede adaptar una interfaz de bus externa para este propósito. Estos periféricos se abrevian EMI/EBI en los motores de búsqueda paramétricos de fabricantes y distribuidores.

Usando la búsqueda paramétrica de Digikey, por ejemplo, observo que 209 partes diferentes tienen un EMI o EBI (con algunas otras distinciones, como Flash integrado, paquetes soldables y cantidades menores a un carrete). La siguiente es una selección de los procesadores más conocidos de ese conjunto:

  • AVR Xmega
  • Brazo Cortex-M0
  • Brazo Cortex-M3
  • Brazo 7
  • Brazo 9
  • Fuego frío
  • ST Microelectrónica ST9
  • ZNEO (sucesor Zilog de 16 bits de Z80)
  • 8051
<Subjetivo> Recomiendo las series Arm Cortex-M0, Cortex-M3 y Arm 7 de ese conjunto como la selección mejor documentada, más amigable para principiantes y más disponible. </subjetivo>
Un chip de memoria SPI (RAM o flash) puede recuperar un byte arbitrario de memoria en unos seis microsegundos o menos, y los bytes subsiguientes en menos de un microsegundo cada uno. Algunas aplicaciones requieren acceso a la memoria a velocidades que no se pueden lograr a través de SPI flash, pero para un proyecto de nivel de afición, el cableado de cuatro cables para un chip de memoria SPI parecería mucho más atractivo que el cableado de docenas de cables para una interfaz de memoria paralela.
@supercat: huh, no sabía que fabricaban SRAM en serie. ¡Limpio! Parece que tendrías que usar 2 chips para obtener 512 kB, pero eso probablemente sea preferible a la interfaz paralela.

La serie ez80 está disponible como microprocesador y microcontrolador. Puede direccionar 24 bits de memoria y viene con muchos periféricos. Es compatible con Z80.

Aquí están los microprocesadores (pero los microcontroladores también tienen buses de memoria y en realidad son más baratos):

http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2556260&k=ez80

También tienen placas de desarrollo.

Hay algunos PIC con interfaces de memoria externa que pueden direccionar hasta 2 Mbytes (código o datos):

http://ww1.microchip.com/downloads/en/AppNotes/00869b.pdf

ARM es el camino a seguir, muchos tamaños diferentes de ram vs flash. Cada combinación de tamaño, velocidad, potencia, etc. Herramientas convencionales, etc. Para una interfaz de memoria externa, Cirrus tiene productos ARM.

Cuando dices 512 KB, asumo que es solo para datos y también necesitas flash y/o RAM para el programa. Dependiendo del conjunto de instrucciones, la cantidad de espacio del programa puede variar dramáticamente.

La siguiente pregunta es qué tan rápido necesita obtener esta memoria, probablemente podría usar un spi o i2c y usar casi cualquier micro si no tiene que ser rápido como la noche. De acuerdo, si estaba buscando un puñado de procesadores de 8/16 megahercios, entonces por el mismo precio puede obtener un brazo de 50-80 MHz y probablemente obtener velocidades de memoria similares a las del micro 8/16 con una memoria en serie.

Por el precio de un arduino puedes obtener un GameboyAdvance, 17mhz ARM7 256K más 32M de memoria integrada, luego por un poco más de la mitad del precio de un segundo arduino 512KB de ram, más otros 16KB más 32MB de flash. Obtienes una pantalla y un puerto serie como regalo de promoción...

Para ese tipo de aplicación, se reduce a dos líneas principales de productos: PIC (Microchip) y AVR (Atmel). Ambos tienen muchos modelos, desde los más básicos (el ATTiny13, por ejemplo, es de 10 MHz y cuesta alrededor de $ 1) hasta los bastante sofisticados (que apenas superponen los ARM de nivel de entrada). Todos ellos admiten SPI/I2C a través de software o hardware, y aquellos con suficientes pines de interfaz se pueden conectar a una memoria externa. Para los que no, también existe la opción de usar una memoria SPI. También hay muchas opciones de herramientas para desarrollo y depuración, muchas de ellas gratuitas o de bajo costo.