468x60

🛠️ PRINCIPIOS de FUNCIONAMIENTO del MICROCONTROLADOR (PIC)

Microcontrolador PIC


Juego de instrucciones y entorno de programación


👉 El PIC usa un juego de instrucciones tipo RISC, cuyo número puede variar desde 35 para los PIC de gama baja a 70 para los de gama alta. Las instrucciones se clasifican entre las que realizan operaciones entre el acumulador y una constante, entre el acumulador y una posición de memoria, instrucciones
de condicionamiento y de salto / retorno, implementación de interrupciones y una para pasar a modo de bajo consumo llamada sleep.

💥 Microchip proporciona un entorno de desarrollo freeware llamado MPLAB que incluye un simulador software y un ensamblador. Otras empresas desarrollan compiladores C y BASIC. Microchip también vende compiladores para los PIC de gama alta ("Cl8" para la serie F18 y "C30"
para los dsPIC) y se puede descargar una edición para estudiantes del C18 que inhabilita algunas opciones después de un tiempo de evaluación.

👊 Para el lenguaje de programación Pascal existe un compilador de código abierto, JAL, lo mismo que PicForth para el lenguaje Forth. GPUTILS es una colección de herramientas distribuidas bajo licencia GPL que incluye ensamblador y enlazador, y funciona en Linux, MacOS y Microsoft
Windows. GPSIM es otra herramienta libre que permite simular diversos dispositivos hardware conectados al PIC.

💢 Uno de los más modernos y completos compiladores para lenguaje C es (mikroC), que es un ambiente de desarrollo con editor de texto, bibliotecas con múltiples funciones para todos los módulos y herramientas incorporadas para facilitar enormemente el proceso de programación.

Arquitectura central


💥 La arquitectura del PIC es sumamente minimalista. Está caracterizada por las siguientes prestaciones:

  • Área de código y de datos separadas (Arquitectura Harvard).
  • Un reducido número de instrucciones de largo fijo.
  • La mayoría de las instrucciones se ejecutan en un solo ciclo de ejecución (cuatro ciclos de clock), con ciclos de único retraso en las bifurcaciones y saltos.
  • Un solo acumulador (W), cuyo uso (como operador de origen) es implícito (no está especificado en la instrucción).
  • Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de operaciones matemáticas y otras funciones.
  • Una pila de hardware para almacenar instrucciones de regreso de funciones.
  • Una relativamente pequeña cantidad de espacio de datos direccionable (típicamente, 256 bytes), extensible a través de manipulación de bancos de memoria.
  • El espacio de datos está relacionado con el CPU, puertos y registros de los periféricos.
  • El contador de programa está también relacionado dentro del espacio de datos, y es posible escribir en él (permitiendo saltos indirectos).

😃 A diferencia de la mayoría de otros CPU, no hay distinción entre los espacios de memoria y los espacios de registros, ya que la RAM cumple ambas funciones, y ésta es normalmente referida como "archivo de registros" o simplemente, registros.

Espacio de datos (RAM)


💢 Los microcontroladores PIC tienen una serie de registros que funcionan como una RAM de propósito general. Los registros de propósito específico para los recursos de hardware disponibles dentro del propio chip también están direccionados en la RAM. La direccionabilidad de la memoria varía dependiendo la línea de dispositivos, y todos los dispositivos PIC poseen algún tipo de mecanismo de manipulación de bancos de memoria que pueden ser usados para acceder a la memoria adicional. Las series más recientes de dispositivos disponen de funciones que pueden cubrir todo el espacio direccionable, independientemente del banco de memoria seleccionado. En los dispositivos
anteriores, esto debía lograrse mediante el uso del acumulador.

👉 Para implementar direccionamiento indirecto, se usa un registro de "selección de registro de archivo" (FSR) y de "registro indirecto" (INDF), es decir, un número de registro es escrito en el FSR, lo cual hace que las lecturas o escrituras al INDF serán realmente hacia o del registro apuntado por el FSR

Los dispositivos más recientes extienden este concepto con pos y preincrementos / decrementos para mayor eficiencia en acceder secuencialmente a la información almacenada. Esto permite que se pueda tratar al FSR como un puntero de pila.

La memoria de datos externa no es directamente direccionable, excepto en algunos microcontroladores PIC 18 de gran cantidad de pines.

Tamaño de palabra


El tamaño de palabra de los microcontroladores PIC es fuente de muchas confusiones. Todos los PIC (excepto los dsPIC) manejan datos en trozos de ocho bits, con lo que se deberían llamar microcontroladores de ocho bits. 😃

Pero a diferencia de la mayoría de los CPU, el PIC usa Arquitectura Harvard, por lo que el tamaño de las instrucciones puede ser distinto del de la palabra de datos. De hecho, las diferentes familias de PIC usan tamaños de instrucción distintos, lo que hace difícil comparar el tamaño del código del PIC con el de otros microcontroladores. Por ejemplo, un microcontrolador tiene 6,144 bytes de memoria de programa: para un PIC de 12 bits esto significa 4,096 palabras y para uno de 16 bits, 3,072 palabras.

Escrito por Archie Tecnology

No hay comentarios:

Publicar un comentario

Colaboración comercial