Unidad1: Arquitectura del
Procesador Digital de Señales
Ing. Raúl Alberto Rojas Reátegui
Cap2: Arquitectura del
Microcontrolador dsPIC30F4013
Ing. Raúl Alberto Rojas Reátegui
Al finalizar la sesión, los estudiantes comprenden e identifican las principales características del dsPIC30F4013 de MICROCHIP.
Logro del capitulo
Microcontrolador
dsPIC30F4013
Familias de microcontroladores
PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones
PIC12: microcontroladores de 8 bits, de bajo coste, de 8 pines y bajas prestaciones.
Familias de Microcontroladores
PIC16: microcontroladores de 8 bits, con gran variedad de número de pines y prestaciones medias.
PIC18: microcontroladores de 8 bits, con gran variedad de número de pines y prestaciones medias/altas.
PIC24/PIC30: microcontroladores de 16 bits dsPIC’s
Gama baja (12-bit opcode): PIC10 (y algunos PIC12 y PIC16)
La característica principal sería la simplicidad.
Reducido tamaño del chip (solo 8 pines para los PIC10 y PIC12).
Pila implementada en hardware, con solo 2 niveles.
Puede manejar solamente hasta 32 registros (RAM) y 512 palabras de instrucción.
Gama de Microcontroladores Microchip de 8 bits
Gama media (14-bit opcode): PIC12 y PIC16
Se ofrece en tamaños de 8 a 68 pines.
Se agrega la capacidad de manejo de interrupciones y 8 niveles de la pila hardware.
Puede manejar hasta 128 registros (RAM) y 2048 palabras de instrucción.
Gama alta (16-bit opcode): PIC17 (obsoleto) y PIC18
Manejo vectorizado de interrupciones.
Nuevas instrucciones optimizadas para la programación en lenguajes de alto nivel.
Pila de hasta 31 niveles.
PIC18 y PIC24
Incluyen opciones de cifrado
Pueden ejecutar mas de una instrucción a la vez
Consumo de energía muy bajo.
Conversores AD de 10 a 24 bits
Gama de Microcontroladores Microchip de 16 bits
DsPIC30 y DsPIC33
Cuentan con mayor capacidad de almacenamiento en la memoria Flash y RAM.
Incluyen interfaces de comunicación: PC, SPI, I2C, USART, CAN entre otros
Se dividen en tres categorías:
DsPIc de propósito general
DsPIC para control de motores
DsPIC para control de sensores
Arquitectura modificada de Harvard.
Cuenta con 84 instrucciones base
Instrucciones de poseen 24b de ancho, con un bus de datos de 16b.
Memoria interna del CPU:
Memoria Flash de 48KB
Memoria RAM de 2KB
Memoria EEPROM de 1 KB para de datos
Características CPU de alto rendimiento
Entrada de reloj externo de DC a 40 MHz
Entrada de oscilador de 4 MHz a 10 MHz con PLL activo (4x, 8x, 16x)
Posee 33 fuentes de interrupción:
8 niveles de prioridad seleccionables por el usuario
3 fuentes externas de interrupción.
Posee doble captura de datos
Modos Modulo y Bit invertido.
Dos acumuladores de ancho de 40 bits con opcionales con lógica de saturación
Cuenta con un ciclo de Hardware único de 17b x 17b fraccional /multiplicador entero
Todas las instrucciones DSP son de ciclo único.
Posee operación de acumulación múltiple (MAC)
Características de dsPIC30F4013
Pines de E/S suministran una corriente de 25mA.
Posee hasta 05 temporizadores/contadores de 16b; que opcionalmente pueden emparejarse
Temporizadores de 16b en módulos de temporizador de 32b
Cuenta con hasta 04 funciones de entrada de captura de 16b
Tiene hasta 04 funciones de salida de Comparación/PWM de 16b
DCI (Data Converter Interface) compatible con protocolos de códec de audio, incluidos I2S y AC'97
Características de los Periféricos
Módulo SPI ™ de 3 hilos (admite 4 modos de cuadro)
El módulo I
2C ™ admite el modo Multi-Master / Slave y direccionamiento de 7 bits / 10 bits
Hasta dos módulos UART direccionables con FIFO buffers
Módulo de bus CAN conforme con CAN 2.0B estándar
Memoria de programa Flash mejorada:
10,000 ciclos de borrado / escritura (min.) Para rango de temperatura industrial, 100K (típico)
Memoria EEPROM de datos:
100,000 ciclos de borrado / escritura (min.) Para rango de temperatura industrial, 1M (típico)
Auto programable bajo control de software
Características especiales
Restablecimiento de encendido (POR), Temporizador de encendido (PWRT) y Temporizador de inicio del oscilador (OST)
Temporizador de vigilancia flexible (WDT) con bajo nivel en el chip oscilador RC de potencia para un funcionamiento confiable
Operación del monitor de reloj a prueba de fallas:
Detecta la falla del reloj y cambia a on-chip
Oscilador RC de baja potencia
Convertidor analógico a digital de 12 bits (A / D) con:
Tasa de conversión de 100 Kps.
Hasta 13 canales de entrada
Conversión disponible durante el sueño y la inactividad
Detección de bajo voltaje programable (PLVD=Programmable Low Voltage Detection)
Detección y restablecimiento de apagado Brown programable.
Características analógicas
Arquitecturas
Microcontrolador
dsPIC30F4013
Diagrama de bloques
Distribución de pines
Arquitectura del CPU:
El núcleo tiene 1W de instrucción de 24b. El contador de programa (PC) tiene 23b de ancho con el menos significativo (LS) y el bit más significativo (MS) se ignora durante el programa normal, salvo ciertas instrucciones especializadas.
El PC puede direccionar hasta 4M de instrucción.
La instrucción pre-fetch, construye bucles, libres de la gestión de conteo.
La matriz de registro de trabajo consta de registros de 16b x 16b, los
El registro de trabajo (W15) funciona como puntero para interrupciones y llamadas.
El espacio de datos es de 64KB (32K palabras) y está dividido en dos bloques, denominados memoria de datos X e Y o AGUs, donde cada bloque tiene su propia generación de direcciones independiente.
La memoria X opera la mayoría de las instrucciones
Los datos de Clase de acumulación múltiple (MAC) de DSP de doble
fuente, utilizan AGUs X e Y, para dividir el espacio de direcciones de
datos en dos partes.
Mapa del Espacio de memoria:
Direccionamiento a Memoria de programa:
Existen dos métodos para acceder a los datos almacenados en memoria del programa:
Los 32KB superiores de memoria de espacio de datos pueden ser mapeado en la mitad inferior definido por la página de visibilidad del espacio del programa de 8b del registro (PSVPAG). Esto permite cualquier instrucción acceder al espacio del programa como si fuera un espacio de datos.
Con una limitación que el acceso requiere un adicional.
ciclo. Por otra parte, sólo los 16 bits más bajos de
Memoria FLASH de programa:
La familia dsPIC30F utiliza la memoria FLASH de programa para ejecutar el código de usuario.
Utiliza 02 métodos para que el usuario programe esta memoria:
Run-Time Self-Programming (RTSP)
In-Circuit Serial Programming (ICSP)
Run-Time Self-Programming (RTSP)
Se logra utilizando TBLRD (lectura de tabla) y Instrucciones de TBLWT (escritura de la tabla).
Se puede borrar y escribir las 32 instrucciones (96 bytes) a la vez.
In-Circuit Serial Programming (ICSP)
Los dsPIC30F pueden ser programados en serie mientras están en el circuito de aplicación final.
Esto permite fabricar sistemas digitales con dispositivos no programados,
Actualizar el firmware más reciente o personalizar el firmware.
Memoria EEPROM de datos
La memoria de datos EEPROM permite leer y escribir WORD sueltos y bloques de 16W=32b.
Los dispositivos dsPIC30F tienen hasta 8 KB (4KW) de datos EEPROM con un rango de direcciones de 0x7FF000 a 0x7FFFFE.
Almacena datos que se deben conservar aun en ausencia de tensión de alimentación
Puede ser escrita/leída en tiempo de ejecución a través de registros
Memoria de configuración
La memoria de datos EEPROM permite leer y escribir WORD sueltos y bloques de 16W=32b.
Los dispositivos dsPIC30F tienen hasta 8 KB (4KW) de datos EEPROM con un rango de direcciones de 0x7FF000 a 0x7FFFFE.
Almacena datos que se deben conservar aun en ausencia de tensión de alimentación
Puede ser escrita/leída en tiempo de ejecución a través de registros
REGISTROS DE FUNCION ESPECIAL:
La memoria RAM de datos se compone de registros de propósito general (GPR) y de registros de función especial (SFR). Los SFR son los registros mediante los cuales se pueden monitorizar/controlar el funcionamiento de la CPU y de las unidades funcionales del uC.
SFR’s asociados con el núcleo del uC
CPU: WREG, STATUS, BSR, etc...
Interrupciones: INTCON, PIE1, PIR1, IPR1, etc...
Reset: RCON
SFR’s asociados con las unidades funcionales:
Timers: T0CON, TMR1H, TMR1L, T1CON, etc...
Convertidor A/D: ADRESH, ADRESL, ADCON0, ADCON1, etc...
EUSART: TXREG, TXSTA, RCSTA, etc...
CCP: CCPR1H, CCPR1L, CCP1CON, etc...
MSSP: SSPSTAT, SSPDATA, SSPCFG, etc...
Puertos de E/S: TRISA, PORTA, TRISB, PORTB, etc...
TIPOS DE OSCILADORES
HS: (High Speed Crystall Resonador): Alta velocidad
XT: (Crystall//Resonador): Estándar
LP: (Low Power Crystall): Bajo consumo
RC: (Resistence/Capacitor): Baja precisión, Tiene una tabla asociada a los valores de
R y C.
PROTOCOLO CAN (Control Area Netware)
Reseña Histórica
Desarrollado por las Empresas BOSH.
Creado pensando en la industria Automotriz.
1987 Primeros controladores CAN desde Intel y Phillips.
1993 es publicado estándar ISO 11898 Características.
Bus serie, para transmisión en tiempo real.
Comunicación basada al mensaje, y no a las direcciones.
Mensajes enviados según prioridad.
Arquitectura (capas).
Física: Encargada de la transferencia de bits entre los distintos nodos que componen la red
Enlace de datos: Responsable del acceso al medio y el control lógico y está dividida a su vez en dos niveles:
Subnivel LLC (Logical Link Control): Gestiona el filtrado de los mensajes, las notificaciones
de sobrecarga y la administración de la recuperación.