dspicparte1

52
16/04/2009 1 M j d DSPIC C Manejo de DSPIC en C Especialización en Control e Instrumentación Industrial Claudia Leonor Rueda Guzmán Claudia Leonor Rueda Guzmán Ingeniero electrónico Universidad Nueva Esparta (Caracas Venezuela) Claudia Leonor Rueda Guzmán FORMACIÓN ACADÉMICA Universidad Nueva Esparta (Caracas, Venezuela) Magíster en Informática Universidad Industrial de Santander Especialista en Docencia Universitaria Universidad Cooperativa de Colombia Claudia Leonor Rueda Guzmán Claudia Leonor Rueda Guzmán http://clrueda.docentes.upbbga.edu.co

Upload: lunatata

Post on 30-Sep-2014

60 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSPICParte1

16/04/2009

1

M j d DSPIC CManejo de DSPIC en C

Especialización en Control e Instrumentación Industrial

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmán

Ingeniero electrónicoUniversidad Nueva Esparta (Caracas Venezuela)

Claudia Leonor Rueda Guzmán

FORMACIÓN ACADÉMICA

Universidad Nueva Esparta (Caracas, Venezuela)Magíster en Informática

Universidad Industrial de SantanderEspecialista en Docencia Universitaria

Universidad Cooperativa de Colombia

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 2: DSPICParte1

16/04/2009

2

BISEMIC.Estudio y análisis de la herramienta de desarrollo

INVESTIGACIÓN

Claudia Leonor Rueda Guzmán

Estudio y análisis de la herramienta de desarrollo FPGA para procesamiento de imágenes digitales a color orientada a la aplicación en robótica móvil.

Semilleros .Semillero de Investigación Bisemic

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

PORQUE LOS DSPIC ?

Las señales físicas son analógicasLas luz solar, sonido, velocidades, distancias etc.

Siempre se usaba para analizarlas con amplificadores operacionales discretos o integrados

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 3: DSPICParte1

16/04/2009

3

Concepto de los DSP

Digital Signal ProcessProcesador digital de señalesComputador digital monochip orientado alComputador digital monochip orientado al procesamiento de información de la señal analógica

Desde 1982 se construyen DSP por parte de:AMI = 52811NEC = µPD7720

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

INTEL = 2920Texas = TMS32010Otros Fabricates : Analog Device, Philips, Agere Systems, Freescale (Motorola), etc.

Digitalización de Señal AnalógicaPrimer Paso

Se procesa inicialmente con un sensor o traductor que la convierte en una señal eléctrica

M t

Señal Análoga

Muestra

Captura yMantenimiento

Conversor A/D

Muestra digitalizada

Transductor

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Control

Page 4: DSPICParte1

16/04/2009

4

Digitalización de Señal Analógica

El teorema de Shannon Nyquist Indica que la frecuencia aceptable para la toma de muestra debe ser como mínimo el doble de la frecuencia de la señal analógicaMayor cantidad de bits es mas precisa la conversión

mV Señal AnálogamV

00101101

00110001

11111101

1111111111101101

00111101

00101111

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

TiempoTiempo

00000011

00101111

Digitalización de Señal AnalógicaSegundo Paso

Proceso matemáticoTransformadas de Fourier FFT Transformada Rápida de FourierFFT Transformada Rápida de FourierTransformada de LaplaceTransformada Z

Esto conlleva a mayor cantidad de proceso matemático dentro del DSP

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 5: DSPICParte1

16/04/2009

5

Aplicaciones

71%

3%%6%7%

8%

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

3%5%6%

AUTOMOCIÓN COMPUTACIÓNTECN. NO INALÁMBRICA MULTIPROPÓSITOCONSUMO TECNOLOGÍAS INALÁMBRICAS

Aplicaciones

DISCOS DUROS

•Canal PRML

TECNOLOGÍA INHAMBRICA/

CELULAR•Audio Banda de Voz•Codecs de RF

AUTOMOCION•Radio Digital•Suspensión Activa•Regulación de Voltaje

•Pre_amplicador•Control de Servomotores•Transceptores SCSI

AUDIO DE CONSUMO

•Conversores A/D y D/A•Circuitos PLL•Mezcladores

Codecs de RF•Regulación de Voltaje

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

g j

DATD•Contestadores Telefónicos digitales•Mezclado de Señales•Sintetizador de voz

MULTIMEDIA•Sonido Estéreo•Imágenes•Tarjeta Grafica•Regulación de Voltaje

Page 6: DSPICParte1

16/04/2009

6

Fabricantes

7%

13%

49%

13%

10%

8%

7%

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

13%

Texas Intruments Freescale (Motorola) Aguere SystemsAnalog Device Philips Otros

Especialización en Control e Instrumentación Industrial

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmán

DSPIC

Page 7: DSPICParte1

16/04/2009

7

Introducción a los Microcontroladores

Microcontrolador:Es un circuito Integrado diseñado para ser utilizado en múltiples aplicaciones de control de dispositivos p p pexternos, este tiene la capacidad de procesamiento.Está compuesto por :

CPU

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

MEMORIA

I/OMICROCONTROLADORMICROCONTROLADOR

µC

Diferencias entre µP y µC

µP µC

Es un sistema Abierto es decir se puede colocar memoria que quieran, puertos que quiera etc.

Un Microcontrolador es un Sistema Cerrado ya tiene todo incluido y limitado a lo que da el fabricante

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

el fabricante

Page 8: DSPICParte1

16/04/2009

8

Diferencias entre µP y µC

µP µC

Está diseñado a aplicaciones de alto procesamiento, carece de puertos

Un microcontrolador está diseñado para sistema de control por su capacidad de manejar puertos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

TIPOS DE MICROCONTROLADORES

Según su Set de Instrucciones son RISC = Microchip, MotorolaCISC = INTEL

Según su ArquitecturaHardvard = MICROCHIPVon Newman = INTEL

Según el Numero de Bits

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Según el Numero de Bits8 Bits = PIC16F87716 Bits = DSPIC

Page 9: DSPICParte1

16/04/2009

9

Arquitectura Harvard

µPMemoria de Datos

Memoria De

Programa

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Arquitectura tipo Von Newman

Memoria de Programa y de datos

µPStack

Datos

Programa

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Dividida en Segmentos

Page 10: DSPICParte1

16/04/2009

10

Lenguajes de Programación

Bajo Nivel

µP

Medio Nivel

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Alto Nivel

Interface

PC

SP

DC

BADatos

SISTEMA PROCESADOR BÁSICO

PC

MAR

IR

DC

ULA BULA A

ULA

Direcciones

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

CONTROL

Index

ULA OUT

Flags

BUI Bus Interface Unit EU Execution Unit

Page 11: DSPICParte1

16/04/2009

11

Ciclo Fetch

Ciclo de Búsqueda en la memoria de programa de las instrucciones a ejecutar

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

O1

SP

DC

BADatos

Ciclo Fecth

O1

MAR

IR

DC

ULA BULA A

ULA

Direcciones

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

CONTROL

Index

ULA OUT

Flags

BUI Bus Interface Unit EU Execution Unit

Page 12: DSPICParte1

16/04/2009

12

O1

SP

DC

BADatos

O1

01

IR

DC

ULA BULA A

ULA

Direcciones

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

CONTROL

Index

ULA OUT

Flags

BUI Bus Interface Unit EU Execution Unit

O1

SP

DC

BA

Datos

O1

01

IR

DC

ULA BULA A

ULA

Direcciones

Memoria

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

CONTROL

Index

ULA OUT

Flags

BUI Bus Interface Unit EU Execution Unit

Page 13: DSPICParte1

16/04/2009

13

02

SP

DC

BADatos

02

MAR

IR

DC

ULA BULA A

ULA

Direcciones

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

CONTROL

Index

ULA OUT

Flags

BUI Bus Interface Unit EU Execution Unit

Ciclo Decode y Execute

Decodifica la instrucción en el IR y la envía al registro de controlY la ejecuta

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 14: DSPICParte1

16/04/2009

14

02

SP

DC

BADatos

02

MAR

IR

DC

ULA BULA A

ULA

Direcciones

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

CONTROL

Index

ULA OUT

Flags

BUI Bus Interface Unit EU Execution Unit

DSPIC

MICROCONTROMICROCONTRO-LADOR DE 16 BITS

DSPIC

DSP.

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 15: DSPICParte1

16/04/2009

15

Características generales de los DSPIC

Microprocesador de 16 bits.Brown-outWatchdogtimerWatchdogtimerBajo precio

mie

nto

s MICRO

DSP

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Precio

Pro

cesa

m

Micro8 bits

DSPIC30F

MIC

RO

16b

its 32 Bits

Multiplicación MAC 16x16 en un ciclo2 Registros acumuladores de 40 bitsRegistro de desplazamientos de 40 bitsA i l d d d

Características generales de los DSPIC

Acceso simultaneo de dos operandoEstructuras Do y RepeatBloques de Registro de trabajoJuego Flexible de interrupcionesWatch Dog TimerEmulación en tiempo realOptimizados para trabaja en C

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Optimizados para trabaja en CEntradas y salidas Digitales

Page 16: DSPICParte1

16/04/2009

16

Módulos de Comunicación RS232, I2C, SPI, UART

Módulos PWM, captura y comparación

Características generales de los DSPIC

Módulos PWM, captura y comparaciónControl de interrupcionesConversores ADC

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

FAMILIAS DE MICROPROCESADORESde 16 Bits

Propósito General

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 17: DSPICParte1

16/04/2009

17

PIC30F Propósito General

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

PIC30F Familia para manejo de Sensores

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 18: DSPICParte1

16/04/2009

18

PIC30F Familia para manejo de Motores

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Diagrama de Funcionamiento de control de motores

SEÑAL DE ALIMENTACIÓN

DSPIC 16 BITS

EN

TRA

DA

S

Torque

VelocidadPosiciónDirección

MO

SFET

oIG

BT

DR

IVER

S

Motor

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Sensores-Velocidad-Posición-Corriente

Page 19: DSPICParte1

16/04/2009

19

Para diferentes Motores

Paso a Paso = DSPIC30F5015Paso a Paso DSPIC30F5015DC = DSPIC30F2010Inducción Alterna = DSPIC30F3011Velocidad Variable DC = DSPIC30F201 DSPIC30F3011, DSPIC30F5015

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Herramientas de desarrollo

SoftwareMPLAB IDEMPLAB ASM30MPLAB ASM30MPLAB SIM30MPLAB C30MPLAB VDIHERRAMIENTAS DSPLIBRERÍAS

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 20: DSPICParte1

16/04/2009

20

HardwareICD2PM3

Herramientas de desarrollo

PM3ICE4000

Tarjetas de entrenamiento• DSPICDEM STARTER DEMO BOARD

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

DSPIC30F4013 Características Generales

High-Performance Modified RISC CPU:Modified Harvard architectureC compiler optimized instruction set architectureFlexible addressing modes84 base instructions84 base instructions24-bit wide instructions, 16-bit wide data pathUp to 48 Kbytes on-chip Flash program space2 Kbytes of on-chip data RAM1 Kbyte of non-volatile data EEPROM16 x 16-bit working register arrayUp to 30 MIPs operation:DC to 40 MHz external clock input4 MHz-10 MHz oscillator input with

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

4 MHz 10 MHz oscillator input withPLL active (4x, 8x, 16x)Up to 33 interrupt sources:

• - 8 user selectable priority levels• - 3 external interrupt sources• - 4 processor traps

Page 21: DSPICParte1

16/04/2009

21

Current sink/source I/O pins: 25 mA/25 mAFive 16-bit timers/counters; optionally pair upFour 16-bit Capture input functions

DSPIC30F4013 Periféricos

Four 16-bit Compare/PWM output functionsAudio Codec protocols, including I2S and AC’973-wire SPI™ module (supports 4 Frame modes)I2C™ module supports Multi-Master/Slave modeand 7-bit/10-bit addressingTwo addressable UART modules with FIFO

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

buffersCAN bus module compliant with CAN 2.0B standard

12-bit Analog-to-Digital Converter (A/D) with:• 100 Ksps conversion rate• Up to 13 input channels

DSPIC30F4013 Características Análogas

Up to 13 input channels• Conversion available during Sleep and Idle

Programmable Low Voltage Detection (PLVD)Programmable Brown-out Detection and Reset generation

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 22: DSPICParte1

16/04/2009

22

Dual data fetchTwo 40-bit wide accumulators with optionalSaturation logic

DSPIC30F4013 Características del DSP

Saturation logic17-bit x 17-bit single cycle hardware fractionalInteger multiplierAll DSP instructins are single cycleMultiply-Accumulate (MAC) operationSingle cycle ±16 shift

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Data EEPROM memory: 100,000 erase/write cycle(min.) forindustrial temperature range, 1M (typical)Power-on Reset (POR) Power-up Timer (PWRT)

DSPIC30F4013 Características Especiales

Power-on Reset (POR), Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)Flexible Watchdog Timer (WDT) with on-chip lowpower RC oscillator for reliable operationProgrammable code protection• In-Circuit Serial Programming™

(ICSP™)

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

• Selectable Power Management modes:• Sleep, Idle and Alternate Clock modes

Page 23: DSPICParte1

16/04/2009

23

Tabla Resume

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Arquitectura del DSPIC30F

ARQUITECTURA

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 24: DSPICParte1

16/04/2009

24

Camino de datos

Se cuentan con 16 registros de trabajo (W) w0 al w15

Este banco de registros hace que se dividan las instrucciones del DSPIC en dos

• Instrucciones con manejo de W

• Instrucciones de memoria de

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

• Instrucciones de memoria de datos sin W Pero se cuenta con un registro adicional que se llama WREG que es el mismo w0

Registros W

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 25: DSPICParte1

16/04/2009

25

ALU de 16 bitsSe pueden realizar operaciones de 8 bits como de 16 bits

Camino de datos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Soporte para divisiónSe pueden realizar las siguientes operaciones de división

Camino de datos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 26: DSPICParte1

16/04/2009

26

Permite un recurso matemático mas especifico que se usan para el tratamiento digital de señales

Modulo DSP

• Multiplicado rápido de 17 x17 bits• Registros de desplazamientos de 40

bits• Sumador/Restador de 40 bits• Dos registros acumuladores A y B de

40 bits

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

• Modulo de redondeo lógico con modos de funcionamiento relacionadles

• Modulo de Saturación Lógica con modos de funcionamiento relacionales

La ALU se comparte con la del procesador por eso las operaciones se hacen no simultaneasPermite hacer operaciones de acumulador a acumulador y no requiere mas datos

Modulo DSP

acumulador y no requiere mas datos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 27: DSPICParte1

16/04/2009

27

MODULO DSP

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Memoria de datos

SRAMConsta de 2 bloques llamados el bloque X y el Bloque YAmbos bloques son manejadosAmbos bloques son manejados independientes por las instrucciones del DSP, pero como uno solo en instrucciones del microcontroladorDividido en Byte

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 28: DSPICParte1

16/04/2009

28

Memoria de datos

MSByte LSByte

SFR (2K)

0x0000

0x07FE

0x0001

0x07FF

RAM Datos X

RAM Datos Y

0x0800

0x17FE0x1800

0x27FE0x2800

0x0801

0x17FF0x1801

0x27FF0x2801

8KB

Límite RAM

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

RAM Datos X no Implementada

0x8000

0xFFFE

0x8001

0xFFFF

Opcionalmente puedeMapearse en la Memoria de programa

Memoria de Programa

4 Mega posiciones de 24 bits cada uno

Memoria de Usuario• Reset, vector de

interrupciones, 48 K posiciones de flash, 1K byte de EEPROM

Memoria de

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Configuración

Page 29: DSPICParte1

16/04/2009

29

Direccionamiento

Hay 3 Formas de TrabajoMediante el PCInstrucciones deInstrucciones de Lectura y escritura de Tablas (TBLLRD y TBLWR)Segmento de 32 Kb de memoria de programa programas separado

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

p g ppara mapear memoria de datos

Mapa de MemoriaLongitud de g24 bits

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 30: DSPICParte1

16/04/2009

30

Recursos Auxiliares

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Puertos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 31: DSPICParte1

16/04/2009

31

Diagrama de Pines

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Diagrama de Pines

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 32: DSPICParte1

16/04/2009

32

Diagrama de Pines

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Lectura de Integrado

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 33: DSPICParte1

16/04/2009

33

Manejo de Puertos

Especialización en Control e Instrumentación Industrial

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmán

Manejo de Puertos en los DSPIC

Introducción

Todos los puertos excepto los Vdd, Vss, MCLR, Osc1 y Clk 1 Comparte funcionalidades

Todos los puertos tienen características de Schmitt Trigger para la entrada para que tengan inmunidad al ruido

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 34: DSPICParte1

16/04/2009

34

Configuración Interna para I/O

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Registros de Control

Todos los pines tienen tres registros directamente asociados con la operación del mismo donde X es la letra de referencia del pin en particular

TRISX Registro de la dirección de los datosTRISX = Registro de la dirección de los datosdetermina si el dato es entrada o salidaPORTx= Registro de I/O que contiene el valor de salidaLATx= Registró de Cerrojo o latch de I/o que almacena el valor que sacan las líneas de salida

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 35: DSPICParte1

16/04/2009

35

Registro TRIS

0 = Salida

TRISx

1 = Entrada.

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Multiplexación de datos

Cada pin comparte su trabajo con varias funciones para eso se utiliza la siguiente arquitectura

Es importante tomar en cuenta que el PORTB cuando se quiere trabajar como entradas y salidas digitales, los bits del registro ADPCFG deben estar en 1 para configurarlo con I/0 porque por defecto es análogo

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 36: DSPICParte1

16/04/2009

36

Registro ADPCFG

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Mutiplexacion de Funciones

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 37: DSPICParte1

16/04/2009

37

Registro de Notificación de Cambio de estado

Este registro permite la capacidad de generar peticiones de interrupción al procesador en respuesta a un cambio del valor en el pinrespuesta a un cambio del valor en el pin

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Pines del DSPIC304013

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 38: DSPICParte1

16/04/2009

38

PUERTOSPUERTOS

PORTB

PORTF

PORTD

O

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

PORTC PORTA

Puertos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 39: DSPICParte1

16/04/2009

39

PORTB

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

PORTA

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 40: DSPICParte1

16/04/2009

40

PORTF

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

PORTD

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 41: DSPICParte1

16/04/2009

41

PORTC

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Introducción al

Especialización en Control e Instrumentación Industrial

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmán

Introducción al lenguaje C para DSPIC

Page 42: DSPICParte1

16/04/2009

42

Operadores aritméticos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Operadores Logicos

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 43: DSPICParte1

16/04/2009

43

Operadores Relacionales

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Aspectos de programación en C++

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 44: DSPICParte1

16/04/2009

44

Tipos de Datos

Constantes

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Variables

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 45: DSPICParte1

16/04/2009

45

Tipos de Datos

Enteros

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Punto Flotante

FloatValores hasta 32 bitsDesde 10-39 hasta 10+38 con una precisión de±0.00000001 Se almacena de forma exponencial Donde 23 Dígitos son la mantisa y el resto son el exponente, usando el Formato IEEE

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 46: DSPICParte1

16/04/2009

46

Ejemplo de Punto flotante

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

El exponente es 10000011 = en Decimal es 131 0 es 127 es decir hay un offset de 127 para positivos y negativos el valor realEs 4

Ejemplo de Punto flotante

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

El dato es negativo porque el primer bit de signo indica que es negativo

Page 47: DSPICParte1

16/04/2009

47

Ejemplo de Punto flotante

½ / /

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

La mantisa es = 1010010 = ½ + 1/8 + 1/64 = 0,64 Como está Normalizado el dato es entre 1,99999 y 1,00000Entonces el dato es 1,64

El dato es entonces = -1,64 x 24 = -26,24

Tipo de datos

Caracteres ASCII

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 48: DSPICParte1

16/04/2009

48

Uso de Assembler en C

Directiva del Compilador

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Como iniciar la programación

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 49: DSPICParte1

16/04/2009

49

Debe instalarse el PICCompiler

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

MPLAB

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 50: DSPICParte1

16/04/2009

50

Se inicia con el Project Wizard

MPLAB

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

MPLAB

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 51: DSPICParte1

16/04/2009

51

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co

Page 52: DSPICParte1

16/04/2009

52

MPLAB

Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co