En cáscara de nuez, cómo programar manualmente un microcontrolador [duplicar]

0

Sé que podemos programar y cargar programas dentro de un microcontrolador con un programador fácilmente disponible con una interfaz basada en computadora. ¿Pero quiero saber cómo se estaba haciendo lo mismo en días anteriores cuando la interfaz de No hay programador o computadora moderna no estaba disponible? Considérelo ya que estoy haciendo un proyecto completo, así que no se pierda ningún paso.

    
pregunta Roker

3 respuestas

8

En general, la mayoría de los microcontroladores han tenido programación en serie en circuito (ICSP), por ejemplo. donde un programador como el PICkit 3 está conectado a un microcontrolador PIC, y una imagen binaria del código se programa en la memoria del programa del microcontrolador mediante una interfaz de programación dedicada (en el caso de los PIC, una línea de datos PGED y una línea de reloj PGEC) .

Antes de que llegara la memoria flash, la memoria del programa podría tomar la forma de PROM (memoria de solo lectura programable), EPROM (PROM borrable) o EEPROM (PROM borrable eléctricamente). La última (EEPROM) es funcionalmente la misma que la memoria Flash de hoy, desde un punto de vista de programación. Las PROM rectas solo se podían programar una vez. Los procesadores con EPROM tenían ventanas pequeñas en ellos, y el programa se podía borrar en 20 minutos aproximadamente con luz UV. Las EPROM sin ventana también se vendieron como OTPROM - PROM una vez.

AntesdequelosmicrocontroladorestuvieranmemoriaprogramableeICSP,cualquiermemoriadeprogramaenchipsealmacenabaenlaROMysolopodíaserprogramadaporlafábrica.Estofueutilizadoparalaproduccióndegranvolumenquepodríajustificaresto.Elclientesuministraríaunarchivobinarioalafábricaquecontieneelprograma.Sihubounerrordespuésdequesefabricaronloschips,todosloschipstendríanquesertirados.

Porlotanto,antesdequesehicieranlasROM,elprogramanormalmenteseveríautilizandoun Emulador en circuito ( ICE), en el que los microprocesadores y / o los chips de memoria de código de programa serían reemplazados por un zócalo, y un cable grande conectó el zócalo al ICE. Esto permitió que el programa se descargara en el ICE y se verificara, antes de que se programara el chip; era similar a trabajar con las interfaces JTAG utilizadas hoy en día, la diferencia es que el costo típico de ICE es de alrededor de $ 5000 en dólares de los años 70.

Antesdelosmicrocontroladores,habíamicroprocesadores;ladiferenciaeraquenohabíamemoriadeprogramaenelchip;encambio,elmicroprocesadorteníabusesdedatosydireccionesexternos,ylamemoriadelprogramaestabacontenidaenunaROMexterna,PROM,EPROMochipEEPROM.Lostresúltimospodríanserprogramadosporelcliente.LoschipsdememoriaexternaqueusanROMtambiénseríanprogramadosporlafábrica.Estoseremontaal4004,quefueelprimermicroprocesador.

El 1702 (mostrado anteriormente) fue uno de los primeros EPROM y pudo almacenar 256 bytes del código del programa. El 2764 con 8 KB de código de programa fue otro chip popular más adelante. Estos chips serían programados usando un programador externo conectado a una PC. (Algunos de los programadores también contenían teclados donde se podía ingresar el código a mano o el código de parche que se había descargado).

Programaríasel(los)chip(s)quenecesitatuprogramayluegolosconectasalosenchufesdetutarjeta.Elprogramaseejecutóonosedebióaerrores.NohabíapuntosdeinterrupcióndisponiblesamenosqueestuvierautilizandounodeesosICEdemilesdedólares.

Sielprogramatuvieraunerror,intentaríaarreglarlo,programarunnuevoconjuntodechipsyrepetir.Debidoalafaltadepuntosdeinterrupción,seutilizaronamenudoimpresorasenunUARTenserie,asícomoLEDparpadeantesoelusodeunosciloscopioparamirarotrospinesdelprocesador.Sitequedassinfichas,esposiblequetengasqueesperar20minutosparaborrarlasconunborradorUV.

    
respondido por el tcrosley
3

En los viejos tiempos antes de que la programación de los chips ROM para sistemas integrados se hiciera construyendo la memoria, por ejemplo, tejiendo una memoria de cuerda.

Las computadoras de propósito general se programaron con cinta de papel (a menudo con los interruptores cargan el código del cargador para ejecutar el lector de cinta)

Esto fue superado por la ROM de la máscara que se programó en la fundición de silicio variando el óxido o la capa de metal para establecer o eliminar los bits.

Se usó el software

para preparar los datos para la ROM, y con la invención de PROM y EPROM, una conexión a una computadora podría escribirlo en los chips de memoria

    
respondido por el Jasen
0

El microprocesador RCA COSMAC 1802 incluía modos que facilitaron el ingreso de un programa en la RAM mediante una fila de interruptores y un botón, y verificaron el código mediante LED. Algunos diseños de kits de computadora a fines de la década de 1970 no tenían ninguna ROM, pero simplemente requerían que el usuario ingresara manualmente un programa de ajuste de arranque cuando se encendía el sistema. Hubo dos interruptores de modo operativo que, dependiendo de su posición, permitirían restablecer el contador del programa, almacenar los valores del interruptor en el contador del programa actual, bloquear el contenido de la RAM en el contador del programa a los LED o ejecutar el programa. En la última Feria de Computadoras Vintage, escribí un programa de 16 bytes en papel, lo ingresé por medio de interruptores y lo ejecuté exitosamente.

Si uno quisiera hacer algo similar hoy, la mejor opción probablemente sería obtener algunos microcontroladores 16C54 que se puedan borrar con UV, un búfer o inversor Schmidt de disparo hexadecimal, un contador de 12 bits, algunas resistencias y algunos condensadores, LED , algunos interruptores, y posiblemente un chip contador binario. Si el cable de reinicio 16C54 pasa de bajo a +12 voltios, las entradas de reloj y RTCC controlarán las operaciones de programación. Uno de ellos alterna entre copiar los estados del interruptor entre programar las celdas de memoria y leer su contenido. El otro incrementa el contador de programación.

rh Programar el chip es simplemente una cuestión de golpear una de las entradas (me olvido de cuál) para leer el contenido de la ubicación de memoria 000 (asegurarse de que esté en blanco), establecer los interruptores en lo que se supone que debe estar allí, volver a golpear esa entrada para copiar el estado de conmutación a la memoria EPROM, y al golpearlo por tercera vez para leer los nuevos contenidos. Luego presione el otro interruptor, realice los pasos anteriores para la ubicación 001, etc., hasta que se haya programado todo lo que le interesa (hasta 512 palabras). Luego reinicie a tierra, deje que suba a 5 voltios y deje que el reloj del chip funcione para ejecutar el programa.

Si uno tiene un suministro adecuado de chips 16C54 disponibles, se podría usar una plataforma como la que se describe para programar uno para que funcione como un componente clave en un dispositivo de programación PIC automatizado que podría hacer cosas como aceptar entradas desde un puerto serie .

    
respondido por el supercat

Lea otras preguntas en las etiquetas