Red de conocimiento informático - Consumibles informáticos - ¿Cuál es el principio del puerto serie del microcontrolador?

¿Cuál es el principio del puerto serie del microcontrolador?

Por lo general, hay dos tipos de descargas en serie:

1. ISP: en la programación del sistema, el chip de destino general contiene un circuito de interfaz especial después de que la computadora host envía el código de comando de programación y la información de control de programación. se completa automáticamente por el hardware del chip. Por ejemplo, la actualización a través del puerto JTAG es una de ellas. Muchos chips nuevos como ARM han adoptado este modo. Aunque el modo de descarga de los microcontroladores de la serie AT89S5x de ATMEL no pertenece al modo JTAG, es muy similar y debería pertenecer a la categoría ISP.

2. IAP: Generalmente llamado en programación de aplicaciones. En la serie MCS-51, los microcontroladores sst y stc ampliamente utilizados pertenecen a este modo, que es diferente del modo anterior.

Lo siguiente se centra en el flujo de trabajo de IAP:

Tome el 89E564 de SST como ejemplo: FLASH se divide en dos bloques, uno de 64 K, que es el espacio del programa que utilizará nuestra aplicación; la otra es 8K. Hoy en día, los códigos de software autoescritos generalmente vienen preestablecidos de fábrica. Esta parte del código se comunica con el software de descarga de la computadora host para obtener el contenido del código de máquina, logrando así operaciones de programación de 64K. Este software 8K no utiliza instrucciones especiales, sino instrucciones estándar de la serie 51, y solo agrega algunos registros de funciones especiales para lograr la autoprogramación.

Después de encender el chip, el programa se ejecuta primero en el espacio del programa 8K (en realidad, equivalente al chip 89C52 en este momento. El flujo de trabajo principal del programa es el siguiente:

<). p>Paso 1: Primero verifique el puerto serie. ¿Hay un comando de programación enviado por la computadora host? Si es así, responda, luego inicie la operación de autoprogramación y reinicie después de la programación;

El segundo paso, Si no hay ningún comando de programación en el puerto serie, verifique si hay uno válido en el código de máquina del área de 64K. Si es así, salte al área de 64K y comience oficialmente a ejecutar el programa de aplicación. De lo contrario, espere en el área de 8K y prepárese para recibir los comandos de programación enviados por la computadora host.

Para operaciones de programación en el área de 64K, el software en el área de 8k solo necesita recibir su código del puerto serie, enviarlo al registro correspondiente y realizar un ciclo de programación según sea necesario. Entonces esta parte del software se puede modificar. Por ejemplo, si un dispositivo tiene una interfaz de tarjeta IC, el programa 8K se puede modificar para implementar la función de actualización de software a través de la tarjeta IC. Sin embargo, este método requiere que un programador reemplace el programa preinstalado de fábrica en el área 8K con el. programa de actualización que el usuario necesita por primera vez.

Para resumir dos cosas:

La programación ISP es una operación pura de hardware. Siempre que no se destruyan las características físicas de FLASH, se puede lograr la actualización del puerto serie, pero el método de actualización es fijo.

El modo IAP es una operación de software. Si no hay daños físicos en el área de 8K pero hay un problema con el software, solo puede usar un programador para programar y no puede actualizar el puerto serie. Pero es precisamente debido a esta variabilidad que se pueden ampliar y hacer más flexibles múltiples métodos de actualización. De hecho, es poco probable que se produzcan daños físicos, por lo que personalmente creo que IAP es mejor.