Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Como escolher um microcontrolador para aplicações de processamento de sinal digital

Este artigo discute os recursos que você deve procurar quando precisa que um MCU atue como controlador de sistema e processador de sinal digital.


Este artigo discute os recursos que você deve procurar quando precisa que um MCU atue como um controlador de sistema e um processador de sinal digital.

O processamento digital de sinais pode agregar funcionalidade valiosa a uma ampla variedade de produtos e aplicações. Mesmo os projetos que são limitados por custo, fator de forma ou cronograma podem facilmente incorporar os benefícios do DSP, porque hoje em dia os engenheiros têm acesso a uma abundância de código de biblioteca, projetos de exemplo e processadores de alto desempenho que são baratos e relativamente fáceis de usar .

Um verdadeiro processador de sinal digital - como uma peça da família C5000 da Texas Instruments ou a família SHARC da Analog Devices - pode ser um dispositivo intimidante. Trabalhei principalmente com DSPs da Texas Instruments e, no geral, a experiência foi produtiva e satisfatória. No entanto, nesse caso, eu não tive que projetar a placa de circuito e não gostei do processo de tentar depurar falhas estranhas do sistema e entender os detalhes do sistema operacional.

Não há dúvida de que certas tarefas de DSP de computação intensiva exigirão um verdadeiro processador de sinal digital ou mesmo um FPGA. Também é verdade, porém, que em várias aplicações, um microcontrolador escolhido corretamente seria suficiente. Este artigo discute as características e recursos nos quais você precisa se concentrar quando quiser garantir que seu MCU terá bastante potência DSP.

8 bits, 16 bits ou 32 bits?


Esse problema é menos direto do que você imagina. Em geral, dispositivos de 16 e 32 bits serão mais apropriados para aplicativos DSP. O processamento digital de sinais envolve procedimentos matemáticos que geralmente levam a grandes números, e você deseja um processador que possa manipular diretamente esses grandes números.

No entanto, o processamento de 8 bits não é inerentemente ruim e, se você sabe que estará lidando com uma faixa limitada de valores digitais, um microcontrolador de 8 bits pode ser uma boa escolha.

Além disso, os engenheiros muitas vezes não têm tempo ou inclinação para estudar os detalhes de baixo nível de um processador e, consequentemente, pode ser difícil estabelecer uma conexão clara entre a largura de bit especificada e a eficiência computacional real. Por exemplo, um “microcontrolador de 32 bits” tem registros de 32 bits? Um ALU de 32 bits? Um barramento de endereço de 32 bits? Uma interface de comunicação de 32 bits? O que exatamente significa “32 bits”? Esses detalhes podem influenciar sua decisão, especialmente se você pretende lidar principalmente com pequenos números que não precisam de todos esses bits extras.




Esta arquitetura modernizada de 8 bits foi desenvolvida pela Silicon Labs (diagrama retirado deste documento). Eles alertam contra a suposição de que um dispositivo de 16 ou 32 bits terá um desempenho superior ao de um dispositivo de 8 bits.

Velocidade do relógio


A frequência máxima de clock de um microcontrolador é certamente um bom indicador de seus méritos como processador de sinal digital. No entanto, é essencial entender a diferença entre ciclos de clock por segundo e instruções por segundo. O processador realiza tarefas DSP executando instruções e, conseqüentemente, seu desempenho é influenciado pela frequência do clock e pelo número de ciclos de clock necessários para executar as instruções.

Infelizmente, esse problema rapidamente se torna bastante complicado. O número de ciclos de clock necessários para uma instrução varia de uma instrução para a próxima, e a média o número de ciclos de clock por instrução pode ser reduzido usando uma arquitetura em pipeline. Então, você deve considerar a quantidade de "funcionalidade por instrução", ou seja, talvez o Microcontrolador A precise de apenas uma instrução para fazer algo que exigiria várias instruções no Microcontrolador B.




Este diagrama transmite o conceito de um processador em pipeline. Consulte este artigo para obter mais informações. Colin M.L. Burnett [CC-BY-SA-3.0].



Aqui está minha recomendação abreviada:se você está comparando dispositivos da mesma família, opte por uma frequência de relógio mais alta. Se você estiver comparando dispositivos com grandes diferenças arquitetônicas, tente encontrar uma especificação confiável que indique a taxa de execução da instrução (expressa como MIPS, milhões de instruções por segundo) ou o número médio de ciclos de clock por instrução.

Ponto Fixo vs. Ponto Flutuante


O termo “ponto flutuante” refere-se a uma representação numérica em que o ponto raiz pode “flutuar” porque o número consiste em uma parte inteira (a mantissa) e um expoente. A alternativa (“ponto fixo”) corresponde à maneira como normalmente lidamos e percebemos os dados em um microcontrolador normal. Uma comparação cuidadosa entre a aritmética de ponto flutuante e a aritmética de ponto fixo não é uma tarefa simples, mas parece haver um consenso de que o processamento de ponto flutuante pode ser superior em aplicações matematicamente intensivas.

Acho que é seguro dizer que todos os microcontroladores são dispositivos de ponto fixo, porque na minha opinião se é realmente um processador de ponto flutuante, não é mais um microcontrolador. No entanto, se você está realmente determinado a maximizar seu desempenho matemático enquanto permanece dentro do domínio do microcontrolador, você deve considerar um dispositivo que inclui um ponto flutuante co processador.

O LPC3180FEL320 da NXP, um microcontrolador baseado em Arm de 16/32 bits, tem um coprocessador de ponto flutuante e pode atingir até 220 MIPS. A STMicroelectronics também possui microcontroladores STM32 que incorporam uma unidade de ponto flutuante (FPU).




Eu usei um pouco de matemática de ponto flutuante em meu projeto de sensor de toque circular. Na maioria dos casos, uma FPU separada é desnecessária - os compiladores são bons na implementação de variáveis ​​de ponto flutuante em microcontroladores típicos.


Recapitulação


Neste artigo, exploramos as características da CPU que tornam um microcontrolador mais ou menos adequado para aplicativos DSP. Acho que na maioria das situações faz sentido se concentrar na largura de bits e MIPS - você não deve precisar se preocupar muito com ponto flutuante versus ponto fixo, a menos que planeje fazer cálculos numéricos sérios com seu MCU. Continuaremos este tópico no próximo artigo, que discutirá os recursos periféricos relacionados ao DSP.

Introdução à série de microcontroladores


Este artigo faz parte de uma série maior. Você pode encontrar o restante dos artigos abaixo:

Tecnologia industrial

  1. Como a IA está potencializando o distanciamento social para a transformação digital dos negócios
  2. Como escolher uma oficina de usinagem CNC confiável para peças CNC
  3. Como escolher a melhor solução de IIoT para fabricação de equipamentos pesados
  4. Como se preparar para a Indústria 4.0
  5. Como escolher o sensor certo para aplicações de enchimento
  6. Como escolher uma válvula proporcional para dispositivos médicos
  7. Como escolher um fornecedor Scan-Pac para seus materiais de fricção
  8. Intel Edison IoT:como escolher o Intel Edison para seu protótipo de IoT
  9. Como escolher a fresa e a programação corretas para CNC?
  10. Como escolher um projeto para automação