0% encontró este documento útil (0 votos)
116 vistas13 páginas

Microcontroladores y Circuitos Integrados

Este documento habla sobre microcontroladores y sus componentes. Explica que un microcontrolador es un circuito integrado que contiene una CPU, memoria y unidades de entrada y salida. También describe algunos periféricos comunes como temporizadores, puertos digitales y convertidores analógicos a digitales. Finalmente, discute las arquitecturas Von Neumann y Harvard que son usadas en los diseños de microcontroladores.

Cargado por

Tatiana Líos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
116 vistas13 páginas

Microcontroladores y Circuitos Integrados

Este documento habla sobre microcontroladores y sus componentes. Explica que un microcontrolador es un circuito integrado que contiene una CPU, memoria y unidades de entrada y salida. También describe algunos periféricos comunes como temporizadores, puertos digitales y convertidores analógicos a digitales. Finalmente, discute las arquitecturas Von Neumann y Harvard que son usadas en los diseños de microcontroladores.

Cargado por

Tatiana Líos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Componentes electrónicos: 

Microcontroladores y circuitos integrados.

Pantallazos del proyecto en Scrtch 3 como evidencia de lo realizado.

Tatiana Líos Ordoñez

UNIVERSIDAD UISIL
NOVIEMBRE 2022
INTRODUCCIÓN A LOS MICROCONTROLADORES.
La electrónica ha avanzado mucho. Casi todo lo que hace unos años se hacía
mediante un grupo, a veces muy numeroso, de circuitos integrados conectados entre
si, hoy se puede realizar conectando un microcontrolador y unos pocos componentes
adicionales.
El concepto de controlador ha permanecido inalterable a lo largo de los años,
sin embargo, la implementación física de los mismos ha variado frecuentemente. Hace
tres décadas, los controladores se construían exclusivamente con componentes de
lógica discreta; posteriormente se utilizaron los microprocesadores, que se rodeaban
de chips de memoria y periféricos de E/S sobre una tarjeta de circuito impreso y,
actualmente, todos los elementos del microcontrolador se han podido incluir en un
único integrado que recibe el nombre de microcontrolador.
Un microcontrolador es un circuito integrado que nos ofrece todas las posibilidades de un

pequeño computador. En definitiva, un microcontrolador es un circuito programable que

contiene todos las tres unidades fundamentales de un computador: CPU, Memoria y

unidades de E/S que nos permiten tener una interfaz, más o menos directa entre el

dispositivo y el mundo real. Se utilizan para controlar el funcionamiento de una

determinada tarea, y gracias a su reducido tamaño, suele ir incorporado en el propio

dispositivo que gobierna. Esta última característica es la que le confiere la denominación de

controlador incrustado (embedded controller).

Para definirlo de forma sencilla podemos decir que un microcontrolador es una máquina

tonta, un objeto sin razonamiento ninguno, un cubo negro con patitas metálicas que se

suelda a una placa con más o menos componentes electrónicos y cuya funcionalidad es tan

sencilla como la de una calculadora; frente a datos de entrada, sigue un programa, un

algoritmo dado por un programador y cambia su estado interior, ofreciendo una salida. Es

por tanto como un computador delicado. En su memoria solamente reside un programa

destinado a gobernar una aplicación determinada, sus líneas de E/S soportan la conexión de

los sensores y actuadotes del dispositivo a controlar y todos los recursos complementarios

disponibles tienen como única finalidad atender sus requerimientos. Una vez programado y

configurado, el microcontrolador solamente sirve para gobernar la tarea asignada.

Como objetos o dispositivos de entrada o salida podemos encontrar diversos periféricos,

desde simples líneas de entrada digital que pueden estar a cero o a uno, hasta complejos
puertos usados en ordenadores que permiten comunicar con otros dispositivos externos

como microcontroladores o PC.

CAPITULO 2

Diseño Introducción Microcontroladores.

Con esta idea en la cabeza nos encontramos que existen varios fabricantes que ponen a

disposición de los diseñadores miles de modelos distintos con características comunes y

otras más especificas según la aplicación a la que estén diseñados, varios tamaños,

diferencias consumo, periféricos, memoria, etc. La diversidad, además, tiene un objetivo

fundamental, reducir costes. Mientras más características o más memoria, más espacio

necesita y por tanto más caro será de fabricar y con ello de adquirir. Por tanto la tendencia

es establecer diseños sencillos y con características limitadas. Con diversos modelos cada

diseño tendrá un dispositivo que se adapte a las necesidades, eligiendo aquel que cumpla

con todas las

características de las especificaciones del producto a desarrollar y a la vez sea el más

económico.

El procesador CPU es el elemento más importante del microcontrolador y determina sus

principales características, tanto a nivel hardware como a nivel de software. Se encarga de

direccionar la memoria de instrucciones, recibir el código de la instrucción en curso, su

decodificación y la ejecución de la operación que implica la instrucción, búsqueda de los

operandos y el almacenamiento del resultado. Existen tres orientaciones en cuanto a la

arquitectura y funcionalidad de los procesadores actuales:


CISC: Computadores de Juego de Instrucciones Complejo: Disponen de más de 80

instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y

potentes, requiriendo muchos ciclos para su ejecución.

RISC: Tanto la industria de los computadores comerciales como la de los

microcontroladores están decantándose hacia la filosofía RISC (Computadores de Juego de

Instrucciones Reducido). En estos procesadores el repertorio de instrucciones máquina es

muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La

sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del

procesador.

SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de

instrucciones, además de ser reducido, es “específico”, o sea, las instrucciones se adaptan a

las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el nombre de

SISC (Computadores de Juego de Instrucciones Específico).

Todos los microcontroladores disponen de bloques esenciales, como son: procesador,

memoria de datos y memoria de instrucciones, módulos de E/S, oscilador de reloj y

módulos controladores de periféricos. Además de estos elementos, existen una serie de

recursos especiales que los fabricantes pueden ofertar tales como: Temporizadores

(Timers): Se emplean para controlar periodos de tiempo y para llevar la cuenta de

acontecimientos que suceden en el interior. Perro Guardián (Watchdog): Es un

temporizador que cuando se desborda y pasa por cero provoca un reset automáticamente en

el sistema.
Conversores A/D: Procesa señales analógicas convirtiéndolas en señales digitales.

o Modulador de Anchura de Pulso PWM: Son circuitos que proporcionan en su salida

impulsos de anchura variable, que se ofrecen al exterior a través de las patitas del

encapsulado Comparadores analógicos: Algunos modelos de microcontroladores disponen

internamente de un amplificador operacional que actúa como comparador entreuna señal

fija de referencia y otra variable que se aplica por una de las patitas de la cápsula. La salida

del comparador proporciona un nivel lógico 1 ó 0 según una señal sea mayor o menor que

la otra.

o Puertos de entrada y salida digital o Puertos de comunicación : Con objeto de dotar al

microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros

buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros

elementos bajo otras normas y protocolos. Algunos modelos disponen de recursos que

permiten directamente esta tarea, entre los que destacan:

UART, adaptador de comunicación serie asíncrona.

USART, adaptador de comunicación serie síncrona y asíncrona.

Puerta paralela esclava para poder conectarse con los buses de

otros microprocesadores.

USB (Universal Serial Bus), moderno bus serie para los PC.

Bus I2C, interfaz serie de dos hilos desarrollado por Philips.

CAN (Controller Area Network), permite la adaptación con redes de

conexionado multiplexado desarrollado conjuntamente por Bosch e


Intel para el cableado de dispositivos en automóviles.

Los microcontroladores pueden clasificarse según su arquitectura, que puede

ser Von Neumann o Harvard.

La arquitectura Von Neumann se caracteriza por disponer de una sola memoria

principal donde se almacenan datos e instrucciones de forma indistinta. A dicha

memoria se accede a través de un sistema de buses único. El bus de direcciones es usado

para identificar qué posición de memoria esta siendo accedida, mientras que el bus de datos

es utilizado para trasladar información entre la CPU y alguna dirección de memoria o

viceversa. Con un único sistema de buses, la arquitectura Von Neumann es usada

secuencialmente para acceder a instrucciones de la memoria de programa y ejecutarlas

regresando desde/hacia la memoria de datos. Esto significa que el ciclo de instrucción no

puede solaparse con ningún acceso a la memoria de datos.

Una desventaja de esta arquitectura podría ser que el contador de programa o

algún otro registro se corrompieran y apuntaran a la memoria de datos.

tomara ésta momentáneamente como memoria de programa.

Consecuentemente se ejecutaría una instrucción no deseada o un error en la decodificación

de la instrucción.

La Arquitectura Harvard se caracteriza por disponer de dos memorias independientes, una

que contiene sólo instrucciones y otra con sólo datos. Ambas disponen de sus respectivos

sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura)


simultáneamente en ambas memorias. Una de las ventajas de esta arquitectura es que la

operación del microcontrolador puede ser controlada más fácilmente si se presentara una

anomalía en el contador de programa.

Existe otra arquitectura que permite accesos a tablas de datos desde la memoria de

programa. Esta arquitectura es la llamada arquitectura Harvard modificada. Esta última

arquitectura es la dominante en los microcontroladores

actuales ya que la memoria de programa es usualmente ROM, OTP, EPROM o FLASH

mientras que la memoria de datos es usualmente RAM, permitiendo que las tablas de datos

estén en la memoria de programa para que estas no se pierdan cada vez que el sistema se

apaga. Otra ventaja importante en la arquitectura Harvard modificada es que las

transferencias de datos pueden ser solapadas con los ciclos de decodificación de

instrucciones. Esto quiere decir que la siguiente instrucción puede ser cargada de la

memoria de programa mientras se está ejecutando una instrucción que accede a la memoria

de datos. La desventaja de la arquitectura Harvard modificada podría ser que se requieren

instrucciones especiales para acceder a valores en memoria RAM y ROM haciendo la

programación un poco complicada.

En cuanto a las técnicas de fabricación, casi la totalidad de los microcontroladores actuales

se fabrican en tecnologías CMOS (Complementary Metal

Oxide Semiconductor) que supera a todas las tecnologías existentes por su bajo consumo y

su inmunidad frente al ruido.

2.1 ¿Para qué se usan los microcontroladores?

La aplicación de los microcontroladores a un proyecto de ingeniería tiene su


límite en la imaginación de cada diseñador. Con los diversos modelos disponibles

podemos afrontar multitud de proyectos distintos desde los más simples hasta los más

complejos[1].

Las principales ventajas que se pueden encontrar con el uso de

microcontroladores son:

° Gestión eficiente de procesos

° Aumento de la fiabilidad

° Reducción del tamaño, consumo y coste

° Mayor flexibilidad

Por nombrar algunos ejemplos de aplicaciones: mandos a distancia, termómetros digitales,

controles de acceso por puertas de seguridad, los sistemas ABS o EPS de los coches,

control y sensórica de maquinaria, domótica del hogar, microrobótica, monederos

electrónicos …

Hace algunos años, para borrar la información contenida en un PIC, estos debían ser

expuestos a una luz Ultra Violeta a través de una ventana sobre el Chip; y para cargar sobre

ellos un programa era necesario tener un programador especial. Actualmente los PIC

utilizan memorias conocidas como Flash, que pueden ser borradas eléctricamente miles de

veces, sin necesidad de ningún equipamiento especial y puede ser programados a través de

un protocolo denominado ICSP (InCircuit Serial Programming). Este protocolo se

desarrolló con la finalidad de resultar lo más cómodo posible para el programador, por lo

que en lugar de preocuparse por adaptar el diseño del circuito para el que programaremos el
PIC a las necesidades del protocolo ICSP, se optó por mover el PIC desde su circuito

original a una tarjeta prototipo propia del programador adaptada a las necesidades de

conexión del

protocolo ICSP y así poder usar el mismo programador para cualquier circuito que

queramos diseñar.

Usando una programación bajo el estándar de programación ICSP necesitamos, como ya

hemos explicado con anterioridad, conectarnos con el PIC para descargar la aplicación que

hemos diseñado. Para esto Microchips desarrolló el “Low Pin Count - LPC- Demo Borrad"

diseñado para ser utilizado junto con el programador PICkit 2.

La LPC Demo Borrad incluye la base de la tarjeta con el soporte sobre el que conectar un

PIC para que el programa pueda ser transferido, cuatro LED un interruptor de contacto y un

potenciómetro (resistencia variable). Además sobre la placa, tenemos un área en la que

podemos añadir componentes que necesitemos para nuestra configuración.

La LPC Demos Board soporta todos los PIC modernos (que utilizan memorias Flash) 8-,14,

y 20-pin PIC Baseline y Midrange. Muchas de las líneas de I/O del PIC están conectadas

como salidas en el soporte de 14 pin que se encuentra en el lateral de la placa prototipo,

permitiendo que la tarjeta sea conectada a otro circuito, permitiendo configurar y depurar tu

diseño sin necesidad de fabricar la placa con el PIC integrado en cada ocasión.

Existen actualmente un número determinado de tarjetas prototipo, algunas de ellas vienen

con más periféricos integrados, lo que permite configurar muchas más aplicaciones, sin

embargo tener una tarjeta u otra no es limitación alguna para trabajar de manera completa
con nuestro PIC para depurar nuestro diseño, ya que es muy sencillo construir nuestra

propia tarjeta prototipo adaptada a nuestras necesidades de diseño, incluso que puedan

soportar un PIC más largo

2.3.3 Software Necesario

El lenguaje nativo de los microcontroladores es el ASM, sin embargo, el ASM es un

lenguaje que esta mucho mas cerca del hardware que del programador. Esto, unido al

aumento de la capacidad de memoria de los microprocesadores, ha fomentado la aparición

de compiladores de lenguajes de alto nivel.

Los lenguajes de programación más extendidos son el Basic y el C, aunque también se

pueden encontrar compiladores de lenguaje orientado a objetos como son el C++ o java, sin

embargo estos compiladores no se encuentran tan desarrollados y optimizados como para

tenerlos en consideración para una aplicación compleja de programar.

Todos los PIC necesitan, por tanto, un traductor del microchips. MPLAB es un entorno de

desarrollo integrado (IDE) que permite hacer esta transformación. Es un programador serial

o USB de una gran cantidad de micros PIC y otros integrados de la gran familia de

MICROCHIP. Con la tecnología de Microchip para realizar Debugger "In-Circuit", es

posible bajar el programa a su sistema, ejecutarlo en tiempo real y al mismo tiempo

examinar en detalle el programa con la ayuda de MPLAB. Es posible ver el valor de las
variables, elegir puntos de ruptura (breakpoints) en C o en ensamblador. Se puede analizar

el código en C o ensamblador paso por paso.

Esta herramienta incluye un ensamblador propio de Microchip, conocido como MPASM,

un editor y un software de simulación que te permite depurar la aplicación antes de

trasladarla al Chip. Hace algún tiempo una herramienta como esta, tan sofisticada, podía

costar bastante, sin embargo, actualmente MPLAB es un programa de distribución gratuita,

completamente libre, distribuido por el propio Microchip.

MPLAB soporta directamente la conexión con el programador PICkit 2 para todos los

dispositivos de Midrange y Baseline PIC, por lo que también necesitaremos para trabajar el

software que permite el control del programador y que viene incluido en el CD junto con la

tarjeta o placa prototipo pero que también podemos encontrar en la página de Microchip

para descargarlo de forma gratuita. Conviene además comprobar que tenemos la última

versión, ya que cada nueva versión añade características que permiten soportar nuevos

PICs.

MPLAB, desde la versión 7.41, incluye una copia de libre distribución del compilador de

lenguaje de programación C llamado CCS. Sin embargo esto en muchas ocasiones no

supone un gran avance, ya que la disponibilidad de la versión gratuita es tan limitada que

hace que, en muchos casos, necesites usar un ensamblador.

Estudiando todas las posibilidades de diseño comprobamos que es posible usar MPLAB

como una herramienta de desarrollo integrado completa para ensamblarlos programas de

forma tan completa como si usáramos un programador de lenguaje


Los dispositivos de la serie 18F tienen además que utilizar el llamado compilador C18, que

se vende de forma separada y que no es barato; sin embargo, existe una versión para

estudiantes con algunas características desactivadas pero funcionando completamente en

cuanto a prestaciones se refiere y que también se encuentra disponible en una versión libre

que podemos descargar sin problemas, además, al igual que los otros compiladores de C,

C18 permite estar completamente integrado dentro de MPLAB.

Sin embargo, esta no es la única forma de trabajar con el dispositivo. El PICkit

2 viene con una versión limitada del compilador de C distribuido por Hi-Tech’s, llamado

“PICC-Lite”. Este soporta un pequeño número de dispositivos de Midrange y para los

dispositivos High-end, como el 16F690 no permite usar toda la memoria del PIC; por

es muy útil para iniciarse en los programadores de C para dispositivos Midrange, pero

queda descartado de la selección por sus limitaciones.

También podría gustarte