Las respuestas a sus preguntas son diferentes según cuál sea su objetivo final. Si necesita un puñado o menos de estos dispositivos, debe facilitar el desarrollo y no preocuparse por el costo de las piezas. Si va a hacer mil o más de estos, vale la pena analizar sus requisitos y reducir el costo del hardware del dispositivo.
Pequeñas cantidades
Si está ejecutando estos dispositivos de forma puntual o pequeña, entonces sus esfuerzos de desarrollo reducirán sus costos por artículo, y debe concentrarse en lo que será más fácil / rápido para su desarrollo, en lugar del costo / tamaño de la microelectrónica.
En general, la encapsulación puede disminuir la complejidad, aumentando su productividad. Si tiene algunos requisitos difíciles en tiempo real, como su control BLDC, bucles PID, etc., entonces puede encontrar más rápido el uso de controladores separados específicamente para aquellas tareas que se comunican con los controladores donde mantiene la interfaz de usuario y otras aplicaciones no reales. tareas de tiempo
Entonces, en este caso, la respuesta a sus preguntas es:
¿Es el enfoque todo en uno una buena idea cuando se tiene que hacer muchas tareas múltiples, o es mejor segmentar y aislar, y
La escala se inclina ligeramente hacia la segmentación y el aislamiento. La razón principal es que la depuración de un sistema en tiempo real puede llevar mucho tiempo, y mantener esas tareas en su propio procesador limita las variables que debe medir o controlar cuando intenta encontrar por qué algo no funciona correctamente.
¿Cómo puedo saber intuitivamente si el microcontrolador que estoy viendo tiene suficiente potencia de cálculo para hacer lo que necesito en función de mi lista de tareas?
En este caso, la diferencia de costo entre un procesador de 32 bits con muchos recursos y un procesador de 8 bits con recursos limitados es pequeña en relación con la cantidad de tiempo que pasará trabajando en el desarrollo. Hay pocas razones para tratar de averiguar cuánta energía necesita: simplemente obtenga el procesador más grande que cree que puede desarrollar y úselo. Si en algún momento posterior necesita optimizar el costo del diseño, es relativamente fácil medir el uso real de los recursos del procesador, luego elija un procesador menor que pueda manejar la carga real. Hasta entonces, use el más grande y no se preocupe por encontrar el "mejor ajuste".
Producción en masa
Si planea fabricar muchos de estos dispositivos, entonces un análisis cuidadoso producirá ahorros de costos significativos. En términos generales, un microcontrolador más grande costará menos de dos microcontroladores capaces de reemplazar el microcontrolador individual, aunque ciertamente hay excepciones dependiendo de las tareas específicas requeridas. En estas cantidades, el costo del hardware probablemente será mucho mayor que el costo de desarrollo, por lo que debe esperar pasar más tiempo analizando sus requisitos y realizando el desarrollo de lo que lo haría si solo estuviera haciendo unos pocos.
¿Es el enfoque todo en uno una buena idea cuando se tiene que hacer muchas tareas múltiples, o es mejor segmentar y aislar?
El enfoque todo en uno generalmente será menos costoso durante la vida de todo el proyecto que los procesadores múltiples. Se requerirá más tiempo de desarrollo y depuración para asegurarse de que las diversas tareas no entren en conflicto, pero el diseño riguroso del software limitará eso casi tanto como lo haría tener un hardware separado.
¿Cómo puedo saber intuitivamente si el microcontrolador que estoy viendo tiene suficiente potencia de cálculo para hacer lo que necesito en función de mi lista de tareas?
Deberá comprender las tareas que desea realizar y cuántos recursos requieren. Supongamos que lo siguiente fuera cierto:
Sus rutinas PI de BLDC consumirán X ciclos de tiempo de procesador 100 veces por segundo, y cada uno necesita aproximadamente 50 bytes de RAM para funcionar, 16 bytes de EEPROM para el ajuste y 1k flash para el código. Cada uno necesitará 3 periféricos PWM de 16 bits en el microcontrolador. Es posible que deba especificar la fluctuación de fase, que tendrá requisitos específicos de latencia de interrupción.
Sus rutinas USB y en serie consumirán Y ciclos de tiempo de procesador según sea necesario, 2k RAM, 64 bytes EEPROM y 8k flash. Requerirá USB y periféricos en serie.
Su GUI consumirá Z ciclos de potencia del procesador 30 veces por segundo, y necesitará 2k de RAM, 128 bytes de EEPROM y 10k flash. Utilizará 19 E / S para las comunicaciones con la pantalla LCD, botones, perillas, etc.
Cuando comienzas por primera vez, puede ser difícil entender qué son realmente X, Y, Z, y esto cambiará un poco dependiendo de la arquitectura del procesador. Sin embargo, debería poder comprender, dentro de una estimación aproximada, cuánto ram, eeprom y flash necesitará su diseño y qué periféricos necesita. Puede elegir una familia de procesadores que cumpla con los requisitos de memoria y periféricos y que tenga una amplia gama de opciones de rendimiento dentro de esa familia. En ese punto, para el desarrollo, simplemente puede usar el procesador más potente de la familia. Una vez que haya implementado su diseño, puede pasar fácilmente de la familia en términos de poder a una opción de menor costo sin cambiar su diseño o entorno de desarrollo.
Después de haber hecho suficientes de estos diseños, podrá estimar mejor X, Y y Z. Sabrá que las rutinas PI de BLDC, aunque se ejecutan con frecuencia, son bastante pequeñas y requieren muy pocos ciclos. Las rutinas USB y serie requieren mucho ciclo, pero ocurren con poca frecuencia. La interfaz de usuario requiere algunos ciclos con frecuencia para encontrar cambios, pero requerirá muchos ciclos con poca frecuencia para actualizar una pantalla, por ejemplo.