Universidad de San Carlos de Guatemala Electronica
Laboratorio de MicrocontroladoresElectronica 3
Laboratorio de Electronica
Facultad de Ingenierıa
Segundo Semestre 2015Agosto 2015
David Barrientos Segundo Semestre 2015 Microcontroladores 1 / 110
Universidad de San Carlos de Guatemala Electronica
Introduccion
Un microcontrolador es un circuito integrado programable, capazde ejecutar las ordenes grabadas en su memoria. Esta compuestode varios bloques funcionales, los cuales cumplen una tareaespecıfica.
Arduino Uno Tiva C PIC
David Barrientos Segundo Semestre 2015 Microcontroladores 2 / 110
Universidad de San Carlos de Guatemala Electronica
Diferencias
Microcontrolador
• ComputadoraIntegrada enun solo chip.
Microprocesador
• Procesadorpequeno.
Microcomputador
• Pequenacomputadoraque incluyeprocesador,memoria ypuertos E/S.
David Barrientos Segundo Semestre 2015 Microcontroladores 3 / 110
Universidad de San Carlos de Guatemala Electronica
Sistemas Embebidos
Sistema de micro computadora embebido
• Embebido: Escondido adentro de modo que nadie pueda verlo.
• Micro: Pequeno.
• Computadora: Sistema que contiene procesador memoria yalguna manera para intercambiar datos con el mundo externo.
• Sistema: Multiples componentes que trabajan en conjuntopara un proposito en comun.
David Barrientos Segundo Semestre 2015 Microcontroladores 4 / 110
Universidad de San Carlos de Guatemala Electronica
Sistemas Embebidos
Un sistema embebido es una micro computadora con dispositivosmecanicos quımicos y electricos adjuntos a sı; programados paraun proposito dedicado especifico y empaquetados como un sistemacompleto.
1 Un microcontrolador escondido adentro
2 Un proposito especifico
3 Corren en tiempo real
4 Entradas y Salidas
5 Extremadamente Confiables
6 Pequeno tamano y peso
7 Bajo consumo
David Barrientos Segundo Semestre 2015 Microcontroladores 5 / 110
Universidad de San Carlos de Guatemala Electronica
Terminos Claves
1 Puerto• Es una conexion fısica entre la computadora y el mundo
exterior.• Tambien llamados Puertos I/O, Puertos E/S, Dispositivos E/S
I/O.
2 Bus• Coleccion de cables utilizados para llevar informacion entre
modulos.
3 RAM• Random Access Memory• Volatiles• Utiliza transistores de efecto de campo de metal-oxido.
4 ROM• Read Only Memory• No volatil
David Barrientos Segundo Semestre 2015 Microcontroladores 6 / 110
Universidad de San Carlos de Guatemala Electronica
Terminos Claves
1 Interfaz• Combinacion de hardware y software que permiten a la
computadora comunicarse con el hardware externo.
2 Software• Secuencia ordenada de cada instruccion especifica almacenada
en memoria definiendo exactamente que tarea se realizara.
3 Hardware• Parte tangible o dispositivos fısicos; como la placa base, la
unidad central de almacenamiento, perifericos y el monitor.
4 Firmware• Es un bloque de instrucciones de programa para propositos
especıficos, grabado en una memoria de tipo no volatil, queestablece la logica de mas bajo nivel que controla los circuitoselectronicos de un dispositivo de cualquier tipo. Al estarintegrado en la electronica del dispositivo es en parte hardware,pero tambien es software, ya que proporciona logica y sedispone en algun tipo de lenguaje de programacion.
David Barrientos Segundo Semestre 2015 Microcontroladores 7 / 110
Universidad de San Carlos de Guatemala Electronica
Almacenamiento en Memoria
• La memoria es una coleccion de elementos de hardware enuna computadora en la cual se puede guardar informacion.
• Cada celda de memoria contiene un byte de informacion, cadacelda tiene una unica y secuencia direccion.
• La memoria se llama Byte-Addressable porque cada byte tieneuna direccion separada.
• Escribir en ROM toma alrededor de 1 ms, en contraste con laRAM que toma alrededor de 10 ns (100,000 veces masrapido); sin embargo la ROM es mucho mas densa que laRAM, dandonos la opcion de tener mas bits de ROM en unchip que de RAM.
David Barrientos Segundo Semestre 2015 Microcontroladores 8 / 110
Universidad de San Carlos de Guatemala Electronica
Logica Digital
• No utilizamos el sistema decimal sino el sistema binario.
• Un numero binario solo puede tener dos valores (0,1). Esterecibe el nombre de bit.
• Un arreglo de 4 bits recibe el nombre de nible (nibble).
• Un arreglo de 8 bits recibe el nombre de byte.
• Un arreglo de 16 bits recibe el nombre de media palabra(halfword).
• Un arreglo de 32 bits recibe el nombre de palabra (Word).
David Barrientos Segundo Semestre 2015 Microcontroladores 9 / 110
Universidad de San Carlos de Guatemala Electronica
Binario Implementado con CMOS
Un bit puede existir en uno de dos posibles estados:
1 Logico Positivo: Presencia de voltaje; llamado ‘1’, verdadero oestado en alto.
2 Logico Negativo: Ausencia de voltaje; llamado‘0’, falso oestado en bajo.
Rangos
• Un voltaje entre 2 y 5 voltios es considerado un ‘uno logico’.
• Un voltaje entre 0 y 1.3 voltios es considerado un ‘cero logico’.
Se separan las dos regiones por 0.7 voltios para que la logicadigital pueda trabajar de manera confiable a altas velocidades.
David Barrientos Segundo Semestre 2015 Microcontroladores 10 / 110
Universidad de San Carlos de Guatemala Electronica
Rangos Logicos
David Barrientos Segundo Semestre 2015 Microcontroladores 11 / 110
Universidad de San Carlos de Guatemala Electronica
Transistor
• Para un transistor tipo n, elSwitch se encuentra cerradosi la entrada es alta.
• Para un transistor tipo p, elSwitch se encuentra cerradosi la entrada es baja.
David Barrientos Segundo Semestre 2015 Microcontroladores 12 / 110
Universidad de San Carlos de Guatemala Electronica
Operadores Binarios
En C tenemos diferentes tipos de operadores, tantos logicos comobinarios.Los operadores binarios que usaremos son :
• And
• Or
• Not
• Xor
Nota
El orden para evaluarlos es NOT, AND , Or y Xor. Este ordenpuede ser alterado por medio de parentesis.
David Barrientos Segundo Semestre 2015 Microcontroladores 13 / 110
Universidad de San Carlos de Guatemala Electronica
Operadores Binarios
And:
Sımbolo: &A = 01100111B = 11110000A&B = 01100000
Or:
Sımbolo: |A = 01100111B = 11110000A|B = 01100000
David Barrientos Segundo Semestre 2015 Microcontroladores 14 / 110
Universidad de San Carlos de Guatemala Electronica
Operadores Binarios
Not:
Sımbolo: ∼A = 01100111∼ A = 10011000
Xor:
Sımbolo: ⊕A = 1100111B = 11110000A⊕B = 10011000
David Barrientos Segundo Semestre 2015 Microcontroladores 15 / 110
Universidad de San Carlos de Guatemala Electronica
Clase 2
Arquitectura de la TIVA
David Barrientos Segundo Semestre 2015 Microcontroladores 16 / 110
Universidad de San Carlos de Guatemala Electronica
Arquitectura de la Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores 17 / 110
Universidad de San Carlos de Guatemala Electronica
Advanced Risc Machine (ARM)
• ARM es una arquitectura RISC (Reduced Instruction SetComputer) de 32 bits y recientemente con la llegada de suversion V8-A tambien de 64 Bits desarrollada por ARMHoldings.
• La arquitectura ARM es el conjunto de instrucciones de 32 y64 bits mas ampliamente utilizado en unidades producidas.
• La relativa simplicidad de los procesadores ARM los haceideales para aplicaciones de baja potencia. Como resultado, sehan convertido en dominante en el mercado de la electronicamovil e integrada, encarnados en microprocesadores ymicrocontroladores pequenos, de bajo consumo yrelativamente bajo costo
David Barrientos Segundo Semestre 2015 Microcontroladores 18 / 110
Universidad de San Carlos de Guatemala Electronica
Definiciones
Thumb
• Los procesadores mas recientes traen un conjunto deinstrucciones adicional llamado Thumb, de 16 bits (2 bytes)de longitud por instruccion, en lugar de 32 bits (4 bytes)como el juego estandar de ARM. Thumb es un subconjuntoformado por las instrucciones que se usan con mas frecuencia.Al tener la mitad de longitud, se consigue disminuir lacantidad de codigo y mejorar su densidad.
• Manipulacion Atomica Una operacion que actua en memoriacompartida es atomica si se completa en un unico pasorelativamente a otros hilos.
David Barrientos Segundo Semestre 2015 Microcontroladores 19 / 110
Universidad de San Carlos de Guatemala Electronica
IEE 754
El estandar IEEE 754 ha sido definido por el Instituto de IngenierosElectricos y Electronicos (Institute of Electrical and ElectronicsEngineers, IEEE) y establece dos formatos basicos para representara los numeros reales en la computadora digital: precision simple yprecision doble.
• Ejemplo Libreria IEE 754
David Barrientos Segundo Semestre 2015 Microcontroladores 20 / 110
Universidad de San Carlos de Guatemala Electronica
Memoria Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores 21 / 110
Universidad de San Carlos de Guatemala Electronica
Perifericos Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores 22 / 110
Universidad de San Carlos de Guatemala Electronica
Perifericos Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores 23 / 110
Universidad de San Carlos de Guatemala Electronica
Perifericos Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores 24 / 110
Universidad de San Carlos de Guatemala Electronica
Launchpad Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores 25 / 110
Universidad de San Carlos de Guatemala Electronica
Senal de Reloj (CLOCK)
• Una senal de reloj es en la electronica digital una senalbinaria, que sirve para coordinar las acciones de varioscircuitos, en especial para la sincronizacion de biestables ensistemas digitales complejos.
• Los circuitos que utilizan la senal de reloj para sincronizarse,pueden, segun su construccion, basarse en el flancoascendente o en el descendente de la senal.
• La mayorıa de circuitos integrados complejos requieren unasenal de reloj, para sincronizar diferentes partes del chip yequilibrar los retrasos de las puertas.
David Barrientos Segundo Semestre 2015 Microcontroladores 26 / 110
Universidad de San Carlos de Guatemala Electronica
Senal de Reloj (CLOCK)
David Barrientos Segundo Semestre 2015 Microcontroladores 27 / 110
Universidad de San Carlos de Guatemala Electronica
Fuentes de Reloj
David Barrientos Segundo Semestre 2015 Microcontroladores 28 / 110
Universidad de San Carlos de Guatemala Electronica
Arbol de Funcionamiento de Reloj y PLL
David Barrientos Segundo Semestre 2015 Microcontroladores 29 / 110
Universidad de San Carlos de Guatemala Electronica
General Purpose Inputs/Outputs
David Barrientos Segundo Semestre 2015 Microcontroladores 30 / 110
Universidad de San Carlos de Guatemala Electronica
Slew Rate
Tiempo de transicion de una senal digital entre dos puntos fijos demedida, que suelen ser tıpicamente el 20 % y el 80 % de la tensionde alimentacion respectivamente.
• Un slew rate demasiado largo afecta negativamente lavelocidad del circuito, alargando los tiempos de propagacion
• Las senales con slew rate pequeno son mas vulnerables aproblemas de integridad de senal (ruido).
• Un slew rate demasiado pequeno, a su vez, da lugar a unapendiente de senal demasiado acusada que puede generarruido en una senal cercana.
David Barrientos Segundo Semestre 2015 Microcontroladores 31 / 110
Universidad de San Carlos de Guatemala Electronica
GPIO en Tiva C
Seis pines en el dispositivo estan protegidos contra programacionaccidental:
• PC3,2,1 & 0: JTAG/SWD.
• PD7 & PF0: NMI
Cualquier escritura a los siguientes registros para estos pines nosera guardado a menos que el registro GPIOLOCK se desbloquee:
• GPIO Alternate Function Select Register.
• GPIO Pull Up or Pull Down select.
• GPIO Digital Enable register.
David Barrientos Segundo Semestre 2015 Microcontroladores 32 / 110
Universidad de San Carlos de Guatemala Electronica
Desbloquear Switch 0
1 HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
2 HWREG(GPIO_PORTF_BASE + GPIO_O_CR) |= 0x01;
3 HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0;
David Barrientos Segundo Semestre 2015 Microcontroladores 33 / 110
Universidad de San Carlos de Guatemala Electronica
Fin de la Teorıa
Inicio de la Programacion
David Barrientos Segundo Semestre 2015 Microcontroladores 34 / 110
Universidad de San Carlos de Guatemala Electronica
Nuevo Proyecto
David Barrientos Segundo Semestre 2015 Microcontroladores 35 / 110
Universidad de San Carlos de Guatemala Electronica
Agregar Build Variable
David Barrientos Segundo Semestre 2015 Microcontroladores 36 / 110
Universidad de San Carlos de Guatemala Electronica
Linkear el archivo de TivaWare: driverlib.lib, al Proyecto
David Barrientos Segundo Semestre 2015 Microcontroladores 37 / 110
Universidad de San Carlos de Guatemala Electronica
Agregar INCLUDE Search paths para las cabeceras.${TIVAWARE INSTALL}
David Barrientos Segundo Semestre 2015 Microcontroladores 38 / 110
Universidad de San Carlos de Guatemala Electronica
Cabeceras Requeridas
1 #include <stdint.h>
2 #include <stdbool.h>
3 #include "inc/hw_memmap.h"
4 #include "inc/hw_types.h"
5 #include "driverlib/sysctl.h"
6 #include "driverlib/gpio.h"
• stdint.h: Variable definitions for the C99 standard .• stdbool.int: Boolean definitions for the C99 standard.• hw memmap.h: Memory map of the Tiva C device. This
includes defines such as peripheral base address locations.• hw types.h: Defines common types and macros• sysctl.h: Defines and macros for System Control API of
DriverLib. This includes API functions such as SysCtlClockSetand SysCtlClockGet.
• gpio.h: Defines and macros for GPIO API of DriverLib. Thisincludes API functions such as GPIOPinTypePWM andGPIOPinWrite
David Barrientos Segundo Semestre 2015 Microcontroladores 39 / 110
Universidad de San Carlos de Guatemala Electronica
Delay
Podemos crear un retardo o un delay en el programa utilizando lainstruccion:
1 SysCtlDelay (2000000) ;
• El parametro que recibe es el numero de ciclos de 3 ciclos dereloj a esperar.
• Por lo tanto, si queremos esperar T segundos y fosc es lafrecuencia del bus del sistema (40-80 MHz) entonces elparametro x a colocar seria:
Parametro Delay(1):
x =T (s) ∗ fosc
3(1)
David Barrientos Segundo Semestre 2015 Microcontroladores 40 / 110
Universidad de San Carlos de Guatemala Electronica
Clase 3
GPIOS
David Barrientos Segundo Semestre 2015 Microcontroladores 41 / 110
Universidad de San Carlos de Guatemala Electronica
Proyectos Portatiles
Originalmente creamos dos variables:
1 Path variable.
2 Build variable.
Ambas eran la misma variable pero usadas de manera distinta; unapara linkear los archivos al Proyecto y la otra se usa para incluir loscaminos de busqueda.
• Para agregar estas variables automaticamente solamentedebemos seguir los siguientes pasos:
David Barrientos Segundo Semestre 2015 Microcontroladores 42 / 110
Universidad de San Carlos de Guatemala Electronica
Configuracion
David Barrientos Segundo Semestre 2015 Microcontroladores 43 / 110
Universidad de San Carlos de Guatemala Electronica
FileB ImportB
David Barrientos Segundo Semestre 2015 Microcontroladores 44 / 110
Universidad de San Carlos de Guatemala Electronica
Condiciones de Control en C
Unas de las condiciones mas usadas en la programacion y lascuales usaremos mucho para programar nuestra Tiva son:
1 If Statement.
2 For Loop.
3 While Loop.
4 Switch Case Statement.
David Barrientos Segundo Semestre 2015 Microcontroladores 45 / 110
Universidad de San Carlos de Guatemala Electronica
If Statement
Una condicion muy simple; esta verifica si la expresion esverdadera; y si lo es ejecuta los comandos; de lo contrario los salta.
1 if (expression)
2 {
3 Block of statements;
4 }
5 else if(expression)
6 {
7 Block of statements;
8 }
9 else
10 {
11 Block of statements;
12 }
David Barrientos Segundo Semestre 2015 Microcontroladores 46 / 110
Universidad de San Carlos de Guatemala Electronica
For Loop
El Ciclo for, se encarga de realizar el ciclo un cierto numero deveces.
1 for( expression1; expression2; expression3)
2 {
3 Single statement
4 or
5 Block of statements;
6 }
Donde:
1 Expression1 - Inicializacion de Variable.
2 Expression2 - Expresion Condicional, mientras esta condicionsea verdadera el ciclo se ejecutara.
3 Expression3 - Modificador de la variable; generalmente es unincremento.
David Barrientos Segundo Semestre 2015 Microcontroladores 47 / 110
Universidad de San Carlos de Guatemala Electronica
While Loop
El Ciclo While; se encarga de realizar el ciclo mientras su condicionsea verdadera.
1 while ( expression )
2 {
3 Single statement
4 or
5 Block of statements;
6 }
David Barrientos Segundo Semestre 2015 Microcontroladores 48 / 110
Universidad de San Carlos de Guatemala Electronica
Switch Case Statement
La condicion Switch es como un conjunto de condiciones if-else if.
1 switch(Variable){
2 case ’1’ : Statement1;
3 break;
4 case ’2’ : Statement2;
5 break;
6 case ’3’ : Statement3;
7 break;
8 case ’4’ : Statement4;
9 break;
10 case ’5’ : Statement5;
11 break;
12 default : Statement6;
13 break;
14 }
David Barrientos Segundo Semestre 2015 Microcontroladores 49 / 110
Universidad de San Carlos de Guatemala Electronica
Ejemplo 1
Ya vimos como configurar los GPIO como salidas, veamos comousarlos como entradas:
1 GPIOPinTypeGPIOInput(GPIO_PORTF_BASE , GPIO_PIN_0 |
GPIO_PIN_4);
2 GPIOPadConfigSet(GPIO_PORTF_BASE , GPIO_PIN_0 | GPIO_PIN_4 ,
GPIO_STRENGTH_2MA , GPIO_PIN_TYPE_STD_WPU);
David Barrientos Segundo Semestre 2015 Microcontroladores 50 / 110
Universidad de San Carlos de Guatemala Electronica
Breakpoints
En el desarrollo de Software, un breakpoint es una paradaintencional o una pausa en el programa, con el fin de realizardebugging.Mejor explicado, un breakpoint es una forma de obtenerconocimiento de un programa durante su ejecucion. Durante lainterrupcion el programado puede inspeccionar los registros, logs,memorias, archivos, etc. para verificar si el programa estafuncionando como se esperaba.
David Barrientos Segundo Semestre 2015 Microcontroladores 51 / 110
Universidad de San Carlos de Guatemala Electronica
Agregar un Breakpoint
Hacemos doble click en la linea donde deseamos agregarlo, en laimagen se marca con un cuadro rojo, todo esto antes de iniciar eldebugger.
David Barrientos Segundo Semestre 2015 Microcontroladores 52 / 110
Universidad de San Carlos de Guatemala Electronica
Breakpoint para observar el valor de una variable
Tras correr el debugger hacemos click Derecho en nuestrobreakpoint y seleccionamos Breakpoint Properties.
David Barrientos Segundo Semestre 2015 Microcontroladores 53 / 110
Universidad de San Carlos de Guatemala Electronica
Breakpoint para observar el valor de una variable
Seleccionamos estas opciones: Update View y Expressions
David Barrientos Segundo Semestre 2015 Microcontroladores 54 / 110
Universidad de San Carlos de Guatemala Electronica
Agregando Expresiones a Observar
Seleccionamos la variable a observar seguido de click derecho yAdd Expression.
David Barrientos Segundo Semestre 2015 Microcontroladores 55 / 110
Universidad de San Carlos de Guatemala Electronica
Clase 4
Interrupciones y Timer
David Barrientos Segundo Semestre 2015 Microcontroladores 56 / 110
Universidad de San Carlos de Guatemala Electronica
Interrupciones
Una interrupcion (IR, de Interrupt Request) es una senal recibidapor el procesador para indicarle que debe interrumpir el curso deejecucion actual y pasar a ejecutar codigo especıfico para trataresta situacion.
David Barrientos Segundo Semestre 2015 Microcontroladores 57 / 110
Universidad de San Carlos de Guatemala Electronica
Procesamiento de una Interrupcion
1 Terminar la ejecucion de la instruccion maquina en curso.
2 Salvar el estado del procesador (valores de registros y flags) yel valor del contador de programa en la pila, de manera que enla CPU, al terminar el proceso de interrupcion, pueda seguirejecutando el programa a partir de la ultima instruccion.
3 El procesador salta a la direccion donde esta almacenada larutina de servicio de interrupcion (Interrupt Service Routine, oabreviado ISR) y ejecuta esa rutina que tiene como objetivoatender al dispositivo que genero la interrupcion.
4 Una vez que la rutina de la interrupcion termina, el procesadorrestaura el estado que habıa guardado en la pila en el paso 2 yretorna al programa que se estaba usando anteriormente.
David Barrientos Segundo Semestre 2015 Microcontroladores 58 / 110
Universidad de San Carlos de Guatemala Electronica
NVIC
David Barrientos Segundo Semestre 2015 Microcontroladores 59 / 110
Universidad de San Carlos de Guatemala Electronica
Tail Chaining
David Barrientos Segundo Semestre 2015 Microcontroladores 60 / 110
Universidad de San Carlos de Guatemala Electronica
Pre-emption
David Barrientos Segundo Semestre 2015 Microcontroladores 61 / 110
Universidad de San Carlos de Guatemala Electronica
Late Arrival
David Barrientos Segundo Semestre 2015 Microcontroladores 62 / 110
Universidad de San Carlos de Guatemala Electronica
Tipos
David Barrientos Segundo Semestre 2015 Microcontroladores 63 / 110
Universidad de San Carlos de Guatemala Electronica
Especificaciones
El NVIC soporta:
• 78 tipos de interrupciones.
• Un nivel de prioridad programable entre 0 y 7.
• Baja latencia para el manejo de interrupciones.
• Facil y dinamica repriorizacion de las interrupciones.
• Tail-chaining.
• NMI Externo.
David Barrientos Segundo Semestre 2015 Microcontroladores 64 / 110
Universidad de San Carlos de Guatemala Electronica
Interrupciones
David Barrientos Segundo Semestre 2015 Microcontroladores 65 / 110
Universidad de San Carlos de Guatemala Electronica
Interrupciones
David Barrientos Segundo Semestre 2015 Microcontroladores 66 / 110
Universidad de San Carlos de Guatemala Electronica
GPTM
General Purpose Timer Module:Los timers programables son usados para contar o realizar eventoscontrolados por tiempo.
David Barrientos Segundo Semestre 2015 Microcontroladores 67 / 110
Universidad de San Carlos de Guatemala Electronica
GPTM
David Barrientos Segundo Semestre 2015 Microcontroladores 68 / 110
Universidad de San Carlos de Guatemala Electronica
Modos del Timer
1 One Shot: Tal como su nombre lo dice, solo ejecutara el timerun recorrido.
2 Periodic: Cuando su recorrido termine, comenzara de nuevo surecorrido.
3 RTC: (Real Time Clock) Utiliza ambos Timers, para obtenerun timer de 32 bits. Se necesista una entrada de Reloj de32.768 KHz.
4 Input Edge Count:En este modo, el timer es capaz de capturartres tipos de eventos: rising edge, falling edge, o ambos.
5 PWM
David Barrientos Segundo Semestre 2015 Microcontroladores 69 / 110
Universidad de San Carlos de Guatemala Electronica
Clase 5
ADC
David Barrientos Segundo Semestre 2015 Microcontroladores 70 / 110
Universidad de San Carlos de Guatemala Electronica
Introduccion
Link Video
David Barrientos Segundo Semestre 2015 Microcontroladores 71 / 110
Universidad de San Carlos de Guatemala Electronica
Analog to Digital Converter
Es un dispositivo electronico capaz de convertir una senalanalogica de voltaje en una senal digital con un valor binario.
David Barrientos Segundo Semestre 2015 Microcontroladores 72 / 110
Universidad de San Carlos de Guatemala Electronica
Analog to Digital Converter
La Conversion se divide en tres pasos:
• Muestreo.
• Cuantizacion.
• Codificacion.
David Barrientos Segundo Semestre 2015 Microcontroladores 73 / 110
Universidad de San Carlos de Guatemala Electronica
Muestreo
Proceso por el cual se toman muestras de un fenomeno que sesupone continuo.La velocidad con la que se muestrea es crucial.
David Barrientos Segundo Semestre 2015 Microcontroladores 74 / 110
Universidad de San Carlos de Guatemala Electronica
Errores
• Aliasing.
• Efecto Estroboscopico.
David Barrientos Segundo Semestre 2015 Microcontroladores 75 / 110
Universidad de San Carlos de Guatemala Electronica
Criterio de Nyquist
El teorema demuestra que la reconstruccion exacta de una senalperiodica continua en banda base a partir de sus muestras, esmatematicamente posible si la senal esta limitada en banda y latasa de muestreo es superior al doble de su ancho de banda.
David Barrientos Segundo Semestre 2015 Microcontroladores 76 / 110
Universidad de San Carlos de Guatemala Electronica
Cuantizacion
La cuantificacion implica tomar las muestras del proceso demuestreo y aproximarlas a una serie de niveles permitidos. Ningunamuestra puede estar fuera de estos niveles.
David Barrientos Segundo Semestre 2015 Microcontroladores 77 / 110
Universidad de San Carlos de Guatemala Electronica
Codificacion
La codificacion implica asignarle un valor binario a cada una de lasmuestras cuantificadas. El tamano dependera de la cantidad deniveles; entiendase el numero de bits para representar todos losniveles.
David Barrientos Segundo Semestre 2015 Microcontroladores 78 / 110
Universidad de San Carlos de Guatemala Electronica
ADC en TIVA
David Barrientos Segundo Semestre 2015 Microcontroladores 79 / 110
Universidad de San Carlos de Guatemala Electronica
Especificaciones
• 2 ADC’s
• 12 Diferentes Canales
• 12 Bits de Precision
• 1 MSPS
• 4 Secuenciadores
• Control de Trigger Flexible
1 Software2 Timer3 Analog Comparator4 PWM5 GPIO
• Hardware Averaging
David Barrientos Segundo Semestre 2015 Microcontroladores 80 / 110
Universidad de San Carlos de Guatemala Electronica
Secuenciadores
David Barrientos Segundo Semestre 2015 Microcontroladores 81 / 110
Universidad de San Carlos de Guatemala Electronica
Canales
David Barrientos Segundo Semestre 2015 Microcontroladores 82 / 110
Universidad de San Carlos de Guatemala Electronica
Clase 6
PWM y Motores
David Barrientos Segundo Semestre 2015 Microcontroladores 83 / 110
Universidad de San Carlos de Guatemala Electronica
PWM
La modulacion por ancho de pulsos de una senal o fuente deenergıa es una tecnica en la que se modifica el ciclo de trabajo deuna senal periodica, ya sea para transmitir informacion a traves deun canal de comunicaciones o para controlar la cantidad de energıaque se envıa a una carga.
David Barrientos Segundo Semestre 2015 Microcontroladores 84 / 110
Universidad de San Carlos de Guatemala Electronica
Aplicaciones
• Switcheo de Fuentes de Poder
• Control de Motores
• Posicionamiento de Servos
• Control lumınico
• Envıo de datos por canales
David Barrientos Segundo Semestre 2015 Microcontroladores 85 / 110
Universidad de San Carlos de Guatemala Electronica
PWM en Tiva C
La Tiva C contiene dos modulos PWM, cada uno con cuatrobloques generadores y un bloque de control para un total de 16Salidas PWM.Cada bloque generador produce dos senales PWM que compartenel mismo timer y frecuencia.Cada modulo provee gran flexibilidad y puede generar senalessimples de PWM, asi como pares PWM, y generacion de senalescon esperas de dead-band.
David Barrientos Segundo Semestre 2015 Microcontroladores 86 / 110
Universidad de San Carlos de Guatemala Electronica
Algunas Caracterısticas
• Resolucion de 16 Bits.
• Comparadores PWM
• Dead Band Generator
• Generadores PWM pueden ser operados independientemente osincronizados con otros generadores.
David Barrientos Segundo Semestre 2015 Microcontroladores 87 / 110
Universidad de San Carlos de Guatemala Electronica
Dead Band
La Deadband o banda muerta (algunas veces llamada zona neutrao zona muerta) es un intervalo de la senal donde ninguna accionocurre.
David Barrientos Segundo Semestre 2015 Microcontroladores 88 / 110
Universidad de San Carlos de Guatemala Electronica
Modulo PWM
David Barrientos Segundo Semestre 2015 Microcontroladores 89 / 110
Universidad de San Carlos de Guatemala Electronica
Canales
David Barrientos Segundo Semestre 2015 Microcontroladores 90 / 110
Universidad de San Carlos de Guatemala Electronica
Canales
David Barrientos Segundo Semestre 2015 Microcontroladores 91 / 110
Universidad de San Carlos de Guatemala Electronica
Canales
David Barrientos Segundo Semestre 2015 Microcontroladores 92 / 110
Universidad de San Carlos de Guatemala Electronica
Canales
David Barrientos Segundo Semestre 2015 Microcontroladores 93 / 110
Universidad de San Carlos de Guatemala Electronica
Canales
David Barrientos Segundo Semestre 2015 Microcontroladores 94 / 110
Universidad de San Carlos de Guatemala Electronica
Servo Motores
Un servomotor no es nada mas que un motor controlado con laayuda de un servomecanismo.Si el servomecanismo esta asociado con un Motor DC. Es conocidocomo un DC Servo Motor, si es controlado por AC, es llamado ACServo Motor.
David Barrientos Segundo Semestre 2015 Microcontroladores 95 / 110
Universidad de San Carlos de Guatemala Electronica
Servo Motores
David Barrientos Segundo Semestre 2015 Microcontroladores 96 / 110
Universidad de San Carlos de Guatemala Electronica
Servomecanismo
Un servo basicamente consiste de tres componentes.
• Un dispositivo controlado
• Un sensor de salida
• Un sistema de retroalimentacion
Es un sistema de lazo cerrado. El dispositivo es controlado por unasenal de retroalimentacion generada comparando la senal de saliday la senal de referencia.
David Barrientos Segundo Semestre 2015 Microcontroladores 97 / 110
Universidad de San Carlos de Guatemala Electronica
Servomecanismo
Funcionamiento del Lazo Cerrado en el Servo:Cuando una senal de referencia o comando ingresa al sistema, escomparada con una senal de referencia de salida producida por elsensor (Potenciometro); una tercera senal es producida por elsistema de retroalimentacion.Esta tercer senal se produce mientras exista una diferencia entre lasenal de referencia y la senal de salida del sistema. Una vez eldispositivo alcanza la salida deseada, no existira una diferencialogica, por tato la senal producida no sera suficiente para operar eldispositivo y permanecera en este estado hasta que una nuevasenal de referencia sea ingresada.
David Barrientos Segundo Semestre 2015 Microcontroladores 98 / 110
Universidad de San Carlos de Guatemala Electronica
ServoMotor
Como sabemos, una pequeno motor DC rotara a gran velocidad,pero el torque generado por su rotacion no sera suficiente paramover ni siquiera una carga ligera.He aquı la importancia de una caja de engranajes, el mecanismo deengranajes tomara la alta velocidad del motor como entrada y enla salida obtendremos
David Barrientos Segundo Semestre 2015 Microcontroladores 99 / 110
Universidad de San Carlos de Guatemala Electronica
Funcionamiento
Supongamos que la posicion inicial de ServoMotor es tal que elpotenciometro conectado al motor no produzca ninguna senalelectrica. Esta salida del potenciometro se encuentra conectada auna de las terminales de entrada del detector de error. Una senalde entrada funcionara como referencia para la posicion deseada. Lasenal de diferencia o error es amplificada y funciona como elvoltaje de alimentacion del motor. Este error comienza siendogrande lo cual genera movimiento en el motor, sin embargoconforme se mueve, aumenta el voltaje producido por elpotenciometro y el error disminuye. El error seguira disminuyendohasta el punto que el motor haya llegado a su destino y el error seatan diminuto que ya no generara movimiento.
David Barrientos Segundo Semestre 2015 Microcontroladores100 /110
Universidad de San Carlos de Guatemala Electronica
Diagrama
David Barrientos Segundo Semestre 2015 Microcontroladores101 /110
Universidad de San Carlos de Guatemala Electronica
Senal de Referencia
David Barrientos Segundo Semestre 2015 Microcontroladores102 /110
Universidad de San Carlos de Guatemala Electronica
Clase 7
UART
David Barrientos Segundo Semestre 2015 Microcontroladores103 /110
Universidad de San Carlos de Guatemala Electronica
Universal Asynchronous Receiver-Transmitter
Es un protocolo de transmision Serial.
• Serial es la palabra clave de todo lo que es ”multiplexacion dela division temporal”. Indica que el dato es enviado en funciondel tiempo, un bit detras de otro.
• Utiliza una linea de transmision y otra de recepcion.
• Generalmente se envıan 8 bits de datos
• Se utiliza en niveles de 3.3 V o 5V para Logico Alto
• Se llama Asıncrona ya que no depende de un reloj.
David Barrientos Segundo Semestre 2015 Microcontroladores104 /110
Universidad de San Carlos de Guatemala Electronica
BaudRate y Bitrate
El Bitrate es el numero de bits que se transmiten por unidad detiempo a traves de un sistema de transmision digital.La tasa de baudios (en ingles baud rate) tambien conocida comobaudaje es el numero de unidades de senal por segundo. Un baudiopuede contener varios bits.
David Barrientos Segundo Semestre 2015 Microcontroladores105 /110
Universidad de San Carlos de Guatemala Electronica
Valores Standard
David Barrientos Segundo Semestre 2015 Microcontroladores106 /110
Universidad de San Carlos de Guatemala Electronica
UART
David Barrientos Segundo Semestre 2015 Microcontroladores107 /110
Universidad de San Carlos de Guatemala Electronica
UART en Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores108 /110
Universidad de San Carlos de Guatemala Electronica
UART en Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores109 /110
Universidad de San Carlos de Guatemala Electronica
UART en Tiva C
David Barrientos Segundo Semestre 2015 Microcontroladores110 /110