As respostas para suas perguntas são diferentes, dependendo do seu objetivo final. Se você precisar de um punhado ou menos desses dispositivos, facilite o desenvolvimento e não se preocupe com o custo das peças. Se você vai fazer mil ou mais deles, vale a pena analisar seus requisitos e reduzir o custo do hardware do dispositivo.
Pequenas quantidades
Se você estiver executando uma execução única ou pequena desses dispositivos, seus esforços de desenvolvimento reduzirão os custos por item e deverá se concentrar no que será mais fácil / rápido para o seu desenvolvimento, em vez do custo / tamanho do microeletrônico.
Em geral, o encapsulamento pode diminuir a complexidade, aumentando sua produtividade. Se você tiver alguns requisitos em tempo real, como controle BLDC, loops PID, etc., poderá achar mais rápido o uso de controladores separados especificamente para as tarefas que se comunicam com os controladores em que você mantém a interface do usuário e outras informações não reais. tarefas de tempo.
Portanto, neste caso, a resposta para suas perguntas são:
A abordagem da multifuncional é uma boa idéia quando é necessário realizar várias tarefas multitarefas ou é melhor segmentar e isolar, e
A balança se inclina levemente em direção à segmentação e isolamento. O principal motivo é que a depuração de um sistema em tempo real pode consumir muito tempo, e manter essas tarefas em seu próprio processador limita as variáveis que você deve medir ou controlar ao tentar descobrir por que algo não está funcionando corretamente.
Como posso descobrir intuitivamente se o microcontrolador que estou vendo possui energia computacional suficiente para fazer o que preciso com base na minha lista de tarefas?
Nesse caso, a diferença de custo entre um processador de 32 bits com muitos recursos e um processador de 8 bits com recursos limitados é pequena em relação à quantidade de tempo que você gastará trabalhando no desenvolvimento. Há poucas razões para tentar descobrir quanta energia você precisa - basta obter o maior processador que você acha que pode desenvolver e usar. Se, em algum momento posterior, você precisar otimizar o design com custos, é relativamente fácil medir o uso real dos recursos do processador e escolha um processador menor que possa lidar com a carga real. Até lá, use o maior e não se preocupe em encontrar o "melhor ajuste".
Produção em massa
Se você planeja fabricar muitos desses dispositivos, uma análise cuidadosa trará uma economia significativa de custos. De um modo geral, um microcontrolador maior custará menos de dois microcontroladores capazes de substituir o único microcontrolador, embora certamente haja exceções, dependendo das tarefas específicas necessárias. Nessas quantidades, o custo do hardware provavelmente será muito maior que o custo do desenvolvimento, portanto, você deve esperar mais tempo analisando seus requisitos e executando o desenvolvimento do que faria se estivesse fazendo apenas alguns.
A abordagem da multifuncional é uma boa idéia quando é preciso realizar várias tarefas multitarefas ou é melhor segmentar e isolar?
A abordagem da multifuncional geralmente será menos dispendiosa durante toda a vida útil do projeto do que vários processadores. Isso exigirá mais tempo de desenvolvimento e depuração para garantir que as várias tarefas não entrem em conflito, mas o design rigoroso do software limitará tanto quanto o hardware separado.
Como posso descobrir intuitivamente se o microcontrolador que estou vendo possui energia computacional suficiente para fazer o que preciso com base na minha lista de tarefas?
Você precisará entender as tarefas que deseja executar e quantos recursos eles precisam. Suponha que o seguinte seja verdadeiro:
Suas rotinas PI do BLDC consumirão X ciclos de tempo do processador 100 vezes por segundo e cada um precisa de cerca de 50 bytes de RAM para operação, 16 bytes de EEPROM para ajuste e 1k de flash para o código. Cada um deles precisará de 3 periféricos PWM de dezesseis bits no microcontrolador. Pode ser necessário especificar jitter, que terá requisitos específicos de latência de interrupção.
Suas rotinas USB e serial consumirão ciclos Y de tempo do processador conforme a necessidade, 2k RAM, 64 bytes EEPROM e 8k flash. Exigirá periféricos USB e seriais.
Sua GUI consumirá ciclos Z de energia do processador 30 vezes por segundo e precisará de 2k de RAM, 128 bytes de EEPROM e 10k de flash. Utilizará 19 E / S para comunicações com o LCD, botões, botões, etc.
Quando você inicia pela primeira vez, pode ser difícil entender o que realmente são X, Y, Z e isso muda um pouco, dependendo da arquitetura do processador. No entanto, você deve ser capaz de entender, dentro de uma estimativa aproximada, quanto de ram, eeprom e flash seu projeto precisará e quais periféricos você precisa. Você pode escolher uma família de processadores que atenda aos seus requisitos de memória e periféricos e possua uma ampla variedade de opções de desempenho nessa família. Nesse ponto, para o desenvolvimento, você pode simplesmente usar o processador mais poderoso da família. Depois de implementar seu design, você pode facilmente mudar a família em termos de energia para uma opção de custo mais baixo sem alterar seu ambiente de design ou desenvolvimento.
Depois de fazer o suficiente desses designs, você poderá estimar melhor X, Y e Z. Você saberá que as rotinas PI do BLDC, embora sejam executadas com frequência, são muito pequenas e requerem muito poucos ciclos. As rotinas USB e serial requerem muito ciclo, mas ocorrem com pouca frequência. A interface do usuário requer alguns ciclos frequentemente para encontrar alterações, mas exigirá muitos ciclos com pouca frequência para atualizar uma exibição, por exemplo.