Las respuestas a tus preguntas son diferentes dependiendo de lo que su objetivo final es. Si usted necesita un puñado o menos de estos dispositivos, se debe facilitar el desarrollo, y no preocuparse de los costes de piezas. Si vas a hacer un millar o más de estos, vale la pena analizar sus requisitos y la reducción de costos de hardware del dispositivo.
Pequeñas cantidades
Si usted está haciendo un one-off o pequeña tirada de estos dispositivos, entonces sus esfuerzos de desarrollo se va a empujar a su per-costes de elementos, y usted debe centrarse en lo que será la forma más fácil y más rápido para su desarrollar, en lugar de los costos/tamaño de la microelectrónica.
En general, la encapsulación puede reducir la complejidad, el aumento de su productividad. Si usted tiene algunos de los duros requisitos en tiempo real, tales como su BLDC de control, bucles PID, etc, entonces usted puede encontrar que es más rápido utilizar controladores separados específicamente para aquellas tareas que se comunican con los controladores en la que mantener la interfaz de usuario y otras no-tareas en tiempo real.
Así que, en este caso, la respuesta a tus preguntas son:
Es el todo-en-uno de los planteamientos de una buena idea a la hora de hacer un montón de multitarea, o es mejor segmento y aislar, y
La escala de puntas ligeramente hacia la segmentación y el aislamiento. La principal razón es que la depuración de un sistema de tiempo real puede ser muy laborioso, y mantener este tipo de tareas en su propio procesador límites de las variables que se tienen a medida o control cuando se trata de descubrir por qué algo no está funcionando bien.
¿Cómo puedo intuitivamente averiguar si el microcontrolador estoy mirando tiene suficiente potencia de cálculo para hacer lo que tengo que basado en mi lista de tareas?
En este caso, la diferencia de costos entre una versión de 32 bits del procesador con una gran cantidad de recursos y de 8 bits del procesador con recursos limitados es pequeña en relación a la cantidad de tiempo que vas a pasar a trabajar en el desarrollo. Hay pocas razones para intentar averiguar la cantidad de energía que necesita - acaba de obtener el mayor procesador usted se siente que usted puede desarrollar y usar eso. Si en algún momento posterior que usted necesita para optimizar el costo de diseño, es relativamente fácil de medir procesador real el uso de los recursos, a continuación, elija un arrendador procesador que puede manejar la carga real. Hasta entonces, el uso de la mas grande y no te preocupes por encontrar la "mejor ajuste".
La producción en masa
Si usted planea hacer muchos de estos dispositivos, luego de un cuidadoso análisis va a producir importantes ahorros de costes. Hablando en general un mayor microcontrolador tendrá un costo de menos de dos microcontroladores capaces de sustituir el único microcontrolador, aunque sin duda hay excepciones dependiendo del tipo de tareas que se requieren. En estas cantidades, el costo del hardware es probablemente mucho mayor que el costo de desarrollo, por lo que deben esperar para pasar más tiempo en analizar sus necesidades y realizar el desarrollo de lo que usted haría si estuviera solo hacer un par de.
Es el todo-en-uno de los planteamientos de una buena idea a la hora de hacer un montón de multitarea, o es mejor segmento y aislar?
El todo-en-un enfoque general será menos caro en la vida de todo el proyecto de múltiples procesadores. Se requieren más desarrollo y la depuración de tiempo para asegurarse de que las tareas no entran en conflicto, pero riguroso software de diseño límite que casi tanto como tener separadas hardware.
¿Cómo puedo intuitivamente averiguar si el microcontrolador estoy mirando tiene suficiente potencia de cálculo para hacer lo que tengo que basado en mi lista de tareas?
Usted tendrá que entender las tareas que desea realizar y cómo muchos de los recursos que tomar. Supongamos que los siguientes son true:
Su BLDC PI rutinas de consumir X ciclos de tiempo de procesador 100 veces por segundo, y cada uno necesita alrededor de 50 bytes de RAM para su funcionamiento, de 16 bytes de memoria EEPROM para la optimización, y 1k de flash para el código. Cada una se necesitan 3 de dieciséis bits PWM periféricos del microcontrolador. Puede que necesite especificar el jitter, que tendrá interrupción específico de requisitos de latencia.
Su USB y serie de rutinas de consumir Y de los ciclos de tiempo de procesador en una base como-necesaria, 2k de RAM, 64 bytes de EEPROM, y 8k flash. Va a requerir USB y serial de periféricos.
Su GUI consumirá Z ciclos de potencia de procesador de 30 veces por segundo, y la necesidad de 2k de RAM, 128 bytes de EEPROM, y 10k de flash. Que va a utilizar el 19 de e/S para las comunicaciones con la pantalla LCD, botones, perillas, etc.
Cuando está empezando, puede ser difícil entender lo que X, Y, Z son en realidad, y esto va a cambiar un poco dependiendo de la arquitectura del procesador. Sin embargo, usted debe ser capaz de entender, dentro de un estadio de béisbol de la estimación, la cantidad de memoria ram, eeprom, flash y su diseño va a necesitar, y los periféricos que necesita. Usted puede elegir un procesador de la familia que cumple con su memoria y periféricos de los requisitos y tiene una amplia gama de opciones de rendimiento, dentro de esa familia. En ese momento, para el desarrollo, usted puede simplemente utilizar el procesador más potente de la familia. Una vez que haya implementado su diseño, usted puede moverse fácilmente por la familia en términos de poder de una opción de menor costo, sin cambiar su diseño o entorno de desarrollo.
Después de que usted haya hecho lo suficiente de estos diseños, usted será capaz de estimar X, y y Z, mejor. Usted sabrá que la BLDC PI rutinas, a pesar de correr a menudo, son muy pequeñas y requieren muy pocos ciclos. El USB y serie de rutinas requieren de un gran ciclo, pero ocurren con poca frecuencia. La interfaz de usuario requiere un par de ciclos con frecuencia para encontrar cambios, pero requieren de una gran cantidad de ciclos de la poca frecuencia de actualización de una pantalla, por ejemplo.