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.
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.
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.
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).
Lea otras preguntas en las etiquetas microcontroller pic spi gyro