Estimación de la potencia de procesamiento necesaria

Actualmente estoy en una clase de ingeniería informática y me han pedido que diseñe un producto que pueda guiar a las personas ciegas. En mi producto ficticio voy a implementar un módulo para detectar distancias (un telémetro láser simple que consume 10 mA cuando está inactivo y 100 mA cuando dispara un rayo), un módulo de reconocimiento de voz (que consume 1 microamperio cuando está inactivo), y también un sistema de GPS. Esto significa que mi dispositivo procesará constantemente la entrada del sensor de distancia y el sistema GPS. También generará instrucciones como "girar a la izquierda" en función de la dirección de destino que el usuario ingresó a través de un comando de voz, y también le indicará al usuario observaciones como "Hay un obstáculo directamente adelante".

Me han pedido que calcule la potencia de procesamiento requerida por este dispositivo, y también la cantidad de memoria volátil y no volátil requerida. Por supuesto, todo se basa en estimaciones, y los componentes utilizados pueden variar desde 2014 hasta 3 años en el futuro (2017). ¿Existen métodos de estimación para definir la potencia de procesamiento requerida? Y más específicamente, ¿cómo se cuantifica el poder de procesamiento? En términos de memoria no volátil, creo que la única información que necesito almacenar son las direcciones que ingresa el usuario y los comandos que el sistema puede ingresar y los comandos que el sistema puede generar. ¡Gracias por cualquier consejo!

Necesitarás 42,7 computrones, +-3%.
El poder de procesamiento requiere mucha más información que ni siquiera es gracioso. Debe conocer la arquitectura del procesador y la implementación de la arquitectura, qué tan bajo será el código, los algoritmos específicos implementados, la eficiencia de la implementación de esos algoritmos, cuál es el intervalo de sondeo para los datos, etc. Sin mencionar que también mencionas componentes del futuro....
El "poder" de procesamiento no es un término de ingeniería significativo, es una idea de marketing. (Computrones de hecho...) En un producto real, los requisitos evolucionan constantemente (y son tan ambiciosos como en su ejemplo)... así que, como ingeniero, me equivocaría al elegir un microcontrolador un poco más "potente". , pero tendría que comparar eso con la potencia real (V * I) y los requisitos de la batería. El primer prototipo sería una prueba de concepto, para ver si se puede hacer. Luego, si funciona, vea si el sistema se puede optimizar para cumplir con todos los requisitos de costo/tamaño/embalaje/energía/normativos.
Parece que la pregunta básica aquí es cómo abordar el diseño de ingeniería. El gadget es solo un ejemplo.

Respuestas (1)

@ Jarrod Christman tiene toda la razón. Esto, sin embargo, se puede simplificar un poco. Supongo que, dado que esta es una clase de CSE, no profundizará en las complejidades del diseño eléctrico y, por lo tanto, se abstendrá de un enfoque de sistemas. Ignoremos todos los componentes del sistema, excepto la MCU, que realizará su procesamiento.

Continúe y busque un buen MCU (recomiendo un STM32). Tienen hojas de datos maravillosas, y allí encontrará el recuento de MIPS, que será de millones de IPS (instrucciones por segundo). Use esto como una línea de base para cuántas operaciones puede calcular en un momento dado. Ahora, con su experiencia en CS, debería poder encontrar cuántas operaciones necesita según su algoritmo (que con suerte es O (N)). Más allá de esto, hay ineficiencias y especificaciones de temperatura, ruido basado en el diseño y la lista continúa.

Si realmente se involucra en esto, debe ver qué sensores necesita, ver su frecuencia de muestreo y, por lo tanto, ver qué tan rápido puede extraer datos de ellos. Esto le permitirá conocer un tiempo más realista para obtener los datos de procesamiento. Casi garantizo que el procesador puede calcular más rápido de lo que puede extraer los datos del sensor. Esto se vuelve muy importante cuando se considera que un sensor para ciegos debe tener procesamiento en tiempo real. Si no puede obtener datos lo suficientemente rápido, el ciego se bloqueará.

Creo que estas consideraciones lo ayudarán a comenzar bien. A partir de ahí, mire cualquier consideración especial que todas estas partes digan que se debe investigar. Serás conducido por una madriguera de conejo demasiado grande, y luego regresarás y harás más preguntas. Salud.