No, no es necesario, de hecho no puede usar SPI, UART o I 2 C para programar el PIC. La única forma de obtener un nuevo programa en un PIC que no tenga un código especial cargado para ese propósito (un cargador de arranque) es usar la interfaz de programación de hardware externo. Eléctricamente, esto significa conectarse a Vss, MCLR, PGC y PGD. Puede ser útil tener el programador también conectado a Vdd, pero no es necesario para este chip siempre que se conozca el nivel de Vdd y el programador se ajuste en consecuencia.
La interfaz de hardware de bajo nivel es bastante simple. PGD es la línea de datos, que es muestreada por el PIC en el flanco descendente de PGC (la línea del reloj). Para poner el PIC en modo de programación en primer lugar, se registra una clave especial de 32 bits en relación con los bordes específicos en MCLR (aunque vea la nota a continuación sobre la programación de alto voltaje).
El protocolo de nivel superior se vuelve más complicado. La mayoría de las cosas se hacen con comandos de 6 bits, algunos de los cuales son seguidos por palabras de datos de 14 bits. Tienes que leer las especificaciones de programación cuidadosamente. Tenga en cuenta que la especificación de programación es un documento separado de la hoja de datos. Vaya a la página del producto para su PIC particular en el sitio web de Microchip, y encontrará un enlace a la especificación de programación en la sección de documentos.
Agregado sobre programación de alto voltaje
Este tipo de PIC tiene dos formas de ingresar al modo de programación, alto voltaje (HVP) y bajo voltaje (LVP). El método de alto voltaje requiere elevar el MCLR entre 8 y 9 voltios y mantenerlo allí durante la programación. Este método siempre funciona, independientemente de los datos posibles programados en el PIC.
El método de bajo voltaje para ingresar al modo de programación comienza con el MCLR alto, luego bajo, luego marcando una secuencia de teclas especial de 32 bits usando PGC y PGD normalmente. La parte entrará en modo de programación con la secuencia de teclas correcta y permanecerá en modo de programación mientras MCLR se mantenga bajo.
El método de bajo voltaje puede ser deshabilitado por uno de los bits de configuración. Sin embargo, el estado borrado del bit de configuración permite la programación de bajo voltaje, se envía de fábrica de esa manera, y este bit de configuración solo se puede configurar para no permitir LVP si la programación se ingresó con el método de alto voltaje. Por lo tanto, para que LVP no esté habilitado, todo lo siguiente debe ser cierto:
- El PIC se programó por última vez con un programador con capacidad HVP, y se utilizó el modo de entrada del programa HVP.
- El archivo HEX programado en el PIC establece deliberadamente el bit LVP en la palabra de configuración 2 en el estado no borrado.
Dado que la desactivación de LVP requiere una acción deliberada y el programador adecuado, es probable que todavía esté habilitada. Si se deshabilitó deliberadamente por alguna extraña razón, entonces debe suministrar 8-9 V en MCLR para que el PIC entre en modo de programación al menos el tiempo suficiente para realizar un borrado masivo (que vuelve a habilitar LVP).