Está en la página 1de 8

20/02/2019

INTRODUCCIÓN A LOS
MICROCONTROLADORES
Curso de DsPIC
Microcontroladores
de 16 Bits
Introducción Familia
DsPIC30FXXXX

M.Sc. Ing. Germán Jesús Pereira Muñoz

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 1 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 4

1 4

Que es un DsPIC???
• El DsPIC Son microcontroladores dotados con los
recursos físicos y lógicos necesarios para poder soportar
las aplicaciones de un procesamiento digital de señales.
• Los DSP disponen de AD rápidos y precisos. Dado el
carácter netamente matemático de los programas DSP,
estos estan preparados para ser programados con
lenguajes de alto nivel, como el C
• Computador digital monochip orientado al
procesamiento de información de la señal
analógica.

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 2 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 5

2 5

Características generales de los DsPIC30F


Comparación

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 3 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 6

3 6

1
20/02/2019

Arquitectura básica de la CPU de los DsPIC30F Microprocesador DsPIC


Familia 40 pin

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 7 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 10

7 10

Caracteristicas Generales de los DsPIC


High-Performance Modified RISC CPU:
Arquitectura Modificada Harvard

Arquitectura optimizada para compilador C

Modos de direccionamiento flexible

84 base instructions

Instrucción de 24-bit de ancho, datos de 16-bit de ancho

Un maximo de 48 Kbytes de Flash de programa

RAM de 2 Kbytes

EEPROM de 1 Kbyte

Array de registros de trabajo de 16 x 16-bit

Un maximo de 30 MIPs de operacion:

DC a 40 MHz entrada de reloj externo

4 MHz-10 MHz oscilator entrada con PLL activo (4x, 8x, 16x)

Un maximo de 33 fuentes de interrupcion:

 8 niveles de prioridad selecionado


 3 fuentes de interrupciones externas
 4 processor traps

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 8 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 11

8 11

INTRODUCCIÓN A LOS MICROCONTROLADORES DsPIC


Perifericos de los DsPIC
32 Bits
Current sink/source I/O pins: 25 mA/25 mA
16 Bits
dsPIC30F
Cuatro 16-bit timers/counters; optionally pair up
Cuatro 16-bit Capture input functions
8 Bits
Cuatro 16-bit Compare/PWM output functions
PIC18FXXX
Protoclos Codec de Audio, incluidos I2S y AC’97
PIC12F6XX,PIC16FXX
3-wire SPI™ modulo (suporta 4 modos de trama)
PIC12F4XX,PIC16F5XX
Modulo I2C™ soporta modo Multi-Master/Slave y
PIC10F2XX
4 Bits direccionable con 7-bit/10-bit
Dos UART con modulos buffers FIFO

Bus CAN bus compatible con CAN 2.0B estandar

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 9 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 12

9 12

2
20/02/2019

Diagrama
Caracteristicas Analogicas de los DsPIC
De
Bloques
Conversor 12-bit Analog-to-Digital Converter

(A/D) con: DsPIC30F4013


 100 Ksps conversion rate

 Un maximo de 13 canales

 Conversion disponible durante Sleep e Idle

Programable Low Voltage Detection (PLVD)

Programable Brown-out Detection y generacion

de Reset

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 13 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 16

13 16

Caracteristicas DSP de los DsPIC Se cuentan con 16


Bus de Datos
registros de trabajo (W)
w0 al w15.
Dual data fetch Este banco de registros
Dos acumuladores de 40-bit de ancho con opcional hace que se dividan las
instrucciones del DSPIC
Saturation logic
en dos
Ciclo simple de 17-bit x 17-bit en hardware de
Instrucciones con

entero fraccional manejo de W


Instrucciones de
Todas las intrucciones DSP son de un simple ciclo
memoria de datos sin W.
Operación Multiply-Accumulate (MAC)
Se cuenta con un
Ciclo de rotacion simple ±16 registro adicional que se
llama WREG que es el
mismo w0

Ing. Germán Pereira Muñoz 17


2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 14 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 17

14 17

Caracteristicas especiales de los DsPIC


Bus de
Memoria de Datos EEPROM: 100,000 erase/write Datos
ciclo (min.), 1M (typical)
Power-on Reset (POR), Power-up Timer (PWRT)

y Oscillator Start-up Timer (OST)


Flexible Watchdog Timer (WDT) con on-chip low

power osclador RC
Proteccion de Codigo Programable
 In-Circuit Serial Programming™ (ICSP™)

 Selección de Modos de Manipulacion de

Poder:
 Sleep, Idle y Modos de relos alterno

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 15 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 18

15 18

3
20/02/2019

Modos de direccionamiento: Ejemplo

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 19 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 22

19 22

Funciones concretas de los registros Diagrama


de Bloque
de la
Maquina DSP

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 20 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 23

20 23

Clico Clock / Instrucción


Memoria datos:
modos de direccionamiento
Directo a memoria
Directo a registro
Indirecto sobre registro

 Con pre-incremento o pre-decremento


 Con post-incremento o post-decremento
 Con offset de registro (sólo en algunas instr.)
 MOV [W1 + W2], [W3++]
 Con offset de literal (sólo en algunas instr.)
 MOV [W1 + #0x020], [W3++]
 Inmediato

2/20/2019 M.Sc. Ing. Germán Jesús Pereira 24


2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 21
Muñoz

21 24

4
20/02/2019

OSCON: Registro de control del Ocilador (Byte Bajo)


Configuraciones de Oscilador

bit 7-6 POST<1:0>: Oscillator Postscaler Selection bit 3 CF: Clock Fail Detect (Read/Clearable by application)
bits 1 = FSCM has detected clock failure
11 = Oscillator postscaler divides clock by 64 0 = FSCM has NOT detected clock failure
10 = Oscillator postscaler divides clock by 16 Reset on POR or BOR.
01 = Oscillator postscaler divides clock by 4 Reset when a valid clock switching sequence is initiated.
00 = Oscillator postscaler does not alter clock Set when clock fail detected.
bit 5 LOCK: PLL Lock Status bit (Read Only) bit 2 Unimplemented: Read as ‘0’
1 = Indicates that PLL is in lock bit 1 LPOSCEN: 32 KHz Secondary (LP) oScillator Enable
0 = Indicates that PLL is out of lock (or disabled) 1 = Secondary Oscillator is enabled
Reset on POR or BOR. 0 = Secondary Oscillator is disabled
Reset when a valid clock switching sequence is Reset on POR or BOR.
initiated. bit 0 OSWEN: Oscillator Switch Enable bit
Set when PLL lock is achieved after a PLL start. 1 = Request Oscillator switch to selection specified by
Reset when lock is lost. NOSCG<2:0> bits
Read zero when PLL is not selected as a system 0 = Oscillator switch is complete
clock. Reset on POR or BOR.
bit 4 Unimplemented: Read as ‘0’ Reset after a successful clock switch.
Reset after a redundant clock switch.
Reset after FSCM switches the oscillator to (Group 1) FRC.

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 25 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 28

25 28

OSCON: Registro de control del Ocilador (Byte Alto)


Diagrama de
Bloque del
Oscilador bit 15 Unimplemented: Read as ‘0’
bit 14-12 COSC<2:0>: Current Oscillator Group Selection (Read Only)
111 = PLL Oscillator; PLL source selected by FPR<4:0> bits
Oscilador primario 011 = External Oscillator; OSC1/OSC2 pins; External Oscillator configuration selected by
externo FPR<4:0> bits
Oscilador secundario
010 = LPRC internal low power RC
001 = FRC internal fast RC
a 32 kHz 000 = LP crystal oscillator; SOSCI/SOSCO pins
Oscilador interno RC Set to FOS<2:0> values on POR or BOR.
de 8 MHz Loaded with NOSC<2:0> at the completion of a successful clock switch.
Oscilador interno
Set to FRC value when FSCM detects a failure and switches clock to FRC.
bit 11 Unimplemented: Read as ‘0’
LPRC de 512 kHz bit 10-8 NOSC<2:0>: New Oscillator Group Selection
111 = PLL Oscillator; PLL source selected by FPR<4:0> bits
011 = External Oscillator; OSC1/OSC2 pins; External Oscillator configuration selected by
FPR<4:0> bits
010 = LPRC internal low power RC
001 = FRC internal fast RC
000 = LP crystal oscillator; SOSCI/SOSCO pins
Set to FOS<2:0> values on POR or BOR.
2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 26 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 29

26 29

Diagrama de Mapa Memoria


Bloque del de Programa
Oscilador 4 Mega posiciones de 24
Se configura en el registro bits cada uno.
Memoria de Usuario
FOSC
 Reset, vector de
En general el EC o el XT

Input 4-10MHz
interrupciones, 48 K
Output 120 MHz
posiciones de flash
 1K byte de EEPROM
máx. con PLL
Memoria de Configuración
El PLL permite multiplicar

Mapa de Memoria
la frecuencia
Longitud de 24 bits

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 27 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 30

27 30

5
20/02/2019

Mapa Memoria de Programa


Memoria de Usuario 2MB

Memoria Configuracion 2MB

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 31 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 34

31 34

Memoria RAM
de Datos
 SRAM
 Consta de 2 bloques
llamados el bloque X y
el Bloque Y
 Ambos bloques son
manejados
independientes por las
instrucciones del DSP,
pero como uno solo en
instrucciones del
microcontrolador
 Dividido en Byte

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 32 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 35

32 35

Espacio de datos para el Microcontrolador


y el DSP (Clase MAC)

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 33 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 36

33 36

6
20/02/2019

Lectura del Puertos de Entrada/Salida


Integrado

2/20/2019 M.Sc. Ing. Germán Jesús Pereira 37


2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 40
Muñoz

37 40

Puertos de Entrada/Salida Puertos de Entrada/Salida


Modulo de Notificacion de Cambio en la entrada

PORTA 1 pin. RA11


PORTB 13 pines. RB0 a RB12 El Modulo de notificacion de cambio en la entrada provee al los DsPIC30F la abilidad de generar un
PORTC 3 pines. RC13, RC14 y RC15 requerimiento de iterrupcion al procesador, en respiesta al cambio de stado de un pin sel de
entrada seccionado. Este modulo es capaz de detectar los estados de cambio en la intrada. Existe
PORTD 6 pines. RD0, RD1, RD2, RD3, RD8, RD9
hasta 24 señales externas (CN0 al CN23), los habilitados pueden ser seleccionados para generar
PORTE Ningún pin. una solicitud de interrupcion de cambio de estado.
PORTF 7 pines. RF0 a RF6
2/20/2019 M.Sc. Ing. Germán Jesús Pereira 38
2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 41
Muñoz

38 41

Puertos de Entrada/Salida Puertos de Entrada/Salida


REGISTROS DE UN DIAGRAMA DE BLOQUES
PUERTO DE E/S: GENERICO DE UN PIN DE E/S:

Cada puerto de E/S tiene asociado 3


registros:

Registro TRISx: se configuran cada


una de las líneas de E/S del puerto como
ENTRADA (bit correspondiente a ‘1’) o
como SALIDA (bit correspondiente a
‘0’) .

Registro PORTx: se puede leer el


nivel de pin de E/S y se puede
establecer el valor del latch de salida.

Registro LATx: se puede leer o


establecer el valor del latch de salida

2/20/2019 M.Sc. Ing. Germán Jesús Pereira 39


2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 42
Muñoz

39 42

7
20/02/2019

Registro ADPCFG

Este registro permite la capacidad de generar peticiones de


interrupción al procesador en peticiones de interrupción al
procesador en respuesta a un cambio del valor en el pin

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 43 2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 46

43 46

Multiplicación de Datos
DIAGRAMA DE BLOQUES
GENERICO DE UN PIN DE E/S:
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

2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 44

44

Diagrama
Circuital Básico

02/08/10 Ing. Germán Pereira Muñoz 45


2/20/2019 M.Sc. Ing. Germán Jesús Pereira Muñoz 45

45

También podría gustarte