4 votos

SPI y una memoria flash IC, lo básico

En SPI, tengo un par de preguntas...

Entiendo cómo bits velocidad de reloj a través de, pero ¿cómo son los bytes están delimitados?

Es el esclavo seleccione pin sólo se requiere para la conversión de los datos de salida de alta impedancia? O es que también se requiere para la delimitación de bytes/palabras?

También: tengo la impresión de lo que he leído (PIC16f74 hoja de datos) es el SPI puede ser de 3 hilos, y hay modos de direccionamiento que estoy tan confundido acerca de creo que me voy a pretender que no la he leído por el momento!

Sólo estoy interactuando con una PIC16F con 8 bits de memoria flash de Atmel AT45DB011D, así que nada más en el SPI líneas. También tiene multi-byte de comandos, así que ¿cómo es delimitar los?

SPI y utilizando el flash chip son totalmente nuevos para mí, cualquier inicio rápido guía sería genial!

3voto

user4245 Puntos 324

No existe el concepto de 'delimitación' bytes en el SPI. El simple hecho de que los 8 bits han sido transmitidos constituye un byte, y el noveno bit sería el primer bit de la siguiente byte.

En SPI recepción comienza cuando el chip seleccione la línea se reduce (o planteadas por algunos de los chips). La información se registró en un bit a la vez en un registro de desplazamiento. Como cada poco de que llegue el registro de cambio de baraja todos los bits hacia abajo.

Un SPI chip normalmente tiene un fijo de registro de cambio de tamaño, y no está vinculada por el byte de tamaño. Algunos tienen múltiplos de 8 bits, lo cual es bueno, algunos tienen 10 bits, de unos 17 bits, etc.

Si usted reloj en más que el número necesario de bits de los primeros bits de tipo de caer en el extremo de el registro de desplazamiento y se pierde, así que si usted tiene un 10 bits de registro de desplazamiento, y sólo puede enviar los múltiplos de 8 bits (lo cual es común con el PIC chips), en caso de que usted envíe el primer byte de 6 bits de 0 seguido de 2 bits de datos, a continuación, un segundo byte de 8 bits de datos, los primeros 6 bits se descarta que caen fuera de la final, y el registro de desplazamiento sólo contendrá los últimos 10 bits.

Modos de direccionamiento son, básicamente, tomar un extra de unos pocos bits de la secuencia de datos de SPI y la comparación de ellos a un conjunto de pines atado, ya sea de alta o de baja en el chip. Si coinciden los datos en el registro de desplazamiento debe ser ejecutada. Si no, entonces debe ser desechado.

Un número de SPI fichas incluyen una transferencia a través de la función donde se pueden encadenar juntos, y a medida que los datos se registró en el primer chip de lo que está en el final de su registro de desplazamiento, y generalmente se desecha, es enviado a un pin de salida. Esto puede, a continuación, vaya a la entrada de la siguiente chip de lo que pasa los datos de la línea de chip a chip. En este caso, es fundamental asegurarse de que sus datos se empaquetan en una sola corriente con ninguna bits que normalmente se descarte (puede ser complicado si las fichas no utilizar múltiplos de 8 bits).

El número de 'cables' en el SPI es engañosa, ya que realmente no decirle cuántas real se necesitan cables.

Normalmente, usted tiene:

  • Reloj
  • Selección De Chip
  • De datos en
  • Datos

Algunas de las fichas no pueden tener una salida de datos, y sólo acepta datos en ellas. Algunos combinan el in y el out juntos, por lo que se tiene que dividir aparte de alguna manera - ya sea en software, si usted puede, o en el hardware.

Si usted tiene tanto la entrada y salida de datos, a continuación, SPI puede trabajar en modo full duplex (pero no siempre) donde como reloj de datos en el registro de desplazamiento, los datos también están sincronizados para que usted lea. Esto no es a menudo utilizado, como la mayoría de los sistemas se basan en un comando que se envía antes de que una respuesta puede ocurrir. A veces hay otra línea de señal cuando los datos se ha terminado de ser enviado a los SPI dispositivo y la respuesta debe ser enviada. Más a menudo, sin embargo, ocurre que cuando un cierto número de bits que se han recibido, o de una cierta combinación de bits. Es común para rellenar el inicio de una transmisión con 0, entonces la señal de que el dispositivo empiece a recibir con un bit de inicio.

Hay muchas formas de hacerlo, y nadie parece hacer lo mismo que cualquier otra persona, o incluso que ellos mismos a veces.

SPI define cómo se transfieren los datos, no cómo los datos se formó.

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