Está en la página 1de 9

MICROPROCESADOR

Componente electrónico digital programable que incorpora las funciones de una unidad de procesamiento central, en una sola pastilla. Generalmente cuenta con lo siguiente:

Unidad de control GCM, generador de ciclo de máquina

Registros internos

o

Propósito específico:

Contador del programa (PC)

Registro de acceso a memoria (MAR)

Memory Branch Register (MBR)

Registro de tiempos (TR)

Registro de instrucciones (IR)

Registros de banderas (F)

o

Propósito general:

Acumulador

Registros índices

Stack Pointer

Unidad Aritmético Lógica (ALU) encargada de hacer las operaciones matemáticas

Ciclos del procesador:

Micro operación: instrucción que puede realizarse en un solo ciclo de reloj

Ciclo de búsqueda de instrucción o Ciclo Fetch: micro operaciones necesarias para leer una instrucción de la memoria y decodificar para su posterior ejecución

Ciclo de instrucción: tiempo y operaciones necesarias para ejecutar una instrucción justo después de su decodificación.

Ciclo de máquina: Operaciones necesarias para buscar y ejecutar una instrucción de la memoria. (Buscar Decodificar Ejecutar - Almacenar)

MICROCONTROLADOR

Dispositivo que integra un número de componentes de un microprocesador, Memoria y puertos en una sola pastilla, se compone de:

Memoria de programa

o

Memoria de solo lectura (ROM) Read Only Memory

o

Memoria borrable programable de solo lectura (EPROM) Erasable Progammable Read Only Memory

o

Memoria eléctricamente borrable programable de solo lectura (EEPROM)

o

Memoria de acceso aleatorio (RAM) Almacenamiento de datos dinámicos

Arquitecturas (Clasificación de acuerdo a sus buses):

Arquitectura Von Neuman: simplifica el diseño del chip ya que solo es necesaria una memoria

Arquitectura Harvard: ejecuta instrucciones en menos ciclos de reloj que la de Von Neuman, mientras se está ejecutando una instrucción el procesador puede estar leyendo la siguiente. (La memoria del programa y la memoria de datos está separada).

Juego de instrucciones:

Ortogonalidad: cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o como destino

Tres orientaciones en cuanto al número de instrucciones:

o

CISC (Computadores de Juego de instrucciones Complejo)

o

RISC (Computadores de juego de instrucciones Reducido)

o

SISC (Computadores de juego de instrucciones Específico)

Recursos Comunes:

Reloj

Procesador central ()

Memoria de programa

Memoria RAM

I/Os

Recursos Especiales:

Periféricos de comunicación UART, I2C

Periféricos de control PWM, TImer

Manejadores para displays

Periféricos analógicos DAC, ADC, OPAMP

Watch Dog Timer

Sleep Timer

Protección anti-fallo

SISTEMA EMBEBIDO

Un sistema embebido es un sistema de cómputo diseñado para realizar unas cuantas funciones dedicadas, usualmente en tiempo real.

Clasificación de acuerdo con su propósito:

o

Interfaz especializada: computadores personales

o

Coprocesadores Especializados

o

Red de sistemas embebidos

o

Controlador embebido: Son sistemas capaces de supervisar el comportamiento y ajustar las características de los parámetros a controlar por sí solos

Requerimientos de diseño y desempeño (9)

o Bajo costo

o

Tiempos pequeños de llegada al mercado

o

Tamaño y peso reducidos

o

Restricciones de tiempo real

o

Exactitud de los datos

o

Bajo consumo y voltajes

o

Seguridad

o

Robustez

o

Flexibilidad

PSOC FAMILIA 1

PSoC significa Programmable embedded system on chip, se basa en la arquitectura Harvard

Memoria no volátil EPROM y FLASH

Espacio de SRAM guarda variables globales y locales

Espacio de registros:

o 5 registros internos

PC: Indica la dirección de memoria de la siguiente instrucción a ejecutar

A: almacenamiento de datos temporales

X: índice de búsqueda de las direcciones dela memoria

SP: Indica el inicio del stack Pointer

F: indica la dirección de memoria del registro de las banderas

4 modos de direccionamiento:

o

Inmediato (Source

ddressin

ddressing) mov X,7; or A,8

o

Directo (Source Direct, Destination Direct) mov A,[index]

o

Indexado mov A,[X+7]

 

o

Indirecto con post incremento Se utiliza para transferencia de datos

(lectura y escritura), incrementando el índice de la variable tratada

Ejemplo:

el índice de la variable tratada ▪ Ejemplo: • Set de instrucciones o Transferencia de datos

Set de instrucciones

o

Transferencia de datos (7) MOV, MVI, POP, PUSH, ROMX, INDEX, SWAP

o

Operaciones aritméticas (11) ADC, ADD, SBB, SUB. INC, DEC, CMP, ASL, ASR, RLC, RRC

o

Operaciones lógicas (5) TST, CPL, AND, XOR, OR

o

Control de flujo de ejecución (12) JMP, LJMP, CALL, LCALL, JZ, JNZ, JC, JNC, RET, RETI, JACC, SSC

o Misceláneas (2) NOP, HALT

Subsistema de censado de señales analógicas

o

Matriz configurable de bloques analógicos

o

Bus analógico e interconexiones programables

Subsistema de censado, actuación y procesamiento digital

o

Bloques programables

o

Subsistemas de memoria

Subsistema de interrupción

2 tipos de configuración de Hardware:

Estática: el hardware se programa una sola vez al inicio del programa

Dinámica: los bloques de hardware pueden ser configurados en tiempo real

Define Pseudo Instrucciones: son instrucciones que no son traducidas directamente a código ejecutable, sirven para colocar código en secciones específicas de memoria.

REGISTROS DE PAGINACIÓN

CUR_PP Currente Page Pointer se utiliza para direccionamiento directo

STK_PP Stack Page Pointer se utiliza para llamado a los registros del SP

JDX_PP Index Page Pointer se utiliza para el direccionamiento indexado

MVR_PP MVI Page Pointer lectura (larga) de la RAM

MVW_PP MVI Page Pointer escritura (larga) de la RAM

Registros de

Directo

Indexado

 

paginación

00

0

0

No nativo

01

0

STK_PP

No nativo

02

CUR_PP

JDX_PP

Nativo

03

CUR_PP

STK_PP

Nativo

Modo Nativo: está basado en que cada aplicación tiene un modo preferido de ejecutar accesos indexados.

Modo de paginación durante una interrupción y por qué: Modo de paginación 00, y estamos en este modo debido a que este proceso elimina el valor en el registro F

PUERTOS

PUERTOS LLAMADO A FUNCIONES EN ENSAMBLADOR INTERRUPCIÓN Es un bloque del programa que se ejecuta cada

LLAMADO A FUNCIONES EN ENSAMBLADOR

PUERTOS LLAMADO A FUNCIONES EN ENSAMBLADOR INTERRUPCIÓN Es un bloque del programa que se ejecuta cada

INTERRUPCIÓN

Es un bloque del programa que se ejecuta cada que un elemento (previamente declarado como interrupción) ocurra.

Detiene la ejecución del programa principal (se genera el evento de interrupción)

Ejecuta la ISR (preservación de los registros POP, PUSH)

Verificación de registros pendientes

Regresa a la línea de código antes de entrar a la interrupción (reti), si no existe una interrupción pendiente, o si ya se eliminaron las banderas correspondientes.

MAC

Son módulos multiplicadores de 8 bits por hardware que pueden realizar una multiplicación simple o por acumulación de 8 bits.

SLEEP TIMER

Su propósito es reducir el consumo promedio del sistema lo más posible.

¿Qué es lo que sucede?

1.

Si hay interrupciones pendientes el micro no entra en este modo

2.

Al entrar al modo SLEEP el CPU se detienen y el oscilador de alta frecuencia, la memoria flash y el voltaje de referencia son apagados, solo se mantiene encendido el reloj de 32 KHz y el circuito de monitoreo de alimentación.

3.

El sistema solo puede despertarse por una interrupción asíncrona (32KHz) o un reset

4.

El tiempo que tardará en despertarse será de 2 a 3 ciclos de reloj

5.

Si la interrupción de este Timer se activa generará interrupciones periódicas de acuerdo al intervalo seleccionado

PWM

Tipos:

PWM8

PWM16

SSDM: Se diferencia del PWM en que el contador res un contador pseudo aleatorio

PWMDB (Dead Band): Genera dos señales llamadas fases pero genera un tiempo muerto entre ellas.

Ciclo De Trabajo =

_

_

TIMERS

Se diferencia del PWM:

ellas. Ciclo De Trabajo = _ _ TIMERS Se diferencia del PWM:  AnchoDePulso  

AnchoDePulso


Periodo + 1

AnchoDePulso +

1

Periodo + 1

para "Menor que"

para "Menor o Igual que"

Su principal función es la medición de tiempos

Puede ser de 32 bits (Resoluciones altas, tiempos largos)

EL PWM tiene la terminal enable(el que lo habilita o pausa), mientras que el timer capture(permite obtener el valor del contador descendente cuando hay un flanco de señal sin afectar la medición por trasmisión)

TachTimer16 vs Timer

El timer solo puede interrumpirnos en uno de los dos eventos (Capturey terminal Count).

El TachTimer16 permite tener ambas interrupciones pero limitados a 16 bits.

Funcionamiento del Capture

REFERENCIAS

Selección de referencias

Selección

Rango de voltajes para = 5.0

Rango de voltajes para = 3.3

1.2

− 3.8

0.35 − 2.95

2

±

 

±

2

0.0

− 5.0

0.0

− 3.3

2

   

±

0.0

− 2.6

0.0

− 2.6

1.6 ± 1.6

0.0 − 4.08

2 ±

1.3

− 3.9

2 ± 2[6]

(2.6 − 2[6]) − (2.6 + 2[6])

2[4] ±

(2[4] 1.3) (2[6] + 1.3)

(2[4] 1.3) (2[6] + 1.3) Si 2[4] < 1.8

2[4] ± 2[6]

0.3

− 4.4

0.4

− 2.8

Tipos de ruidos comunes:

Variación de la resistencia por calor

Ruido del OPAMP

Ruido de Tierra

Ruido de fuente

Errores de deriva, offset y de baja frecuencia (métodos para disminuirlos):

COMPARADORES

COMP Comparators

 

o

COMPZ Detector de cruce por cero

o

COMPA Comparador de límite ajustable

o

COMPH Detector de cruce por cero y ajustado de Histéresis

o

COMPW Comparador de ventana

o

COMPD Comparador diferencial

o

COMPDH Comparador diferencial con ajustado de Histéresis

INSAMP Instrumentation Amplifier

PGA Programmable Gain Amplifier

ADC

5 errores comunes:

No habilitar interrupciones globales el CPU no puede responder al timer o PWM para leer el resultado.

No colocar el mismo reloj para la parte analógica y digital para que no haya errores de sincronización

Colocar adecuadamente Ref Mux y Analog Power para evitar tener malas lecturas relacionadas a las referencias

Colocar el clock phase adecuado para no tener errores de sincronización

Nunca esperar resultado dentro de una interrupción - el ADC puede quedar ciclado o en espera de una muestra

Muestro de doble correlación:

Técnica para reducir el error de medición del ADC, consiste en medir la entrada, medir la tierra y luego restar ambas, en condiciones reales la tierra no es 0 Volts, y la entrada se mantiene la misma situación por lo que restar ambos el error quedará reducido (o eliminado).

que restar ambos el error quedará reducido (o eliminado). Frecuencias máxima de muestro con un DataClock

Frecuencias máxima de muestro con un DataClock = 8 MHz

Frecuencias máxima de muestro con un DataClock = 8 MHz DAC Máxima frecuencia que se puede

DAC

Máxima frecuencia que se puede usar con un DAC8: 125 KHz con 500 de refresco