1 votos

DSP para la generación de señales de control de precisión única

Actualmente me siento frustrado por las limitaciones de la aritmética de punto fijo en un microcontrolador para un avión quadrotor. La aeronave con la que estoy experimentando utiliza un ATMEGA. Me puse a pensar, ¿sería posible sustituir el ATMEGA por un DSP equipado con una unidad flotante de punto único?

Mis requisitos son:

El cuadro de mandos existente tiene especificaciones en línea . Utiliza un ATMEGA1284P, y esa es la parte que estoy buscando para reemplazar. Eso significaría que el reloj de la CPU debe ser de al menos 20 MHz y tiene que haber alrededor de 32 pines de salida, algunos de los cuales soportan I2C.

Si tiene experiencia con Controladores DSP y tienen algunas recomendaciones para este proyecto. CPU números de parte que están disponibles en digikey o en línea sería aún mejor.

EDIT: latencia cambiada por tasa

2voto

RelaXNow Puntos 1164

100 Hz es muy lento para la mayoría de los micros. Un dsPIC 33F o 24H, por ejemplo, puede ejecutar 400.000 instrucciones en ese tiempo.

A menos que estés haciendo algo inusual, probablemente no necesites la coma flotante por hardware. 400 k de instrucciones son muchas, aunque se utilicen unas 100 a la vez para realizar operaciones individuales de coma flotante.

Probablemente no necesites lo que tradicionalmente se considera "precisión única". Ten en cuenta que "precisión simple" es un término sin sentido en sentido absoluto, ya que depende de la máquina y de la implementación. Single sólo tiene sentido en relación con "double", con el único significado de que este último tiene más precisión y probablemente más rango. Suponiendo que te refieras a una mantisa de 24 bits, ¿realmente necesitas todo eso? Como dices, las mediciones serán de 12 bits, y las salidas resultantes probablemente menos que eso. Yo suelo utilizar un formato FP con 16 bits de mantisa en casos como éste. Eso todavía deja algunos bits extra para que los errores de cuantificación de múltiples operaciones se mantengan por debajo de tu nivel de ruido original, pero generalmente se adapta mejor al hardware disponible y por lo tanto es más rápido.

Así que en lugar de decir que necesitas hardware FP, deberías decir qué tipo de operaciones necesitas realizar cada 10 ms. Es muy probable que no necesites hardware de FP para cumplir la especificación. Eso deja un mundo mucho más amplio de micros a tu disposición, que pueden ser útiles por sus otros atributos, como una mejor salida PWM para accionar los motores, por ejemplo.

2voto

Scott Puntos 138

Parece que hay que optimizar algunas cosas. B

El diseño de DSP es intrínsecamente más difícil que el de microcontroladores, así que depende de tu nivel de experiencia.

No hay nada mejor que evitar tener que convertir coma flotante a coma fija.

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