Tabla de contenido:

El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €: 13 pasos (con imágenes)
El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €: 13 pasos (con imágenes)

Video: El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €: 13 pasos (con imágenes)

Video: El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €: 13 pasos (con imágenes)
Video: ¿Qué puede pasar? #shorts 2024, Junio
Anonim
Image
Image
El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €
El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €
El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €
El KIM Uno: un emulador de kit de desarrollo de microprocesador de 5 €

El KIM Uno es un kit de desarrollo portátil definido por software para microprocesadores (retro). Pero permítanme presentarles la idea retrocediendo en el tiempo:

A fines de 2018, se me ocurrió que quería construir un pequeño kit de desarrollo de microprocesador portátil, como el famoso KIM-1 de MOS Technology, Inc. y diseñado por Chuck Peddle, quien también participó en la creación de la CPU 6502.

Pero construir un kit de desarrollo "básico" con componentes lógicos discretos no era una opción, ya que necesitaba una gran fuente de alimentación (ya que esos dispositivos antiguos tienden a consumir mucha corriente) y también el desarrollo requeriría mucho tiempo. ¡Y lo quiero ahora!

Por lo tanto, diseñé el KIM Uno como un dispositivo portátil, que cabe en una mano y funciona con dos baterías CR2032. Utiliza el microcontrolador ATMega328p ("Arduino") que se ejecuta a 8 MHz para emular (o simular) una CPU deseada. Esta arquitectura también asegura que las CPU emuladas sean intercambiables con cualquier cosa que quepa dentro de la memoria flash del microcontrolador. Por tanto, es un dispositivo polivalente.

Por coincidencia, más tarde vi una muy buena charla, llamada The Ultimate Apollo Guidance Computer Talk (34C3), en YouTube, donde se menciona "One Instruction Set Computers" o OISC. No los conocía y encontré este como el candidato perfecto para implementarlo.

El KIM Uno emula una CPU con una sola instrucción: subleq - restar y bifurcar si es menor o igual a cero.

Si sigues conmigo a través de este Instructable, puedes construir tu propio KIM Uno en poco tiempo. Y lo mejor, además de que puedes modificarlo a tu gusto, es que solo cuesta 4, 75 € (a finales de 2018).

Una pista: hay un repositorio de Git que contiene todos los archivos proporcionados por los diferentes pasos de este instructable. En caso de que quieras modificar algunos recursos y compartirlos con todos puedes hacer un PR. Pero también puede descargar todos los archivos a la vez allí. Simplemente a https://github.com/maxstrauch/kim-uno. ¡Gracias!

Hay otro proyecto bastante interesante, llamado igual (KIM Uno), que hace una réplica real del 6502 KIM Uno. Compruébalo aquí. El creador incluso vende el kit. Entonces, si está interesado en 6502 y le gusta este proyecto, ¡debería echar un vistazo allí!

Paso 1: abastecimiento de la PCB

Abastecimiento de la PCB
Abastecimiento de la PCB
Abastecimiento de la PCB
Abastecimiento de la PCB

Como puede ver, aproveché la oportunidad para diseñar un PCB y dejar que se hiciera profesionalmente. Dado que fabricarlo externamente y enviárselo a usted llevará mucho tiempo (dependiendo de dónde se encuentre en el mundo;-)), ordenarlo es el primer paso. Luego, podemos continuar con los otros pasos mientras se fabrica y se le envía la PCB.

Pedí mis PCB en China en PCBWay por solo $ 5. No obtengo ningún beneficio por presentar PCBWay como mi fabricante de goto para PCB, es solo que funcionó bien para mí y también podría funcionar bien para usted. Pero puede solicitarlos en cualquier otro lugar como JLCPCB, OSH Park o cualquier empresa local de PCB.

Pero si está dispuesto a solicitarlos en PCBWay, puede descargar el archivo ZIP adjunto "kim-uno-rev1_2018-12-12_gerbers.zip" y cargarlo directamente en PCBWay sin ningún cambio. Este es el archivo original que utilicé para pedir los PCB que puedes ver en las imágenes.

Si los está pidiendo a otro fabricante, es posible que deba volver a exportarlos de las fuentes originales de KiCad, porque los generé con las especificaciones de PCBWay que puede encontrar aquí. Para las fuentes originales de KiCad, descargue "kim-uno-kicad-sources.zip" y extráigalo.

Pero incluso hay una segunda forma: si no desea pedir la PCB, puede crear su propia versión usando perfboard o incluso una protoboard.

De todos modos: dado que los PCB están en camino, ¡podemos concentrarnos en las otras partes! Ven, sígueme.

Paso 2: obtención de los componentes

Abastecimiento de los componentes
Abastecimiento de los componentes
Abastecimiento de los componentes
Abastecimiento de los componentes
Abastecimiento de los componentes
Abastecimiento de los componentes

Ahora necesita obtener los componentes. Para ello, encontrará una imagen general de todos los componentes y cantidades que necesita, adjunta a este paso, así como una lista de materiales (BOM).

La lista de materiales contiene enlaces a eBay. Aunque esas ofertas pueden estar cerradas cuando lea esto, puede usarlas como punto de partida. Los componentes usados son bastante estándar.

A continuación, te explicaré todos los componentes necesarios:

  • 7 resistencias de 1 kΩ para las pantallas de siete segmentos. Puede reducir el valor (por ejemplo, a 470 Ω) para que brillen más, pero no lo reduzca demasiado, de lo contrario, los LED se apagarán o la batería se agotará muy rápidamente. Descubrí que este valor me funciona
  • 1x 10 kΩ como resistencia pull-up para la línea RESET del microcontrolador
  • 1x condensador de 100nF para suavizar los picos de voltaje (lo que no debería suceder ya que estamos usando baterías, cierto, pero por si acaso …)
  • 1x ATMega328P en el paquete DIP-28 (normalmente llamado ATMega328P-PU)
  • 1x el PCB principal - vea el paso anterior; ya sea ordenado o construido por usted mismo
  • 2x soportes de batería CR2032
  • 1x interruptor SPDT (unipolar, doble tiro) que básicamente tiene tres contactos y en cada uno de sus dos estados (encendido o apagado) conecta dos contactos
  • 20 pulsadores táctiles para el teclado. Para usar la parte posterior de la PCB, utilicé botones táctiles SMD (los estándar de 6x6x6 mm); son bastante fáciles de soldar, como verá.
  • OPCIONAL: 1x encabezado de 1x6 pines para conectar el programador, pero esto es opcional como verá más adelante
  • 1x pantalla de siete segmentos con 4 dígitos y 1x pantalla de siete segmentos con 2 dígitos: la placa aceptará solo elementos de 0,36 pulgadas (9, 14 mm) con cableado de ánodo común. Ambos requisitos son importantes para conseguir una unidad que funcione. Pero también este tipo de pantalla de siete segmentos es muy común

Adjunto a este paso puede encontrar el archivo "component-datasheets.zip" que contiene información más precisa sobre las dimensiones y tipos de los componentes utilizados. Pero la mayoría de los componentes son muy estándar y pueden obtenerse fácilmente por poco dinero.

Ahora debe esperar hasta que tenga todos los componentes listos para continuar soldando. Durante este tiempo, ya puede saltar hasta el final y leer un poco sobre el uso de KIM Uno si lo desea.

Paso 3: descripción general de la herramienta de soldadura

Descripción general de la herramienta de soldadura
Descripción general de la herramienta de soldadura
Descripción general de la herramienta de soldadura
Descripción general de la herramienta de soldadura

Para soldar y construir el KIM Uno, necesita las herramientas que se muestran en las imágenes:

  • Cortador de cables (para cortar el extremo de los cables de los componentes)
  • Alicates planos
  • Par de pinzas
  • (decente) Soldadura que no es demasiado gruesa - yo uso soldadura de 0,56 mm
  • Un soldador: no necesita un soldador de alta gama (porque tampoco estamos haciendo ciencia espacial aquí): uso el Ersa FineTip 260 durante mucho tiempo y es realmente bueno
  • Un bolígrafo de flujo: agregar flujo a los componentes y las almohadillas hace que sea mucho más fácil soldarlos, ya que la soldadura luego "fluye" por sí sola al lugar correcto *
  • Opcionalmente: una esponja (de lana de metal) para su soldador

Para programar posteriormente el KIM Uno también necesitará:

  • una computadora con la cadena de herramientas AVR-GCC y avrdude para cargar el firmware
  • un ISP (programador): como puede ver en la imagen, estoy usando mi Arduino Uno como ISP con un boceto especial, por lo que no es necesario comprar ningún hardware elegante

* Se necesita alguna orientación por parte de los humanos;-)

¿Estás listo? En el siguiente paso, comenzaremos a ensamblar el KIM Uno.

Paso 4: Soldadura n. ° 1: Adición de resistencias y condensadores

Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores
Soldadura n. ° 1: adición de resistencias y condensadores

Siempre debe trabajar desde los componentes más pequeños (en términos de altura del componente) primero, hasta los componentes más altos al final. Por lo tanto, comenzamos agregando las resistencias e inclinándonos sobre las patas en la parte posterior para que las resistencias sean fáciles de soldar y permanezcan en su lugar. Luego corte los alambres largos.

Además, no se muestra en las imágenes, agregue el condensador pequeño de 100 nF de la misma manera.

Un consejo: guarde esas patas de alambre en un recipiente pequeño, a veces son útiles.

Paso 5: Soldadura n. ° 2: Montaje del teclado

Soldadura n. ° 2: montaje del teclado
Soldadura n. ° 2: montaje del teclado
Soldadura n. ° 2: montaje del teclado
Soldadura n. ° 2: montaje del teclado
Soldadura n. ° 2: montaje del teclado
Soldadura n. ° 2: montaje del teclado

El siguiente paso es soldar los 20 interruptores táctiles SMD. Dado que este trabajo es un poco complicado, lo hacemos ahora, cuando la PCB está plana sobre el banco de trabajo.

Trabajaremos de arriba a abajo (o de izquierda a derecha si la PCB está orientada como se muestra en las fotos) y comenzaremos con la primera fila: elija una de las cuatro almohadillas para cada interruptor y humedézcala con el bolígrafo de flujo.

Luego use un par de pinzas para agarrar un interruptor y colóquelo con cuidado en las cuatro almohadillas. Luego suelde solo la pata del interruptor que está en la almohadilla que eligió y preparó con fundente. Para esto debes "agarrar" un poco de soldadura con tu plancha antes de comenzar. Con este método, complete toda la fila de interruptores, soldando solo una pata.

La imagen con las flechas muestra una ampliación de cómo se realizó exactamente la soldadura.

Después de haber soldado toda la fila (solo un pin), puede hacer pequeños ajustes calentando el pin de nuevo y reposicionando el interruptor. Asegúrese de que los interruptores estén alineados lo mejor posible.

Si está satisfecho con la alineación, puede mojar todos los demás pines con el bolígrafo de flujo y luego soldarlos tocándolo con el soldador y agregando un poco de soldadura tocándolo también. Verá que la soldadura se succiona directamente sobre la almohadilla.

Después de soldar una fila más o menos, notará que le coge el truco y no es tan difícil sino repetitivo. Así que haz el resto y terminarás con un teclado terminado en poco tiempo.

Paso 6: Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado del pin

Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado de clavija
Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado de clavija
Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado de clavija
Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado de clavija
Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado de clavija
Soldadura n. ° 3: la pantalla de siete segmentos, el interruptor y el encabezado de clavija

Ahora puede agregar el interruptor y el encabezado del pin (opcional) sosteniéndolo con el dedo y soldando un pin para sujetarlo a la PCB, de modo que pueda soldar los otros pines y finalmente retocar el pin de sujeción inicial.

Tenga cuidado de no quemarse con el soldador caliente. Si no se siente cómodo con esto, puede usar un poco de cinta (por ejemplo, cinta de pintor) para sujetar el componente. De esta forma tendrá ambas manos libres para moverse.

Las pantallas de siete segmentos se sueldan de la misma manera (ver imagen): lo colocas, lo sostienes con la mano o con cinta y sueldas dos pines opuestos para mantenerlo en su lugar mientras puedes soldar los otros pines.

Pero tenga cuidado y coloque la pantalla de siete segmentos en la dirección correcta (con los puntos decimales hacia el teclado). De lo contrario, estás en problemas …

Paso 7: Soldar # 4: Soldar el microcontrolador

Soldadura n. ° 4: soldar el microcontrolador
Soldadura n. ° 4: soldar el microcontrolador

Ahora que tiene mucha práctica, puede continuar y colocar el microcontrolador con la muesca en la parte superior (o el primer pin) hacia el interruptor. Con unos alicates planos, puede doblar con cuidado las patas del microcontrolador un poco hacia adentro, de modo que coincidan con los orificios de la PCB.

Dado que se ajusta bien, necesita un poco de fuerza controlada para colocar el microcontrolador. La ventaja es que no se cae. Esto significa que puede tomarse su tiempo y soldarlo desde la parte posterior.

Paso 8: Soldadura n. ° 5: agregue los portapilas (paso final)

Soldadura n. ° 5: agregue los portapilas (paso final)
Soldadura n. ° 5: agregue los portapilas (paso final)
Soldadura n. ° 5: agregue los portapilas (paso final)
Soldadura n. ° 5: agregue los portapilas (paso final)
Soldadura n. ° 5: agregue los portapilas (paso final)
Soldadura n. ° 5: agregue los portapilas (paso final)

Finalmente, debe agregar los soportes de la batería a la parte posterior. Para esto, simplemente use el bolígrafo de flujo y humedezca las cuatro almohadillas y luego suelde un poco su plancha. Alinee el soporte de la batería con cuidado en ambas almohadillas. En ambos extremos de los contactos debe quedar visible la misma cantidad de la almohadilla de la placa de circuito impreso. Toque la almohadilla de la placa de circuito impreso y la pata del soporte de la batería con su plancha. La soldadura fluirá debajo de la almohadilla y sobre ella y la asegurará en su lugar como se muestra en la imagen. Si tiene problemas con esto, puede agregar más fundente con la pluma.

Paso 9: flasheo del emulador

Flasheo del emulador
Flasheo del emulador
Flasheo del emulador
Flasheo del emulador
Flasheo del emulador
Flasheo del emulador

En el archivo zip adjunto "kim-uno-firmware.zip" puede encontrar el código fuente del emulador junto con un "main.hex" ya compilado que puede cargar directamente en el microcontrolador.

Antes de poder usarlo, debe configurar los bits de fusible del microcontrolador, de modo que use el reloj interno de 8 MHz sin dividirlo por la mitad. Puede hacer el trabajo con el siguiente comando:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U lfuse: w: 0xe2: m -U hfuse: w: 0xd9: m -U efuse: w: 0xff: m

Si no conoce avrdude: es un programa para cargar programas a un microcontrolador. Puedes aprender más acerca de esto aquí. Básicamente lo instalas y luego está listo para usar. Para su configuración, es posible que deba cambiar el argumento de "-P" a otro puerto serie. Verifique en su computadora qué puerto serie se utiliza (por ejemplo, dentro del Arduino IDE).

Después de esto, puede actualizar el firmware en el microcontrolador con este comando:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U flash: w: main.hex

Nuevamente: lo mismo se aplica a "-P" que arriba.

Como no tengo un ISP (programador en el sistema) "profesional", siempre uso mi Arduino UNO (ver imagen) y el boceto que adjunto ("arduino-isp.ino", de Randall Bohn). Sé que hay una versión más nueva, pero con esta versión no tuve ningún problema durante los últimos cinco años, así que la conservo. Simplemente funciona. Usando el comentario en el encabezado del boceto, obtienes el pinout en el Arduino UNO y usando el esquema del KIM Uno (ver adjunto) puedes obtener el pinout del encabezado 1x6 ISP en el KIM Uno. El pin cuadrado, cerca de la pantalla de siete segmentos, es el pin 1 (GND). Los siguientes pines son (en el orden correcto): RESET, MOSI, MISO, SCK, VCC. Puede conectar VCC a 3V3 o a 5V.

Si no agregó el encabezado de clavijas de 1x6, puede usar cables de tablero y colocarlos en los orificios de conexión y colocarlos en ángulo con el dedo, tal como se muestra en la imagen. Esto hace suficiente contacto para actualizar el firmware y configurar los fusibles. Pero si desea una configuración más permanente, definitivamente debe agregar los encabezados de pin 1x6.

Tengo dos dispositivos: una versión de producción sin los encabezados de los pines y una versión de desarrollo con los encabezados de los pines que dejo conectados y los uso una y otra vez durante el desarrollo. Esto es mucho más cómodo.

Paso 10: terminado

Finalizado
Finalizado
Finalizado
Finalizado

Ahora ha terminado y puede comenzar a escribir sus propios programas de subbleq en papel, ensamblarlos y luego ingresarlos en la memoria.

El KIM Uno viene con un cálculo de Fibonacci preprogramado que comienza en la ubicación de memoria 0x0a. Está configurado de forma predeterminada en n = 6, por lo que debería dar como resultado un valor de 8. Presione "Ir" para iniciar el cálculo.

Paso 11: Análisis de diseño de PCB

Análisis de diseño de PCB
Análisis de diseño de PCB
Análisis de diseño de PCB
Análisis de diseño de PCB

Después de completar este proyecto, encontré un par de puntos que son dignos de mención y deberían abordarse en una nueva revisión de la placa:

  • La pantalla de seda del ATMega328p no tiene la muesca habitual donde se encuentra el primer pin. La huella DIP-28 ni siquiera tiene una almohadilla cuadrada donde se encuentra el primer pin. Esto definitivamente debería mejorarse con una serigrafía más detallada para evitar confusiones.
  • el encabezado del ISP no tiene etiquetas de conexión en la pantalla de seda. Esto hace que sea difícil reconocer cómo conectarlo al ISP.
  • el encabezado del ISP se puede cambiar a un encabezado de 2x6 pines con un diseño de pines estándar para evitar confusiones

Aparte de esos puntos, estoy bastante contento de cómo resultó y funcionó en el primer intento.

Paso 12: ¿Cómo programar SUBLEQ?

Image
Image
¿Cómo programar SUBLEQ?
¿Cómo programar SUBLEQ?
¿Cómo programar SUBLEQ?
¿Cómo programar SUBLEQ?

Como se mencionó al principio, el firmware actual de KIM Uno emula una computadora con un conjunto de instrucciones (OISC) y proporciona la instrucción subleq para realizar cálculos.

La instrucción subleq significa restar y bifurcar si es menor o igual que cero. En pseudocódigo, esto se parece a lo siguiente:

subleq A B C mem [B] = mem [B] - mem [A]; si (mem [B] <= 0) goto C;

Dado que KIM Uno emula una máquina de 8 bits, todos los argumentos A, B y C son valores de 8 bits y, por lo tanto, puede direccionar una memoria principal total de 256 bytes. Obviamente, esto se puede ampliar, haciendo valores multibyte A, B y C. Pero por ahora hagámoslo simple.

El KIM Uno también tiene "periféricos": la pantalla y el teclado. Utiliza una arquitectura de mapa de memoria para interconectar esos periféricos, aunque el mapa de memoria es muy simple:

  • 0x00 = el registro Z (cero) y debe mantenerse en cero.
  • 0x01 - 0x06 = seis bytes que representan el valor de cada uno de los segmentos de la pantalla (de derecha a izquierda). Un valor 0xf: consulte el código fuente (main.c) para obtener más detalles.
  • 0x07, 0x08, 0x09 = tres bytes donde cada byte representa dos visualizaciones de siete segmentos (de derecha a izquierda). Estas ubicaciones de memoria permiten simplemente mostrar un resultado sin dividir el resultado en dos nibbles para colocarlo en las ubicaciones de memoria de un solo dígito 0x01 - 0x06.
  • 0x0a + = Un programa comienza en 0x0a. Actualmente, la tecla "Ir" se ejecuta desde 0x0a fijo.

Con esta información, ahora se puede escribir un programa en ensamblador e ingresar las instrucciones en la memoria y luego ejecutarlo. Dado que solo hay una instrucción, solo se ingresan los argumentos (A, B y C). Entonces, después de tres ubicaciones de memoria, comienzan los siguientes argumentos de instrucción y así sucesivamente.

Adjunto a este paso puede encontrar el archivo "fibonacci.s" y también una imagen del programa escrito a mano que es un ejemplo de implementación de Fibonacci. Pero espere: se utilizan tres instrucciones, específicamente ADD, MOV y HLT, que no son subbleq. "¿Cuál es el trato? ¿No dijiste que solo hay una instrucción, subleq?" ¿estás preguntando? Es muy fácil: con subleq uno puede imitar esas instrucciones muy fácilmente:

MOV a, b: los datos de copia en la ubicación aab pueden estar compuestos por:

  1. subleq b, b, 2 (siguiente instrucción)
  2. subleq a, Z, 3 (siguiente instrucción)
  3. subleq Z, b, 4 (siguiente instrucción)
  4. subleq Z, Z, p. ej. 5 (siguiente instrucción)

Usando la función de resta de subleq, que hace mem - mem [a] y sobrescribe mem con el resultado, el valor se copia usando el registro cero. Y "subleq Z, Z, …" simplemente restablece el registro cero a 0, independientemente del valor de Z.

ADD a, b - suma los valores a + by almacena la suma en b puede estar compuesta por:

  1. subleq a, Z, 2 (siguiente instrucción)
  2. subleq Z, b, 3 (siguiente instrucción)
  3. subleq Z, Z, p. ej. 4 (siguiente instrucción)

Esta instrucción simplemente calcula mem - (- mem [a]) que es mem + mem [a] utilizando también la función de resta.

HLT: detiene la CPU y finaliza la ejecución:

Por definición, el emulador sabe que la CPU quiere terminar si salta a 0xff (o -1 si se graba). Tan simple

subleq Z, Z, -1

hace el trabajo e indica al emulador que debe finalizar la emulación.

Usando estas tres sencillas instrucciones, el algoritmo de Fibonacci se puede implementar y funciona bien. Esto se debe a que el OISC puede calcular todo lo que una computadora "real" puede calcular con sólo la instrucción subleq. Pero, por supuesto, hay muchas ventajas y desventajas, como la longitud y la velocidad del código. Sin embargo, es una excelente manera de aprender y experimentar con computadoras y programación de software de bajo nivel.

Adjunto a este paso también puede encontrar el archivo zip "kim_uno_tools.zip". Contiene un ensamblador básico y un simulador para KIM Uno. Están escritos en NodeJS; asegúrese de haberlo instalado.

Montaje de programas

Si echa un vistazo a "fibonacci / fibonacci.s" encontrará que es el código fuente de la implementación de fibonacci discutida. Para ensamblarlo y convertirlo en un programa, que el KIM Uno pueda ejecutar, ingrese el siguiente comando (en la raíz del archivo "kim_uno_tools.zip" extraído):

nodo ensamblar.js fibonacci / fibonacci.s

e imprimirá un error si cometió un error o derramará el programa resultante. Para guardarlo, puede copiar el resultado y guardarlo en un archivo o simplemente ejecutar este comando:

nodo ensamblar.js fibonacci / fibonacci.s> yourfile.h

La salida está formateada de manera que se puede incluir directamente en el firmware de KIM Uno como un archivo de encabezado C, pero el simulador también puede usarlo para simular. Simplemente ingrese:

nodo sim.js yourfile.h

Y se le presentará el resultado de la simulación y la salida esperada del KIM Uno en la pantalla.

Esta fue una introducción muy breve a estas herramientas; Te recomiendo que juegues con ellos y mires cómo funcionan. De esta manera, obtiene un conocimiento profundo y aprende los principios de funcionamiento detrás de las CPU, instrucciones, ensambladores y emuladores;-)

Paso 13: Outlook

panorama
panorama
panorama
panorama
panorama
panorama

¡Felicidades

Si lees esto, probablemente hayas revisado todo este instructivo y hayas construido tu propio KIM Uno. Esto es realmente bueno.

Pero el viaje no termina aquí: hay un número infinito de opciones para modificar el KIM Uno y personalizarlo según sus necesidades y gustos.

Por ejemplo, el KIM Uno podría estar equipado con un emulador de CPU retro "real" que podría emular el famoso MOS 6502 o Intel 8085, 8086 o 8088. Luego seguiría el camino hacia mi visión inicial, antes de conocer los OISC.

Pero hay otros usos posibles, ya que el diseño del hardware es bastante genérico. El KIM Uno podría usarse como …

  • … un mando a distancia p. Ej. para CNC u otros dispositivos. Quizás esté cableado o equipado con un diodo IR o cualquier otro transmisor inalámbrico
  • … Una calculadora de bolsillo (hexadecimal). El firmware se puede adaptar muy fácilmente y no es necesario cambiar mucho el diseño de la placa. Tal vez la serigrafía se pueda adaptar con operaciones matemáticas y se pueda eliminar el espacio entre los segmentos. Aparte de esto, ya está listo para esta transformación.

Espero que se hayan divertido tanto siguiendo y, con suerte, construyendo el KIM Uno como yo lo había diseñado y planificado. Y si lo amplía o modifica, hágamelo saber. ¡Salud!

Concurso de PCB
Concurso de PCB
Concurso de PCB
Concurso de PCB

Finalista en el Concurso de PCB

Recomendado: