Buscar este blog
Blog principalmente de tecnología. Curiosidades del mundo. Política. Economía.
Destacados
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Programación de microcontroladores PIC
¿Que es PIC?
La línea de microcontroladores PIC® de Microchip Technology es popular entre los ingenieros de diseño por varias razones, incluido el precio, el rendimiento y el amplio soporte de diseño. También hay una amplia selección de microcontroladores PIC (MCU) que han sido cuidadosamente diseñados para cumplir con los requisitos de diversas aplicaciones.
Comenzar con los PIC es similar a comenzar con prácticamente cualquier MCU: en el nivel más básico, el diseñador debe conocer, en detalle, la lógica que se implementará en el hardware de la MCU. Muchos diseños encuentran problemas porque el diseñador no ha pensado completamente en la lógica.
Además de construir una base sólida de lógica de circuito, un conocimiento detallado de la aplicación proporciona respuestas a preguntas críticas como la cantidad de entradas y salidas requeridas; nivel de actuación; costos y presupuestos de tiempo de desarrollo que deben cumplirse.
También hay preguntas importantes más allá del diseño electrónico directo que debe manejar la MCU: ¿Dónde se utilizará el dispositivo a nivel del sistema (condiciones ambientales y ubicación geográfica)? ¿Qué estándares de la industria debe cumplir y otros productos con los que debe interactuar? ¿Qué regulaciones de la industria y del gobierno con respecto a los requisitos de salud, seguridad y medio ambiente deben cumplirse?
La Figura 1 muestra un diagrama de bloques del PIC16F84 de Microchip Technology con E / S y algunos periféricos. Introducido a principios de la década de 1990, realiza funciones básicas. Las MCU de 8 bits actuales suelen integrar múltiples periféricos, lo que crea más complejidad de software para el desarrollador de la aplicación.
Figura 1. El PIC16F84 se encuentra entre las primeras MCU que cuentan con un algoritmo de programación en serie y memoria EEPROM. Fuente: Microchip Technology Inc.
Conceptos básicos de hardware PIC
Para programar un microcontrolador PIC, debe conocer los componentes básicos del dispositivo específico, como los registros de configuración, los buses y los tipos de memoria. Comprender el lenguaje de programación C es muy útil, si no esencial. Elegir el conjunto correcto de herramientas de desarrollo de software también hace que la aceleración sea más fácil y rápida.
La arquitectura de memoria subyacente de muchos PIC es la arquitectura de Harvard, que primero se implementó ampliamente en la MCU 8051 de Intel. Esta arquitectura tiene un espacio de memoria para almacenar comandos de programa y asigna otro espacio para datos. Tener espacios de memoria separados, que pueden ser memoria Flash en el chip, ROM, RAM o un chip externo, generalmente resulta en una ejecución más rápida del programa. (El término "arquitectura de Harvard" se usa con frecuencia de forma general. Muchas MCU denominadas "Harvard" se han modificado mezclando las arquitecturas de memoria de Harvard y von Neumann).
Antes de que podamos ir mucho más lejos, tenemos que ser bastante específicos sobre el PIC MCU que se elegirá para el diseño. Un PIC de 8 bits es una buena opción porque generalmente tienen un costo más bajo que los MCU de 16 y 32 bits, tienen un conjunto adecuado de periféricos (como convertidores A / D) y ofrecen un buen rendimiento.
Microchip ofrece varias familias PIC de 8 bits. El PIC10F y el PIC12F son los menos costosos, pero proporcionan menos memoria, menor número de pines y menos periféricos. Elegir el chip de menor costo corre el riesgo de descubrir a mitad del diseño que el MCU no satisface completamente las necesidades de la aplicación. La serie PIC18F está en el otro extremo del espectro de rendimiento de los productos de 8 bits de Microchip. Es más sofisticado, ofrece periféricos en chip altamente especializados y también es la familia más cara. Para un primer diseño, la serie PIC18F probablemente sería exagerada.
Diseño con microcontroladores PIC
Un diseñador que recién está comenzando con la arquitectura PIC probablemente sea mejor atendido por un chip de la serie PIC16F, que ha existido durante más de una década y sigue siendo popular. En consecuencia, la familia tiene la biblioteca de códigos más grande disponible en Internet, lo que significa que gran parte del código básico se ha escrito y simplemente se puede descargar.
Este tesoro de recursos es invaluable. En particular, existe una gran riqueza de código y esquemas para PIC16F877, que ha sido utilizado en muchos proyectos "iniciales" por maestros en línea y en el aula, así como por una legión de diseñadores profesionales. Sin embargo, es un diseño MCU antiguo y Microchip no lo recomienda para nuevos proyectos. Afortunadamente, casi todo el soporte de diseño PIC16F877 todavía se puede usar con el PIC16F887, que tiene prácticamente las mismas opciones para el diseño de clavijas y periféricos.
El PIC16F887 ejecuta el mismo código con, como máximo, modificaciones menores. También utiliza herramientas de desarrollo de software menos costosas.
El PIC16F887 presenta 256 bytes de memoria de datos EEPROM y un conjunto de periféricos que lo hacen adecuado para aplicaciones A / D en aplicaciones automotrices, industriales, de electrodomésticos o de consumo. Su hoja de datos se puede encontrar en http://ww1.microchip.com/downloads/en/DeviceDoc/41291D.pdf
Cómo programar un microcontrolador
Para programar un PIC (o cualquier MCU), generalmente se requieren las siguientes herramientas de software:
- Un IDE (Entorno de desarrollo integrado), que convierte la lógica simbólica escrita para la aplicación en comandos de programa
- Un compilador, que convierte el programa en lenguaje ensamblador MCU comúnmente conocido por los ingenieros de diseño como archivos HEX
- Un IPE (Entorno de programación integrado) que finalmente utilizó para transferir archivos hexadecimales al PIC después de algunos ajustes del programa
- Un depurador / programador en circuito
Las herramientas de desarrollo de software de Microchip son muy apreciadas por su rendimiento y facilidad de uso. El IDE MPLAB®X de la compañía, los compiladores MPLAB®XC y el IPE MPLAB® para aliviar a los diseñadores de la carga de comparar y comprar herramientas de terceros. Las herramientas básicas de Microchip se proporcionan de forma gratuita. Se puede acceder a una descripción general de todas las herramientas de desarrollo de Microchip en http://www.microchip.com/development-tools
La Figura 2
muestra los productos Microchip disponibles en cinco categorías de la empresa
MPLABX Integrated Development Environment (IDE).
Figura 2. El MPLAB X IDE cubre una amplia gama de funciones de programación de MCU auxiliar. Fuente: Microchip Technology Inc,
Para los usuarios nuevos de PIC de 8 bits, Microchip ha facilitado aún más el inicio al lanzar MPLAB® Xpress, un IDE basado en la nube que elimina el tedio de descargar, instalar, configurar y actualizar periódicamente las herramientas. MPLAB Xpress incluye MPLAB Code Configurator, que permite a los usuarios generar automáticamente la inicialización y el código C de la aplicación para MCU PIC de 8 bits (y 16 bits) utilizando una interfaz gráfica y un mapa de pin.
Como con cualquier MCU, el primer paso es configurar los registros de configuración. Los bits programados en estos registros especifican la operación fundamental del dispositivo, como el modo del oscilador, el temporizador de vigilancia, el modo de programación y la protección del código. Estos bits deben establecerse correctamente para que el código se ejecute correctamente.
Una vez que se han establecido los bits de configuración, el resto del proceso de creación del programa depende de la aplicación. Y una vez que se completa el código, los siguientes pasos implican mover la entidad basada en la lógica al mundo real de los bits.
El entorno de programación integrada (IPE) entra en juego para una variedad de funciones, incluida la transferencia del programa creado en su PC o estación de trabajo a la MCU. Como se mencionó anteriormente, los entornos de Microchip combinan estas funciones, pero tres conceptos importantes son la simulación, la depuración y la programación del PIC. Una descripción completa de las herramientas de software y cómo se usan está fuera del alcance de este artículo.
Sin embargo, vale la pena mencionar el depurador / programador en circuito PICkit ™ 3 porque es un hardware adicional y, por lo tanto, conceptualmente va un paso más allá de la configuración del software de las otras herramientas. Se utiliza después de que el programa de aplicación se transfiere a la MCU. PICkit 3 es controlado por una PC que ejecuta el software MPLABX IDE y es una parte integral del conjunto de herramientas.
La leyenda en la Figura 3 muestra las conexiones principales entre el MCU que se está programando o depurando y la PC que ejecuta el IDE MPLABX de Microchip Techn.
Figura 3. El PICkit 3 de Microchip proporciona el hardware para depurar y / o programar una amplia gama de MCU. Fuente: Tecnología Microchip
Ventajas del microcontrolador PIC
Comenzar con un PIC MCU implica una comprensión profunda de la aplicación, la arquitectura básica de hardware del PIC que se utilizará y la cadena de herramientas de software. Microchip ha hecho que el proceso de diseño real sea muy accesible para los ingenieros que también están familiarizados con otros MCU y verdaderos diseñadores novatos. Las herramientas de software gratuitas hacen que el costo de configuración sea razonable y hay una gran cantidad de código y consejos en la web tanto dentro del ecosistema de diseño de Microchip como en la web en general. Todo lo que se requiere del aspirante a diseñador de PIC es el deseo de comenzar y la persistencia de ver el proyecto hasta su finalización.
Fuente: arrow.com
Escritor de Letras
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Entradas populares
Halloween: fiesta pagana ¡¡
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Detector de oscuridad: Sencillo y Barato
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario
Se agradece hacer comentarios exclusivamente sobre el tema leído. Cualquier otro será anulado.