Академический Документы
Профессиональный Документы
Культура Документы
Arquitectura
Dispositivos Lgicos Programables Ingeniero de Telecomunicacin
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
Se puede leer/escribir en la memoria de programa:
TBLRDL: TBLRDH: TBLWTL: TBLTH: Leer parte baja Leer parte alta Escribir parte baja Escribir parte alta
Memoria de datos
Memoria de datos
SFR: Special Function Registers til a partir de 0x800 La parte inferior puede mapearse como memoria de programa Las instrucciones tipo DSP ven un mapeo diferente
Inmediato
Direccionamiento circular
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
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
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
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
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
NSTDIS:
1 deshabiltadas las anidadas 0 habilitadas (por defecto) El resto asociadas con los conflictos TRAP
Interrupciones: INTCON2
ALTIVT: 1 tabla de vectores alternativa, 0 standard DISI: permite deshabilitar interrupciones INTxEP: Interrupciones externas
1 en el flanco negativo 0 en el positivo
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
Poner a 1 NSTDIS si no anidadas 2. Seleccionar la prioridad en IPCx 3. Borrar el flag en IFSx 4. Habilitar la interrupciones en IECx
1.