Upload
hanguyet
View
271
Download
12
Embed Size (px)
Citation preview
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Laboratorio de Microcontroladores
David J. Barrientos
Facultad de IngenierıaUniversidad de San Carlos de Guatemala
Primer Semestre 2017
1 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Contenido
1 Sistemas Digitales
2 Arquitectura de Sistemas de Computacion
3 Sistemas Embebidos
4 Micro-controladores
5 Tiva C
6 Code Composer Studio
7 Perifericos
2 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Sistema Digital
Cualquier dispositivo destinado a la generacion, transmision,procesamiento o almacenamiento de senales digitales
3 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Senales Digitales
4 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Ventajas de las Senales Digitales
• Reproducibilidad de resultados (No varia con temperatura,voltaje de alimentacion, antiguedad y otros factores).
• Facilidad de Diseno.
• Flexibilidad.
• Programabilidad.
• Velocidad.
• Economicos.
• Facilidad de procesamiento.
5 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Arquitectura de Sistemas de Computacion
Diseno conceptual y la estructura operacional fundamental deun sistema que conforma un sistema de computacion
6 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
John von Neumann
• R. Bus de Control.
• G. Bus de Datos.
• Y. Bus de Direccionamiento.
7 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Bus
Sistema de comunicacion que transfiere datos entrecomponentes.
• Bus de Control.
• Bus de Datos.
• Bus de Direccionamiento.
8 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Memoria
Coleccion de elementos de hardware encargada de almacenarinformacion.
Se dividen en:
1 Por Tipo:• Volatiles.• No volatiles.
2 Por Tecnologıa:• Opticos.• Magneticos.• Semiconductores
9 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Memoria
10 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Central Processing Unit
Hardware encargado de interpretar las instrucciones de unprograma mediante la realizacion de operaciones basicasaritmeticas, logicas y de entrada/salida del sistema.
Se divide en tres:
• Arithmetic Logic Unit (ALU).
• Control Unit (CU).
• Registros.
11 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Unidad Central de Procesamiento
12 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Arithmetic Logic Unit
13 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Registros
Pequenas memorias de rapido acceso.
Se dividen en:
• Registros de Proposito General.
• Registros de Datos.
• Registros de Memoria.
• Registros de Punto Flotante.
• Registros Constantes.
• Registros de Proposito Especifico.
14 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Unidad de Control
Ciclo de procesamiento:
1 Instruction Fetch
2 Instruction Decode
3 Execute
4 Memory Access
5 Writeback
15 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Harvard Mark I
• R. Bus de Control.
• G. Bus de Datos.
• Y. Bus de Direccionamiento.
16 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Pipelining
No Pipeline
Pipeline
17 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Clock Signal
Es una senal binaria, que sirve para coordinar las acciones devarios circuitos, en especial para la sincronizacion biestables ydiferentes partes del chip equilibrando los retrasos de laspuertas.
18 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Sistemas Embebidos
Sistema de computacion disenado para realizar una funciondedicada e integrado en un dispositivo.
¿Cual de estos es un sistema embebido?
Laptop Horno Microondas Celular
19 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Consideraciones de un Sistema Embebido
Un Sistema Embebido debe cumplir con las siguientescaracterısticas:
• Ejecutar una o muy pocas tareas.
• Procesamiento en tiempo real.
• Bajo Costo.
• Bajo Consumo.
• Mınimo uso de memoria.
• Dimensiones fısicas pequenas.
• Capaz de interactuar con el mundo fısico.
20 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Tipos de Sistemas Embebidos
21 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Seleccion del Sistema de Computacion
22 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Microcontrolador
Circuito integrado programable, capaz de ejecutar las ordenesgrabadas en su memoria. Esta compuesto de varios bloquesfuncionales, los cuales cumplen una tarea especifica.
El primer microcontrolador, el TMS 1000, fue desarrollado porTexas Instruments por los ingenieros Gary Boone y MichaelCochran en 1971. Combina memoria ROM, memoria RAM,microprocesador y reloj en un chip y estaba destinada a lossistemas embebidos.
23 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Microcontrolador
24 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Arquitectura Tiva C
El microcontrolador TM4C123GH6PM (Tiva C) tiene unaarquitectura:
• Arquitectura de 32 bits ARM Cortex M4F
• Thumb2 16/32 bit-code.
25 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Advanced Risc Machine
• Es una familia de arquitecturas RISC desarrollada porARM Holdings.
• En su mayorıa son arquitecturas de 32 bits pero los masrecientes son de 64.
• La relativa simplicidad de los procesadores ARM los haceideales para aplicaciones de baja potencia; siendo losdominantes en el mercado de dispositivos moviles eintegrados.
26 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Instruction Sets
• ARM = 32-bit instructions (Mejor desempeno).
• Thumb = 16 bit instructions (Codigo reducido).
• Thumb2 = Usa 16 y 32 bits obteniendo ambos beneficios.
27 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Integrated Development Environment
Entorno integrado de desarrollo de Texas Instruments basadoen Eclipse.
Entre las herramientas mas importantes que incluye seencuentran una optimizacion del compilador de C y undepurador.
28 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Librerıas
Es un conjunto de subprogramas utilizados para desarrollarsoftware.
Se dividen en dos:
• Definiciones.
• Metodos.
29 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Librerıas Necesarias
• stdint.h: Definiciones de variable para el estandar C99.
• stdbool.int: Definiciones booleanas para el estandar C99.
• hw memmap.h: Mapa de memoria de la Tiva C.
• hw types.h: Define macros y tipos comunes de la Tiva C.
30 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Clock Signal
31 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
SysCtl
System Control: Determina la operacion general del dispositivo.
Entre las tareas que desarrolla se encuentran la configuraciondel reloj del sistema, habilitacion de perifericos, delay entreotros.
32 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
SysCtlClockSet
Definicion: Configura la velocidad de reloj.
33 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
SysCtlDelay
Definicion: Esta funcion genera un retraso ejecutando unainstruccion de tres ciclos. Esta instruccion se repite unacantidad de veces por medio de un bucle.
Parametro Delay:
x =T (s) ∗ fosc
3(1)
34 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
SysCtl
SysCtlPeripheralEnable: Habilita un periferico.
SysCtlClockGet: Obtiene el valor del Clock.
35 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
GPIOS
Provee control para los pines GPIO de la Tiva. Cada pin tienelas siguientes capacidades:
• Pueden ser configurados como entradas o salidas. Tras unreset por defecto funcionan como entradas.
• Como entradas, pueden generar interrupciones en nivelalto, bajo, flanco de subida, bajada o ambos.
• Como salidas pueden configurarse su output drive strengthpara el estandar LVLCMOS33 con control de slew rate.Opcion de resistencias pull-up o pull-down. Opcion paraOpen-Drain.
36 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Drive Strength
Para un Slew rate mas empinado se necesita mayor drivestrength. Para un Slew rate mas gradual se necesita un drivestrength menor.
37 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
GPIO Library
• GPIOPinTypeGPIOInput(Port, Pins)
• GPIOPinTypeGPIOOutput(Port, Pins)
• GPIOPinRead(Port, Pins): Devuelve un entero.
• GPIOPinWrite(Port, Pins, Value)
38 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
GPIO Library
GPIOPadConfigSet(Port, Pins, Strength, PinType)
Descripcion:Esta funcion configura el tipo y drive strengthpara los pines GPIO seleccionados. Para pines configuradoscomo entradas, es obligatoria la configuracion de bloque; sinembargo el unico efecto que tiene en las entradas es laconfiguracion de las resistencias pull-up o pull-down.
39 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Ejemplo 1
-Blinking Led
40 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
GPIO Bloqueados
Seis pines en el dispositivo estan protegidos contraprogramacion accidental:
• 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 sedesbloquee.
41 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Interrupciones
Una interrupcion (IR, Interrupt Request) es una senal recibidapor el procesador para indicarle que debe interrumpir el cursode ejecucion actual y pasar a ejecutar codigo especıfico paratratar esta situacion.
42 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Procesamiento de una Interrupcion
1 Terminar la ejecucion de la instruccion maquina en curso.
2 Salvar el estado del procesador (valores de registros yflags) y el valor del contador de programa en la pila, demanera que en la CPU, al terminar el proceso deinterrupcion, pueda seguir ejecutando el programa a partirde la ultima instruccion.
3 El procesador salta a la direccion donde esta almacenadala rutina de servicio de interrupcion (Interrupt ServiceRoutine, o abreviado ISR) y ejecuta esa rutina que tienecomo objetivo atender al dispositivo que genero lainterrupcion.
4 Una vez que la rutina de la interrupcion termina, elprocesador restaura el estado que habıa guardado en lapila en el paso 2 y retorna al programa que se estabausando anteriormente.
43 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
NVIC
44 / 45
Laboratoriode Microcon-
troladores
David J.Barrientos
SistemasDigitales
Arquitecturade SistemasdeComputacion
SistemasEmbebidos
Micro-controladores
Tiva C
CodeComposerStudio
Perifericos
Interrupt Latency
45 / 45