Microchip PIC 16F/18F
Mercado objetivo
Microprocesadores baratos de 8 bits. El 16F es una de las primeras líneas de procesadores de Microchip y no es particularmente susceptible de programación en C / C ++ debido a:
- su núcleo de instrucciones y su arquitectura de memoria
- la necesidad de cambiar de banco
- falta de soporte para las operaciones de puntero comunes
- bajo rendimiento en C / C++ debido a la arquitectura
- requiere un programa de mayor tamaño para implementar los algoritmos
La serie 18F es más nueva y debería considerarse si puede pagarla para su proyecto. Es similar a la serie 16F en cuanto a mercado objetivo, conjunto de periféricos, paquetes de CI, herramientas de desarrollo y precio. El núcleo de la 18F se diseñó para ser más fácil de usar en C y C++, debido a:
- apoyo a la indirección
- bancos particulares de RAM siempre accesibles (sin necesidad de cambiar de banco)
Software
Bastante fácil de programar, se puede escribir utilizando su conjunto de 30 instrucciones en ensamblador, o utilizar un Compilador de C . Estos son MCUs de 8 bits por lo que si quieres trabajar con valores >255 tendrás que encontrar/escribir código de suma/resta/multiplicación/división de 2 bytes tú mismo. Su RAM tiene 4 "bancos" por lo que si escribes en ensamblador, tienes que ir cambiando de un lado a otro para acceder a las variables almacenadas en otros bancos distintos al actual.
Hardware
Estos MCUs funcionan con bastante lentitud, con una velocidad típica de 4 MIPS y una velocidad máxima de 20 MIPS. Tienen algunas características de hardware incorporadas que funcionan bien si se configuran correctamente, como el ADC, el puerto serie, el puerto paralelo, el bus CAN, el bus I2C, el bus SPI, la comparación de voltaje, la EEPROM y, por supuesto, todos los puertos de E/S.
Documentación
- Las hojas de datos tienen toda la información necesaria (pinouts, registros para la configuración, etc.) ordenada y bien documentada. A manual también explica en profundidad las características.
Herramientas de desarrollo
-
Microchip tiene una nueva herramienta, el VDI que facilita la configuración de las distintas características de hardware del MCU, que genera código ensamblador o C. Es mejor que consultar las hojas de datos.
-
Microchip ha ofrecido su MPLAB IDE desde hace muchos años, y aunque el programa ha ido mejorando poco a poco, en comparación con las herramientas de desarrollo para PC (Visual C++, Eclipse/NetBeans para Java/etc) la interfaz de usuario es muy pobre y el software sigue siendo particularmente defectuoso. Tampoco soporta C++, a pesar de que la diferencia entre C y la mayoría de las características de C++ (excluyendo la asignación de memoria dinámica, las funciones virtuales y algunas otras características) es muy pequeña y C++ fomenta la modularidad de la programación. Hay proveedores de IDE de terceros, en particular IAR, pero son caros (Hi-Tech fue comprada por Microchip recientemente).
-
La depuración en circuito se ofrece en algunas partes mediante la interfaz ICD de Microchip, una interfaz serie de 2 pines a la que se puede acceder mediante adaptadores de depuración ICD2, ICD3 , HIELO REAL , PICkit2 /3, etc. Asegúrese de comprobar si la pieza que elige tiene las características del DIC. Las funciones de depuración son algo limitadas y tienen "patinazos" en los que se establece un breakpoint en una instrucción y el programa se detiene unas cuantas instrucciones después. Sin embargo, ICD es mejor que nada.
Soporte
- Notas de aplicación describir el código y los circuitos de varias aplicaciones comunes
- Comunidad activa de usuarios en el Foros de Microchip
- Gratis 24 horas al día, 7 días a la semana Soporte técnico sitio web en el que usted envía sus problemas (tickets) y el personal técnico le responde gratuitamente, e incluso le permite llamar si necesita más ayuda
- Presentaciones (seminarios web) que explican los distintos módulos y aplicaciones