Descripción
En la enseñanza de sistemas embebidos, tanto para estudiantes universitarios como para alumnos a nivel técnico, no se encuentran materiales bibliográficos que involucren temas de arquitectura de sistemas embebidos, lenguajes de programación en ensamblador y ANSI C, que expliquen el funcionamiento y las características de los módulos periféricos de un microcontrolador y que muestren aplicaciones reales basadas en estos dispositivos. Todos estos temas se encuentran de forma separada y en su mayoría, la bibliografía está en idioma inglés. Por esta razón, se decidió tomar todo el material y la experiencia utilizada para la enseñanza de un curso sobre sistemas embebidos y volcarlos en un libro de texto que presente esta información de forma ordenada y simple.
Este libro se ha desarrollado pensando en estudiantes que se introducen al mundo de los sistemas embebidos por primera vez, o que cuentan también con cierta experiencia y desean profundizar conceptos para conocer nuevos ejemplos de aplicaciones con microcontroladores. De la misma manera, el libro está orientado a ingenieros que tengan cierta experiencia en el desarrollo de hardware digital o a docentes en el campo de sistemas embebidos que deseen ingresar al mundo de los microcontroladores de la familia PIC18F de Microchip. Se ha tomado como base para el desarrollo del libro el curso de microcontroladores que se ofrece en las carreras de Ingeniería Electrónica, Ingeniería de Telecomunicaciones y Redes e Ingeniería Mecatrónica de la Facultad de Ingeniería de la Universidad Peruana de Ciencias Aplicadas de Lima, Perú. Para mostrar ejemplos aplicados se utiliza el PIC18F4550, ya que es uno de los microcontroladores más populares de la empresa Microchip, se encuentra fácilmente en el mercado nacional a un costo bastante accesible y permite desarrollar un sinnúmero de aplicaciones prácticas para soluciones de problemas reales, ya sea en la industria electrónica de consumo o electrónica médica, entre otras.
Todos los ejemplos mostrados en el libro se basan en el microcontrolador propuesto. Sin embargo, la gran mayoría de estos se pueden migrar fácilmente a cualquier otro modelo de microcontrolador de la misma familia, ya que los lenguajes de programación utilizados y la arquitectura son compatibles. Adicionalmente, el PIC18F4550 es uno de los pocos microcontroladores de la familia PIC18F que cuenta con un módulo USB interno, el cual permite que sea conectado al computador a través de este protocolo a velocidades de 1.5Mpbs y 12Mbps, lo que abre las puertas a una serie de aplicaciones relacionadas a interfaces de comunicación con el computador. Es por esta razón que el libro contiene un capítulo dedicado a este tema tan interesante, además de un ejemplo real.
El presente libro pretende ser lo más claro y explicativo posible, a fin de que el lector pueda obtener el máximo provecho. De esta manera, en el aula los alumnos tendrán un mejor entendimiento sobre los temas a tratar en el curso sobre sistemas embebidos, y podrán convertir una sesión de clase explicativa en un debate entre el profesor y los estudiantes, lo cual enriquecerá el nivel de los proyectos propuestos que se puedan producir como resultado de la asignatura. Cada capítulo del libro trata un tema diferente, pero a la vez necesario para poder entender los capítulos siguientes. Los ejemplos que presentan están listos para que el lector los pueda utilizar directamente en la programación del sistema embebido. Todos estos programas han sido probados en módulos de desarrollo y su funcionamiento se encuentra completamente verificado.
El contenido de cada capítulo ha sido dividido de tal manera que el lector primero aprenda a programar en lenguaje ensamblador, entendiendo la arquitectura del microcontrolador y sus modos de acceso a memoria y uso de periféricos de entrada y salida. La segunda parte explica el lenguaje ANSI C, con lo cual algunos ejemplos suben en complejidad, en virtud de la facilidad que conlleva el uso de un lenguaje de alto nivel. En el primer capítulo se presentan aspectos básicos de los sistemas de numeración binaria, conversión entre bases, las operaciones aritméticas y lógicas en el sistema binario y la representación de cifras decimales, BCD y ASCII.
Luego, se explica claramente el concepto de sistema embebido y las herramientas que ofrece Microchip para poder programar y depurar los microcontroladores de la familia PIC18F y otros más. Finalmente, se analizan los elementos más importantes de esta familia y se detallan las características particulares del microcontrolador modelo de este libro: El PIC18F4550. Posteriormente, el segundo capítulo muestra los detalles de la arquitectura del PIC18F. Se presentan las características del microprocesador, sus registros internos y unidad aritmética lógica. Luego, se explican las distintas unidades de memoria que existen en la familia de microcontroladores PIC18F y las interfaces de entrada y salida, las opciones de Reset, los módulos de temporización, las características del funcionamiento del reloj y los modos de bajo consumo. En el tercer capítulo se muestra la herramienta de desarrollo: El MPLAB X IDE. Se explica con ejemplos cómo crear un nuevo proyecto, editar un programa, simularlo y grabarlo en la memoria FLASH del microcontrolador. Primero se realiza la demostración con el lenguaje ensamblador y luego se hace lo propio con el lenguaje ANSI C. Esta metodología deberá ser usada por el lector para la verificación del resto de ejemplos presentados en el libro.
El cuarto capítulo detalla las instrucciones del lenguaje ensamblador del PIC18F. Cada instrucción se presenta con un ejemplo que ayuda a entender su forma de operación. A continuación se presentan las directivas del lenguaje ensamblador, las cuales también han sido ejemplificadas, con el objetivo de mostrar claramente su función. En el quinto capítulo se explica la metodología para plantear un programa en lenguaje ensamblador. Se plantean rutinas básicas que son útiles para la mayoría de aplicaciones, como retardo de tiempo, conversión de bases y operaciones matemáticas. Finalmente, se muestra una técnica para detectar las teclas pulsadas de un teclado matricial conectado al microcontrolador a través de uno de sus puertos. Seguidamente, el sexto capítulo aborda el tema de las interrupciones.
Se explica el concepto y luego se analiza la estructura de las interrupciones ofrecidas por el PIC18F. Luego se muestra un ejemplo sencillo en el que se configurará la interrupción externa 0 del PIC18F4550 para detectar flancos generados por un pulsador. En el séptimo capítulo se presentan los puertos de entrada y salida del PIC18F4550. Mediante estos conceptos, se muestran ejemplos de configuración y control de un teclado matricial y un módulo LCD alfanumérico. Luego, en el octavo capítulo se aborda la sintaxis completa del lenguaje ANSI C. Se explican sus instrucciones con ejemplos sencillos y se muestra la forma de creación de librerías haciendo uso del compilador XC8. Se mencionan temas más específicos, como el uso de ensamblador dentro del ANSI C, el manejo de interrupciones y el uso de directivas del preprocesador. Finalmente, se muestran programas de ejemplo, aplicados haciendo uso del lenguaje C y de los periféricos del microcontrolador.
En el noveno capítulo se emprende el tema de los módulos de temporización del microcontrolador. Aquí se presenta la teoría y el mecanismo de funcionamiento de un temporizador, además de diversos ejemplos de funcionamiento. Posteriormente, se explican los modos de Entrada de captura, comparación de salida y generador de PWM, los cuales se ejemplificarán con aplicaciones reales que requieren el uso de servomotores y sensores infrarrojos para su puesta a prueba. El décimo capítulo toca el tema del convertidor analógico digital del PIC18F. Se presenta la teoría básica de digitalización de señales analógicas y algunos aspectos importantes, como el teorema del muestreo.
Luego, se explica el módulo ADC del PIC18F4550 y el método de configuración. Finalmente, se muestran dos ejemplos aplicados para medir el voltaje de forma digital y la temperatura ambiente haciendo uso de un sensor LM35. Más adelante, en el decimoprimer capítulo se aborda el tema de la comunicación serial asíncrona y el estándar RS232. Se analiza el módulo EUSART del PIC18F y su forma de configuración. Luego, se muestran ejemplos aplicados para obtener una comunicación entre el PIC18F4550 y un computador a través del puerto RS232 y otra aplicación médica muy interesante: el diseño de un oxímetro de pulso para medir el nivel de saturación de oxígeno y pulso cardiaco de un paciente.
En el decimosegundo capítulo se presenta la interfaz serial periférica (SPI), la cual corresponde a uno de los módulos de comunicación síncrona del microcontrolador bastante utilizada por muchos dispositivos periféricos en estos días. Se explica el módulo MSSP del microcontrolador y los registros de configuración. Luego, se muestran dos ejemplos de aplicación: un reloj en tiempo real haciendo uso del circuito integrado DS1305 y el diseño de una matriz de LED basada en el circuito integrado MAX6952. Posteriormente, el decimotercer capítulo trata de la interfaz serial síncrona I2 C. Se explican las características del protocolo y los métodos de intercambio de información entre dos o más dispositivos conectados mediante esta interfaz. Luego, se explica el módulo MSSP del microcontrolador configurado en modo I2 C y el método de configuración. Se analiza la librería i2c del MPLAB XC8 y se muestran dos ejemplos aplicados: uno para obtener la temperatura de un sensor digital como el DS1621 y el acceso de lectura y escritura sobre una memoria EEPROM modelo 24LC08. El último capítulo toca el tema de la interfaz USB. Se explican de forma general los fundamentos del bus, los métodos de transferencia, el proceso de enumeración y las clases de dispositivo.
Prólogo
Introducción
Capítulo 1. Conceptos básicos
1.1 Definiciones básicas
1.2 Sistemas embebidos
1.3 Lenguajes de programación
1.4 La familia PIC18F4X de Microchip
1.5 Herramientas de desarrollo para Microchip
1.6 Características específicas del PIC18F4550
Capítulo 2. Arquitectura del microcontrolador PIC18F
2.1 La Unidad central de proceso (CPU)
2.2 Las unidades de memoria
2.3 Almacenamiento de las instrucciones en la memoria de programa
2.4 Las interfaces de entrada y salida (E/S)
2.5 El Reset
2.6 Temporización y opciones de reloj
2.7 Modos de ahorro de energía
2.8 El Perro guardián
Capítulo 3. El compilador para PIC18F. El MPLAB X IDE
3.1 IDE
3.2 Creación de un nuevo proyecto en MPLAB X usando el compilador MPASM
3.3 Elaboración de un programa sencillo. Partes del código y reglas básicas
3.4. Simulación de un programa en lenguaje ensamblador
3.5 Los archivos de configuración
3.6 El compilador MPLAB XC8
3.7 Creación de un nuevo proyecto en MPLAB usando el compilador MPLAB XC8
3.8 Proceso de grabación del microcontrolador PIC18F4550
Capítulo 4. El lenguaje ensamblador del PIC18F
4.1 El conjunto de instrucciones
4.2 Modos de direccionamiento
4.3 El Puntero de programa
4.4 La pila de direcciones
4.5 Instrucciones para el manejo de tablas en la memoria de programa
4.6 Acceso a la memoria EEPROM de datos
4.7 Directivas para el lenguaje ensamblador
Capítulo 5. Rutinas típicas en lenguaje ensamblador
5.1 Diseño de un diagrama de flujo
5.2 Rutinas básicas de retardo de tiempo
5.3 Conversión de bases
5.4 Operaciones matemáticas
5.5 Detección de teclas pulsadas en un teclado matricial
Capítulo 6. Interrupciones
6.1 El concepto de interrupción
6.2 El vector de interrupción
6.3 La prioridad de una interrupción
6.4 Latencia de una interrupción
6.5 Ejemplo de configuración de una interrupción externa
Capítulo 7. Los puertos de entrada y salida
7.1 Los puertos de entrada y salida del PIC18F4550
7.2 Ejemplo de control de un teclado matricial mediante la interrupción de cambio de estado del Puerto B
7.3 Manejo de un módulo LCD alfanumérico basado en el controlador HD44780
Capítulo 8. El lenguaje ANSI C
8.1 Historia del lenguaje ANSI C
8.2 La estructura de un programa en lenguaje C
8.3 Los tipos de datos
8.4 Los operadores en ANSI C
8.5 Sentencias condicionales e iterativas
8.6 Funciones y librerías
8.7 Arreglos y punteros
8.8 Estructuras y uniones
8.9 Tipos de variables compuestos
8.10 Uso del lenguaje ensamblador dentro de ANSI C
8.11 Manejo de interrupciones en MPLAB XC8
8.12 Las directivas del preprocesador
8.13 Ejemplos de aplicaciones con lenguaje ANSI C
Capítulo 9. Los módulos de temporización
9.1 Los temporizadores del PIC18F4550
9.2 Diseño de un semáforo sincronizado con el Timer 0
9.3 Diseño de un reloj en tiempo real con el Timer 1
9.4 El módulo de entrada de captura
9.5. El modo de comparación de salida
9.6 El modo de modulación por ancho de pulso (PWM)
Capítulo 10. El convertidor analógico digital
10.1 Fundamentos de un sistema de adquisición de datos
10.2 La conversión analógica digital
10.3 El teorema del muestreo
10.4 El convertidor analógico digital del PIC18F4550
10.5 Ejemplos de aplicaciones con el convertidor analógico digital del PIC18F4550
Capítulo 11. El módulo mejorado de comunicación serial síncrona asíncrona (EUSART)
11.1 Nociones básicas de la comunicación serial
11.2 La tasa de bit y el formato NRZ
11.3 El estándar RS232
11.4 El módulo EUSART del PIC18F4550
11.5 Ejemplos de aplicación con el EUSART del PIC18F4550
Capítulo 12. La interfaz serial periférica
12.1 Fundamentos de la comunicación serial síncrona SPI
12.2 Pines del SPI
12.3 Formatos de transmisión del bus SPI
12.4 El módulo SPI del PIC18F4550
12.5 Ejemplos de aplicación con el bus SPI del PIC18F4550
Capítulo 13. La interfaz serial I2C
13.1 Características del protocolo I2
13.2 Transferencia de datos en el protocolo I2
13.3 Arbitrariedad
13.4 Direccionamiento de periféricos
13.5 Formato de transferencia de datos
13.6 Registros de configuración del PIC18F4550
13.7 Programación del módulo MSSP en modo I2
13.8 Ejemplos de aplicación con el módulo I2
C del PIC18F4550
Capítulo 14. El módulo USB
14.1 Fundamentos del bus USB
14.2 Modos de transferencia
14.3 El proceso de enumeración
14.4 Las clases de descriptores
14.5 El módulo USB del PIC18F4550
14.6 La librería MLA (Microchip Library Application) para dispositivos USB de Microchip
14.7 Ejemplo de comunicación entre el PIC18F4550 y un computador a través del puerto USB
Bibliografía
Consulta los datos bibliográficos principales de esta edición para identificar correctamente el recurso, revisar su autoría y verificar detalles como ISBN, tema, subtema, archivo e idioma.
- Título: Todo Sobre Sistemas Embebidos
- Autor/es: Sergio Salas Arriarán
- Edición: 1ra Edición
- Año de publicación: 2015
- Tipo de archivo: eBook
- Idioma: eBook en Español
- ISBN-13: 9786123180331
- ISBN-13: 9786123180348
- Subtema: Electrónica Integrada
Citar este libro
Preparando citaciones...
Aún no hay comentarios
Sé el primero en compartir tu opinión sobre este contenido.
Escribir un comentario