DSPICParte1
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
16/04/2009
52
MPLAB
Claudia Leonor Rueda GuzmánClaudia Leonor Rueda Guzmánhttp://clrueda.docentes.upbbga.edu.co