Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ionar el esclavo habilitando la señal CS. Por lo general, la selección de chip es una señal baja activa;
por lo tanto, el maestro debe enviar un 0 lógico en esta señal para seleccionar el esclavo. SPI es
una interfaz full-duplex; tanto el maestro como el esclavo pueden enviar datos al mismo tiempo a
través de las líneas MOSI y MISO respectivamente. Durante la comunicación SPI, los datos se
transmiten simultáneamente (desplazados en serie al bus MOSI / SDO) y se reciben (los datos en el
bus (MISO / SDI) se muestrean o leen). El borde del reloj serie sincroniza el desplazamiento y el
muestreo de los datos. La interfaz SPI proporciona al usuario flexibilidad para seleccionar el borde
ascendente o descendente del reloj para muestrear y / o cambiar los datos. Consulte la hoja de
datos del dispositivo para determinar la cantidad de bits de datos transmitidos utilizando la
interfaz SPI.
En SPI, el maestro puede seleccionar la polaridad del reloj y la fase del reloj. El bit CPOL establece
la polaridad de la señal de reloj durante el estado inactivo. El estado inactivo se define como el
período en que CS es alta y pasa a baja al comienzo de la transmisión y cuando CS es baja y pasa a
alta al final de la transmisión. El bit CPHA selecciona la fase del reloj. Dependiendo del bit de
CPHA, el borde del reloj ascendente o descendente se usa para muestrear y / o cambiar los datos.
El maestro debe seleccionar la polaridad del reloj y la fase del reloj, según los requisitos del
esclavo. Dependiendo de la selección de bits CPOL y CPHA, hay cuatro modos SPI disponibles. La
Tabla 1 muestra los cuatro modos SPI.
Sincronización de MCU
Sincronización interna
Se decide implementar una estrategia de sincronización en el cual el dispositivo que arbitra el flujo
en cada subred multipunto cada concentrador, sea el encargado de enviar en forma periódica y
entrelazada con los mensajes de datos, un mensaje de sincronismo en boardcast para todas las
unidades de la subred. Con esta metodología , cada unidad de la subred recibe el mensaje de
sincronismo efectúa el ajuste de su reloj interno.
TEMPORIZADORES/CONTADORES
al-mundo-de-los-microcontroladores-basic-chapter-01-fig0-28
La mayoría de los programas utiliza estos cronómetros electrónicos en miniatura. Generalmente
son registros SFR de 8 o 16 bits cuyo contenido se aumenta automáticamente con cada pulso.
¡Una vez que se llena el registro, se genera una interrupción! Si el temporizador utiliza el oscilador
de cuarzo interno para su funcionamiento, es posible medir el tiempo entre dos eventos (el valor
de registro en el momento de iniciar la medición es T1, en el momento de finalizar la medición es
T2, el tiempo transcurrido es igual al resultado de la resta T2 - T1). Si los registros se aumentan con
los pulsos que vienen de la fuente externa, tal temporizador se convierte en un contador. Esto es
una explicación simple de su funcionamiento.
Temporizadores
En práctica, los pulsos generados por el oscilador de cuarzo son llevados al circuito una vez por
cada ciclo de máquina directamente o por el pre-escalador, lo que aumenta el número en el
registro del temporizador. Al incorporar al cuarzo que oscila con una frecuencia de 4 MHz se aplica
lo siguiente: si una instrucción (un ciclo de máquina) dura cuatro períodos del oscilador de cuarzo,
este número será cambiado un millón de veces por segundo (cada microsegundo).
Es fácil de medir los intervalos de tiempo cortos de la manera descrita anteriormente (hasta 256
microsegundos porque es el mayor número que un registro puede contener). Esta obvia
desventaja se puede superar de varias maneras: al utilizar el oscilador más lento, por medio de
registros con más bits, del pre-escalador o de la interrupción. Las primeras dos soluciones tienen
algunas debilidades así que se recomienda utilizar el pre-escalador y/o la interrupción.
CONTADORES
Figura 4.5: Estimación del error de discretización con el método de duplicación por pasos
de dos niveles.
.
(4.2)
mi t = || C t/2 -C t ||
El único método para garantizar que los tamaños de los pasos no se elijan
demasiado grande es verificar el error de discretización. Para muchas
aplicaciones esto no es factible y, por lo tanto, se utilizan otras cantidades para
estimar el tamaño del paso y decidir si el último paso fue demasiado
grande. Muchos de estos métodos son computacionalmente muy eficientes,
pero deben usarse con precaución porque no hay un control directo del error de
discretización. Por lo tanto, se requiere algo de experiencia para elegir los
parámetros apropiados.