¿Qué microcontrolador PIC puede interactuar con un giroscopio ADXRS800 con salida SPI?

3

Directo al punto ...

Planeo usar un giroscopio ADXRS800 y su salida es un mensaje SPI de 32 bits, esto significa que solo se puede conectar con un microcontrolador PIC de 32 bits, o podría usar mi microcontrolador de 8 bits.

    
pregunta Benj

4 respuestas

3

Por supuesto, puede utilizar cualquiera µC de 8 bits.

Los mensajes más largos que un byte se pueden manejar en varias partes de un solo byte.

Eche un vistazo a un código de ejemplo.
P.ej. aquí puede encontrar varios ejemplos para conectar un PIC a varios periféricos.

    
respondido por el Curd
2

Como dijo Curd, puedes usar cualquier microcontrolador siempre que tenga tres líneas de salida digital y una línea de entrada digital. El hardware SPI en los PIC está limitado a transferir fragmentos enteros de 8 bits. Ya que necesita transferir un múltiplo entero de eso, puede usar el hardware directamente. Simplemente haga cuatro transferencias de 8 bits consecutivamente. Los PIC de 16 bits también tienen un modo SPI de 16 bits donde transfiere fragmentos enteros de 16 bits a la vez. Eso también funcionaría para usted, ya que 32 es un múltiplo entero de 16.

SPI es un protocolo muy simple que el maestro debe implementar. Dado que el maestro posee el reloj, SPI se puede implementar fácilmente en el firmware. Lo he hecho unas cuantas veces, a veces solo para usar pines diferentes que el periférico SPI dedicado. Por supuesto, con una implementación de firmware, puede transferir la cantidad de bits que desee en un mensaje.

El tamaño de palabra nativo del procesador no tiene nada que ver con su problema. Eso solo le dice a qué tamaño de trozo de bits puede operar a la vez. Eventualmente, puede operar en cualquier número de tamaño con cualquier procesador, solo que tomará un montón de instrucciones para manipular palabras más anchas que las rutas de datos del procesador.

    
respondido por el Olin Lathrop
1

La cantidad de bits que tiene un microcontrolador es la cantidad de bits que puede realizar de forma nativa los cálculos. Un micro de 8 bits normalmente puede multiplicar, sumar, restar 2 bytes de 8 bits (byte) en una instrucción.

Si el micro tiene que hacer cálculos de 16 o 32 bits, recopilará instrucciones adicionales para que eso suceda. Sin embargo, hará que el cálculo sea mucho más lento. Si eso tomara ~ 400 instrucciones a 4MIPS (= 16MHz PIC16 / 18), aún podrá procesar (teóricamente) 10KSPS. Es probable que siempre pueda ajustar los cálculos para que se ejecuten más rápido en su sistema, por lo que, a menos que desee realizar varios filtros de kalman, los cálculos de ángulo sinusoidal () no requieren realmente un procesador realmente grande.

(oh btw, no se pudo encontrar una hoja de datos del sensor, solo un resumen que dice que genera palabras de datos de 16 bits).

    
respondido por el Hans
0

Consulte la herramienta de selección de productos para ayudar a limitar su búsqueda: enlace .

Como ya se ha dicho antes, muchas opciones funcionarán, pero esta herramienta te ayuda a pensar en otras restricciones (como costo, paquete, velocidad, tamaño, etc.).

    
respondido por el tarabyte

Lea otras preguntas en las etiquetas