5 votos

¿La interfaz SPI es sólo un protocolo o un hardware real?

Quiero utilizar la interfaz SPI entre un PIC y un ENC28J60. Sin embargo, no hay pines en el PIC llamados MISO o MOSI que pueda usar para SPI.

Entonces, ¿es SPI sólo un protocolo, que puedo usar con cualquier pin del PIC (usando cualquier pin de E/S, por ejemplo, de la misma manera para comunicarme con un sensor DH22), o es SPI hardware (como UART)?

2 votos

Estudiar el módulo MSSP.

3 votos

No te fijes sólo en las etiquetas de las clavijas. Lee la hoja de datos del PIC.

0 votos

Cuando dices "el PIC", ¿te refieres a un PIC32 de 144 patillas a 200 MHz o a un PIC12 de 8 patillas a 4 MHz?

14voto

user4245 Puntos 324

SPI es un protocolo [ de facto desarrollado por Motorola. No define ningún hardware especial, sólo cómo se utilizan e interpretan las señales.

SPI puede implementarse mediante software (conocido como "Bit Banging"), o mediante hardware dedicado, a veces como parte de una interfaz "USART" (Universal Synchronous/Asynchronous Receive/Transmit).

Una implementación de hardware es invariablemente más eficiente, ya que la CPU está libre para hacer otras cosas mientras se transfiere un byte de datos SPI. Además, en los chips con DMA, todo el subsistema SPI puede desacoplarse completamente de la CPU para funcionar con una sobrecarga absolutamente mínima.

Por cierto, "Interfaz SPI" es un ejemplo de <a href="https://en.wikipedia.org/wiki/RAS_syndrome" rel="nofollow">Síndrome RAS </a>. SPI significa "Serial Peripheral Interface", por lo que "SPI Interface" equivaldría a "Serial Peripheral Interface Interface". Pero estoy divagando.

5 votos

"interfaz SPI" sería una manifestación de Síndrome RAS .

0 votos

Definitivamente una mejor manera de decirlo @ntoskrnl.

7voto

ianb Puntos 659

Intenta buscar SCK, SDI y SDO - estos son comúnmente usados como nombres para el reloj, puertos de entrada y salida en algunos micros. No estoy diciendo que todos los micros tengan una interfaz SPI pero muchos la tienen y están implementadas (normalmente) en hardware al igual que una UART está implementada en hardware.

Por supuesto, al igual que una UART puedes hacer una UART suave y puedes hacer una interfaz SPI suave.

3voto

Alex Andronov Puntos 178

El término "SPI" es un término no comercial que describe un esquema de conexión en el que un controlador maestro envía información a un número arbitrario de dispositivos esclavos utilizando un cable de reloj y un cable de salida de datos comunes, así como un cable de selección por dispositivo esclavo, y recibe datos de vuelta utilizando un cable de entrada de datos común. Un dispositivo esclavo SPI "real" sólo prestará atención a sus entradas de reloj y datos cuando esté seleccionado, y pondrá a flote de forma asíncrona su salida de datos siempre que esté deseleccionado (permitiendo que el mismo pin sea utilizado por otros dispositivos). El tipo de hardware que es útil para que un procesador sirva como maestro SPI, sin embargo, es útil no sólo para hablar con dispositivos esclavos SPI "reales", sino también con muchas otras cosas.

Por ejemplo, si el maestro sólo necesita hablar con un esclavo, no importará si el esclavo no pone a flote su cable de salida de datos cuando se deselecciona. Además, en muchas situaciones no importará que un esclavo capture continuamente datos destinados a otros dispositivos si incluye una señal que indique cuándo debe hacer algo con los datos más recientes que ha capturado. En consecuencia, es muy común utilizar puertos SPI para hablar con una amplia variedad de dispositivos que utilizan un cable de reloj y un cable de datos, pero que por lo demás no "encajan" realmente en el modelo de comunicaciones SPI.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X