La Red de Conocimientos Pedagógicos - Conocimientos históricos - ¿Cuál es la especificación del protocolo USB sbi?

¿Cuál es la especificación del protocolo USB sbi?

No es sbi, es spi, ¿verdad?

SPI es la abreviatura del inglés Serial Peripheral Interface. Como su nombre indica, es Serial Peripheral Interface. SPI es un bus de comunicación síncrono, full-duplex y de alta velocidad que solo ocupa cuatro cables en los pines del chip, lo que ahorra espacio y pines del chip y brinda comodidad para el diseño de PCB. Es precisamente gracias a esta característica simple y fácil de usar que cada vez más chips integran este protocolo de comunicación, como el P89LPC900.

SPI es un bus de comunicación síncrono, full-duplex y de alta velocidad con dos modos de trabajo: modo maestro y modo esclavo, ambos modos son compatibles.

3 Mbit/s y también tiene un indicador de finalización de transferencia y un indicador de protección contra conflictos de escritura. Hasta ahora he usado un dispositivo con un bus SPI, que es un chip de memoria EPROM: AT 25128. Durante el uso, descubrí que tiene las ventajas de este tipo de autobús. A continuación se utiliza el bus SPI del microcontrolador P89LPC900 para ilustrar las reglas generales de uso del bus SPI.

La interfaz SPI del microcontrolador LPC900 se compone principalmente de cuatro pines: SPILK, MOSI, MISO y /SS. SPILK es el reloj común de todo el bus SPI, y MOSI y MISO son la entrada y la salida. banderas del maestro y esclavo, MOSI es la salida del host y MISO es la entrada y salida del maestro y el esclavo. /SS

Es el pin de bandera de la máquina esclava. En dispositivos donde dos buses SPI se comunican entre sí, el nivel bajo del pin /SS es el esclavo y el nivel alto del pin /SS es el maestro. En un sistema de comunicación SPI, debe haber un host.

El bus SPI se puede configurar como maestro único y esclavo único, maestro único y esclavos múltiples, y maestro y esclavo mutuos. Hoy en día, esta interpretación se basa en el modelo de interdependencia:

Para realizar la operación mutua maestro-esclavo SPI, se deben seguir los siguientes pasos:

1 Inicializar A y B, configurarlos como maestro (requiere las siguientes operaciones).

A) El puerto SPI se inicializa para que sea casi bidireccional.

B) SPCTL está configurado como 0x50, SSIG=0, SPEN=1, MSTR=1.

c) Borre los indicadores SPIF y WCOL en SPSTAT.

d) Si se requiere una interrupción SPI, se puede habilitar el bit de interrupción correspondiente.

2 Conecte el último pin de A al pin /SS de B y luego tire hacia abajo /SS para forzar a B a estar en modo esclavo. Al mismo tiempo, la probabilidad de B cambiará de la siguiente manera:

a) El bit MSTR de la máquina B se borra automáticamente.

B) B MOSI y SPICLK de la máquina B se fuerzan al modo de entrada y MISO se fuerza al modo de salida.

c) Ubicación SPIF de la máquina B

d) Si la interrupción SPI está habilitada, la máquina B ejecutará la rutina de servicio de interrupción SPI.

3 La máquina B se puede configurar para consultar la recepción o interrumpir el modo de recepción para que esté lista para recibir los datos enviados por la máquina A en cualquier momento. Para restaurar la máquina B al host, se debe realizar el paso 1 por completo. En este ejemplo, el sistema de prueba mutuo maestro-esclavo de SPI consta de dos placas experimentales DP932.

Problemas a los que se debe prestar atención en el programa:

En el programa 1, preste atención al procesamiento de tirar del pasador SS hacia abajo por primera vez: cuando la máquina A prepara la máquina B a B_SS por primera vez Cuando es un esclavo, se establecerá el bit SBIF del esclavo (se considerará que ha completado una transferencia si la interrupción SPI está habilitada antes de esto, el esclavo ejecutará la interrupción correspondiente). rutina de servicio (en este programa de ejemplo, cuando B Cuando el pasador SS de la máquina B se baja, el SBIF de la máquina B se configurará por primera vez).

2. Con respecto al problema de restaurar la máquina esclava a la máquina maestra: en el modo maestro-esclavo mutuo, cuando la máquina A configura la máquina B como esclava, el bit MSTR en el registro CPCTL se borra y SPIF se establece en 1, MOSI y SPICLK se fuerzan al modo de entrada y MISO se fuerza al modo de salida. Para volver al maestro, debe hacer lo siguiente:

a) Borre el bit 1 de MSTR y el bit 0 de SPIF.

b) Restaurar MOSI, SPICLK, MISO y SS a puertos cuasi-bidireccionales.

c) Antes de a) y B), debes prestar atención a elevar B_SS. Si permanece bajo, la máquina B se restablecerá como esclava incluso después de completar las operaciones a) y B).

3 Durante el uso del bus SPI, el formato de transmisión maestro/esclavo se puede controlar mediante DORD (bit de selección de secuencia de datos SPI), CPOL (bit de selección de polaridad del reloj SPI) y CPHA (selección de fase del reloj SPI). poco) . Para este experimento, se puede ignorar el impacto de estos bits, pero cuando se utilizan otros dispositivos SPI, la secuencia de transmisión de datos SPI, la polaridad del reloj de SPI y la fase del reloj de SPI deben configurarse correctamente de acuerdo con los requisitos del hoja de datos del esclavo.

En algunos sistemas de aplicaciones SPI, debido a un diseño de hardware inadecuado, a veces se producen anomalías en la comunicación SPI (errores de transmisión de datos u otras situaciones). Puede intentar reducir la velocidad de transmisión del bus SPI o ajustar la polaridad y la fase de algunos relojes SPI para que la transmisión sea estable.

Fuente del artículo: Internet