El desarrollo de la electrónica avanza rápidamente y, cada vez más, el elemento principal de un dispositivo es un microcontrolador. Realiza el trabajo principal y libera al diseñador de la necesidad de crear circuitos sofisticados, reduciendo así el tamaño de la placa de circuito al mínimo. Como todos saben, el microcontrolador está controlado por un programa grabado en su memoria interna. Y si un programador electrónico experimentado no tiene problemas para usar microcontroladores en sus dispositivos, entonces, para un radioaficionado principiante, intentar escribir un programa en un controlador (especialmente PIC) puede resultar una gran decepción y, a veces, un pequeño espectáculo pirotécnico en forma de un chip humeante.
Curiosamente, pero con toda la grandeza de Internet, tiene muy poca información sobre el firmware. Controladores de imagen, y el material que se puede encontrar es de muy dudosa calidad. Por supuesto, puede comprar un programador de fábrica por un precio inadecuado y coser todo lo que quiera, pero qué pasa si la persona no se dedica a la producción en masa. Para estos fines, puede armar una implementación simple y no costosa hecho en casallamado Programador JDM de acuerdo con el diagrama a continuación (figura No. 1):
Curiosamente, pero con toda la grandeza de Internet, tiene muy poca información sobre el firmware. Controladores de imagen, y el material que se puede encontrar es de muy dudosa calidad. Por supuesto, puede comprar un programador de fábrica por un precio inadecuado y coser todo lo que quiera, pero qué pasa si la persona no se dedica a la producción en masa. Para estos fines, puede armar una implementación simple y no costosa hecho en casallamado Programador JDM de acuerdo con el diagrama a continuación (figura No. 1):
Figura №1 - diagrama del programador
Inmediatamente traigo una lista de elementos para aquellos que son demasiado flojos para mirar en el diagrama:
- R1 - 10 kOhm
- R2 - 10 kOhm (truncado). Al ajustar la resistencia de esta resistencia, debe alcanzar aproximadamente 13 V en el pin No. 4 (VPP) durante la programación. En mi caso, la resistencia es de 1.2 kOhm
- R3 - 200 ohmios
- R4, R5 - 1.5 kOhm
- VD1, VD2, VD3, VD4, VD6 - 1N4148
- VD5 - 1N4733A (voltaje de estabilización 5.1V)
- VD7 - 1N4743A (voltaje de estabilización 13V)
- C1 - 100 nF (0.1 μF)
- C2 - 470 μF x 16 V (electrolítico)
- SUB-D9F - Conector de puerto COM (MOM o SOCKET)
- Zócalo DIP8: depende del controlador que utilice
El circuito utiliza un ejemplo de conexión de controladores comunes como PIC12F675 y PIC12F629, pero esto no significa en absoluto que el firmware de otras series Pic Será imposible. Para escribir un programa en un controlador de un tipo diferente, es suficiente transferir los cables del programador de acuerdo con la Figura 2, que se proporciona a continuación.
Figura No. 2 - Opciones de caja del controlador PIC con las conclusiones necesarias
Como puede suponer, el caso se usa en el esquema de mi programador Dip8. Con un gran deseo, puede hacer un adaptador universal para cada tipo de chip, obteniendo así un programador universal. Pero ya que con Controladores PIC Raramente trabajo, eso es suficiente para mí.
Aunque el circuito en sí es bastante simple y no causa dificultades en el montaje, también requiere respeto. Por lo tanto, sería bueno hacer una placa de circuito impreso para ello. Después de algunas manipulaciones con el programa. Sprintlayout, textolita, taladro y hierro, aquí nació un espacio en blanco (foto No. 3).
Aunque el circuito en sí es bastante simple y no causa dificultades en el montaje, también requiere respeto. Por lo tanto, sería bueno hacer una placa de circuito impreso para ello. Después de algunas manipulaciones con el programa. Sprintlayout, textolita, taladro y hierro, aquí nació un espacio en blanco (foto No. 3).
Foto No. 3 - placa de circuito del programador
Descargar fuente de PCB para el programa Sprintlayout Puedes seguir este enlace:
Si lo desea, puede cambiarlo a su tipo de controlador PIC. Para aquellos que decidieron dejar el tablero sin cambios, extendí la vista desde el costado de las partes para facilitar la instalación (Figura 4).
Si lo desea, puede cambiarlo a su tipo de controlador PIC. Para aquellos que decidieron dejar el tablero sin cambios, extendí la vista desde el costado de las partes para facilitar la instalación (Figura 4).
Figura 4 - Tablero en el lado de montaje
Un poco más de brujería con un soldador y tenemos un dispositivo listo para usar que puede parpadear Controlador de imagen a través de Puerto COM tu computadora Todavía caliente y no lavado por el flujo, el resultado de mis esfuerzos se muestra en la foto No. 5.
De ahora en adelante, el primer paso hacia el firmware Controlador de imagenllegó a su fin. La segunda etapa incluirá conectar el programador a la computadora y trabajar con el programa IC Prog.
Desafortunadamente, no todas las computadoras y computadoras portátiles modernas pueden trabajar con este programador debido a la ausencia banal de ellas. Puertos COM, y los que están instalados en computadoras portátiles no dan la programación necesaria 12V. Entonces decidí pasar a mi primer PCquien hace mucho tiempo desempolvó y esperó su mejor hora (y aún esperó).
Encienda la computadora e instale primero el programa IC Prog. Puedes descargarlo desde el sitio del autor o en este enlace:
Conectamos el programador a Puerto COM y ejecute la aplicación recién instalada. Para un funcionamiento correcto, es necesario realizar una serie de manipulaciones. Inicialmente, es necesario elegir el tipo de controlador que vamos a coser. Lo tengo PIC12F675. En la captura de pantalla # 6, el campo para seleccionar el controlador se resalta en rojo.
Desafortunadamente, no todas las computadoras y computadoras portátiles modernas pueden trabajar con este programador debido a la ausencia banal de ellas. Puertos COM, y los que están instalados en computadoras portátiles no dan la programación necesaria 12V. Entonces decidí pasar a mi primer PCquien hace mucho tiempo desempolvó y esperó su mejor hora (y aún esperó).
Encienda la computadora e instale primero el programa IC Prog. Puedes descargarlo desde el sitio del autor o en este enlace:
Conectamos el programador a Puerto COM y ejecute la aplicación recién instalada. Para un funcionamiento correcto, es necesario realizar una serie de manipulaciones. Inicialmente, es necesario elegir el tipo de controlador que vamos a coser. Lo tengo PIC12F675. En la captura de pantalla # 6, el campo para seleccionar el controlador se resalta en rojo.
Captura de pantalla 6: selección del tipo de microcontrolador
A continuación, vaya al menú "Configuración "->" Opciones", en la ventana que aparece, seleccione la pestaña I2C y marque las casillas como se muestra en la captura de pantalla # 7.
Captura de pantalla 7: configuración del método de grabación del controlador
En la misma ventana, vaya a la pestaña "Programacion"y seleccione"Comprobación de programación". Verificar después de la programación puede causar un error, porque en algunos casos el firmware instala bloqueos de bloqueo SR. Para no engañarse, es mejor deshabilitar esta verificación. En resumen, siga la captura de pantalla número 8.
Captura de pantalla n. ° 8: configuración de verificación
Seguimos trabajando con esta ventana y vamos a "General". Aquí es necesario establecer la prioridad del programa y asegurarse de utilizar NT / 2000 / XP conductor (captura de pantalla número 9). En algunos casos, el programa puede sugerir la instalación de este controlador y puede requerir un reinicio IC Prog.
Captura de pantalla 9: Configuración general
Entonces, con esta ventana, el trabajo ha terminado. Ahora pasemos a la configuración del programador. Elige en el menú "Configuración "->" Configuración del programador"o simplemente presione la tecla F3. Aparece la siguiente ventana, que se muestra en la captura de pantalla # 10.
Captura de pantalla n. ° 10: ventana de configuración del programador
En primer lugar, seleccione el tipo de programador: Programador jdm. A continuación, configuramos el botón de opción para usar el controlador Ventanas. El siguiente paso es elegir Puerto COMa la que está conectado su programador. Si es uno, no hay preguntas en absoluto, y si hay más de una, busque en el administrador de dispositivos que se está utilizando actualmente. El control deslizante de retardo de entrada / salida está diseñado para controlar la velocidad de escritura y lectura. Esto puede ser necesario en computadoras rápidas y si hay problemas con el firmware, este parámetro debe aumentarse. En mi caso, se mantuvo por defecto igual a 10 y todo funcionó bien.
En esta configuración de programa IC Prog ha terminado y puede continuar con el proceso del firmware, pero primero leemos los datos del microcontrolador y vemos lo que está escrito en él. Para hacer esto, en la barra de herramientas, haga clic en el icono del microcircuito con una flecha verde, como se muestra en la captura de pantalla No. 11.
En esta configuración de programa IC Prog ha terminado y puede continuar con el proceso del firmware, pero primero leemos los datos del microcontrolador y vemos lo que está escrito en él. Para hacer esto, en la barra de herramientas, haga clic en el icono del microcircuito con una flecha verde, como se muestra en la captura de pantalla No. 11.
Captura de pantalla 11: proceso de lectura de información del microcontrolador
Si el microcontrolador es nuevo y no se ha actualizado antes, entonces todas sus celdas de memoria se llenarán de valores 3FFFexcepto el último. Contendrá el valor de la constante de calibración. Este es un valor muy importante y único para cada controlador. La precisión del reloj depende de él, que es seleccionado por el fabricante seleccionando e instalando esta constante. La captura de pantalla No. 12 muestra la celda de memoria en la que se almacenará la constante al leer el controlador.
Captura de pantalla 12: valor de la constante de calibración
Repito que el valor es único para cada microcircuito y no tiene que coincidir con lo que se muestra en la figura. Muchos por inexperiencia sobrescriben esta constante y posteriormente Controlador de imagen comienza a funcionar incorrectamente si el proyecto usa la sincronización de un generador interno. Le aconsejo que escriba esta constante y pegue la inscripción con su valor directamente en el controlador. De esta manera evitará muchos problemas en el futuro. Entonces, el valor se anota, seguimos adelante. Abra el archivo de firmware, que generalmente tiene una extensión .hex. Ahora en vez de escribir 3FFF, el búfer de programación contiene el código de nuestro programa (captura de pantalla No. 13).
Captura de pantalla 13: firmware descargado en el búfer de programación
Escribí anteriormente que muchos sobrescriben la constante de calibración por negligencia. ¿Cuándo sucede esto? Esto sucede cuando se abre el archivo de firmware. El valor de la constante cambia automáticamente a 3FFF y si comienzas el proceso de programación, entonces no hay vuelta atrás. En la captura de pantalla No. 14, esa celda de memoria donde la constante era previamente 3450 (antes de abrir archivo hexadecimal).
Captura de pantalla n. ° 14: cambio automático de la constante de calibración
Ahora debe seguir cuidadosamente los pasos a continuación. Hacemos clic en el icono del microcircuito con un rayo en la barra de herramientas, informando así al programa que queremos iniciar el proceso de firmware. El programa preguntará si estamos seguros de que queremos actualizar este dispositivo. Estamos de acuerdo y hacemos clic en "Si". Después de eso, recibimos la advertencia que se muestra en la captura de pantalla # 15.
Captura de pantalla n. ° 15: advertencia sobre la discrepancia en los valores de la constante del reloj
IC Prog nos dice que un valor de la constante de calibración (en mi caso 3450), y ahora otro (3FFF) sustituido automáticamente de archivo hexadecimal. También se propone dejar el valor predeterminado 3FFF. Es importante hacer clic en "NO"a IC Prog durante la programación nos devolvió el valor 3450 o lo que sea contigo. En general, haga clic en "NO"y observe la siguiente ventana (captura de pantalla No. 16).
Captura de pantalla 16: proceso de programación
Durante este período, le aconsejo que no presione nada ni cargue la computadora con otras tareas. Cuando tomé una captura de pantalla para este artículo, cuando hago clic en el botón Pantalla de impresión se produjo un error de escritura y tuve que hacerlo de nuevo. Después de un tiempo IC Prog le dará un mensaje sobre la verificación exitosa del código recién escrito en su Controlador de imagen, así que a todos los que les gustó este artículo, quiero ver esto después de esfuerzos similares (captura de pantalla No. 17):
Captura de pantalla No. 17: el firmware fue exitoso, puedes relajarte
Si en el proceso tiene alguna pregunta, vuelva a leer cuidadosamente el artículo nuevamente y seguramente todo saldrá bien, revisado personalmente. Buena suerte a todos y éxito creativo !!!