laboratorio de microcontroladores -...

Post on 18-Feb-2018

271 Views

Category:

Documents

12 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related