Documentos de Académico
Documentos de Profesional
Documentos de Cultura
dsPIC Arquitectura PDF
dsPIC Arquitectura PDF
Arquitectura
Arquitectura Harvard
Datos de 16 bits
Instrucciones de 24 bits
PC de 24 bits
Capacidad para ejecutar instrucciones
de 3 operandos en un ciclo: ej. A+B=C
Instrucciones de dos tipos: MCU y DSP
Arquitectura
Dos bancos X e Y
Memoria programa
Memoria EEPROM
Motor DSP
16 Registros W
Perifricos
Watchdog .
Registros bsicos
Registros W
Mapeados en memoria
W15, puntero de pila. RESET = 0x0800
W0W3 tienen shadow (PUSH.S y
POP.S)
W14 permite definir un stack frame
pointer
Memoria de programa
Memoria de programa
XMODSRT, YMODSRT
Contienen la direccin de inicio de los buffers
XMODEND, YMODEND
Contienen la direccin de fin de los buffers
MODCON
Indica el W (para X e Y) sobre el que se realiza
el direccionamiento circular
Direccionamiento con inversin de
bit
MODCOM,
BWM para seleccionar el W que se usa como puntero
para el buffer
XBREV:
BREN, para habilitar el direccionamiento
XB define el tamao del buffer
Direccionamiento con inversin de
bit
Oscilador
Oscilador primario
externo
Oscilador
secundario a 32
kHz
Oscilador interno
RC de 8 MHz
Oscilador interno
LPRC de 512 kHz
Oscilador
Se configura en el
registro FOSC
En general el EC o
el XT
Input 4-10MHz
Output 120 MHz
mx. con PLL
El PLL permite
multiplicar la
frecuencia
Oscilador
XT, HS EC
Oscilador (registros)
FSOC OSCON
Oscilador
Ciclo de instruccin
I/O Ports
Registros
TRISx:
1 input, 0 output
PORTx: Lectura o
escrita en el puerto
LATx:
Para escribir=
PORTx; Para leer,
lee la entrada a los
latches
Reset
POR: Power on Reset
EXTR: Reset externo por el pin MCLR
SWR: Instruccin de reset
BOR: Brown-out reset
WDTR: Reset por watchdog
TRAPR: Cuando existen mltiples trap
simultneas
UWR: cuando de utiliza un registro W sin
inicializar como puntero
El registro RCON indica la causa del RESET
Temporizadores
Varios temporizadores de 16 bits
Registros asociados:
TMRx: Contador de 16 bits
PRx: Perodo de 16 bits
TxCON: Registro de control
Bits de interrupcin asociados:
TxIE: Habilitacin de interrupcin
TxIF: Flag de interrupcin
TxIP <2:0>: Prioridad de la interrupcin
Tres variantes: A, B y C
Algunos se pueden encadenar y formar 32 bits
Temporizadores
Tipo A
Puede funcionar con el oscilador de bajo consumo de 32kHz
Puede funcionar de forma asncrona con un reloj externo
El Timer 1 es de tipo A
Tipo B
Se puede encadenar con uno de tipo C y formar 32 bits
La sincronizacin de reloj se produce despus del prescalado
El Timer 2 y el 4 suelen ser de tipo B
Tipo C
Se puede encadenar con uno de tipo B
Al menos un temporizador de tipo C puede disparar una conversin
A/D
El Timer 3 y el 5 suelen ser de tipo C
Temporizadores (tipo A, TxCON)
Interrupciones
8 interrupciones
tipo trap no
enmascarables
54 vectores de
interrupcin
Tabla alternativa
(AIVT) se
selecciona en
registro ALTIVT
Interrupciones
Cada interrupcin
salta a una posicin
Registros asociados
INTCON1,
INTCON2
IFSx
IECx
IPCx
SR
CORCON
Interrupciones: INTCON1
ADIF: Fin
conversin A/D
TxIF:
Temporizador x
INTxIF:
Interrupcin
externa 0
INTxIF: Input
capture canal x
OCxIF: Outpu
caputure
Interrupciones: IECx, habilitar int.
Interrupciones: prioridad CPU
La prioridad de
la CPU se
indica con
IPL0..3
(registros
SR+CORCON)
Para
deshabilitar las
interrupciones
usuario
IPL2..0=111
(prioridad 7
CPU)
Interrupciones: prioridad
Registros IPC0..IPC11
P.e. T1IP, en IPC0 fija la prioridad de Timer 1
Por defecto la prioridad es 4
Prioridad 0 equivale a deshabiltarla
Interrupciones