Os microcontroladores substituíram os ICs mais simples?


37

Ainda vale a pena aprender, por exemplo, como ajustar um timer 555 com resistores e capacitores, quando você pode escrever um programa de timer para um microcontrolador em uma linguagem de programação legível por humanos?

Ou, em outras palavras, existem problemas de que os CIs são bons para os microcontroladores?


4
@ jes5199 - Não sei bem como essa pergunta merece uma meta tag; você pode comentar sua lógica?
J.Julfer

3
minha ideia era que eu não estava fazendo uma pergunta sobre um problema específico, mas sobre todo o campo. Isso me pareceu uma meta.
user955

Uma placa de circuito com componentes discretos e um chip rotulado como um temporizador 555 é muito mais legível por humanos do que o programa armazenado em um chip.
Kaz

Respostas:


35

Principalmente, os microcontroladores substituíram os ICs discretos. Acho que mesmo se eu pudesse projetar um circuito com um 555, é provável que o mesmo circuito precise ser ajustado em poucas semanas para fazer outra coisa, e um micro preserva essa flexibilidade.

Mas existem algumas exceções.

A lógica discreta ainda é mais rápida que a maioria dos microcontroladores. O atraso de propagação e os tempos de comutação para lógica discreta estão na faixa de 1 a 10 ns. Para combinar isso com um microcontrolador, você deve ser capaz de implementar qualquer lógica necessária em 1 instrução e ter um relógio na faixa de 100 MHz a 1 GHz. Você pode fazer isso, mas talvez não em uma tábua de pão em sua garagem.

Um bom exemplo disso é o decodificador de quadratura HCTL2020. Ele pega duas séries de pulsos e diz para você em que direção o seu motor está girando. É implementado como um chip não programável por uma questão de velocidade.

Outra área interessante em que a lógica digital e os microcontroladores falham é na filtragem de sinais. Se você possui um sinal analógico que deseja filtrar digitalmente, é necessário amostrá-lo de alguma forma. Não importa a rapidez com que você o amostrar, o ruído no sinal que aparece em frequências mais da metade da sua frequência de amostragem será reduzido para frequências mais baixas, onde pode interferir no seu sinal. Você pode resolver esse problema com um filtro passa-baixo, feito de uma tampa e um resistor, antes que a amostragem ocorra. Após a amostragem, você está ferrado. (Obviamente, é frequente o ruído não se sobrepor ao sinal em frequência e, em seguida, um filtro digital funcione muito bem.)


> A lógica discreta ainda é mais rápida que a maioria dos microcontroladores. A menos que você esteja usando um Cypress PSoC3.
Rocketmagnet

3
@Rocketmagnet - O PSoC, como um FPGA, ainda é uma lógica bruta. Não é discreto, com certeza, mas é tão rápido quanto.
23911 Kevin Vermeer

29

Estranhamente, eu apenas tinha uma de nossas fábricas chinesas tentando adicionar um micro a um projeto em que era totalmente exagerado, e eu disse a elas para usarem um 555. Um 555 custa talvez 6 centavos, contra um microcontrolador barato por 60 centavos. Quando você está fabricando produtos em grandes quantidades, essa diferença de custo é importante e você definitivamente deseja saber como usar o IC mais barato. Então, sim, eles são melhores em custar menos. :)


12
Você também pode adicionar confiabilidade a isso. Todo software possui um erro restante após a remoção do último.
Stevenvh

13

Uma área em que a lógica discreta ainda supera os micros é a estabilidade das peças a longo prazo.

Esse micro estará disponível em 10 anos? 20? O IDE e o conjunto de ferramentas ainda o suportam nesse período?

Você pode garantir praticamente que a lógica discreta ainda será lógica discreta no futuro. Micros, nem tanto. Se você estiver projetando um produto que espera ter uma vida útil longa, lógica genérica e o máximo possível, as peças genéricas reduzirão a necessidade de redesenhar o dispositivo quando a disponibilidade das peças mudar.

Além disso, você não é SOL se o fabricante do seu chip estiver em espera. Muitas pessoas fazem lógica genérica compatível, enquanto basicamente não há micro genérico.


11

Muitas vezes, fica mais barato usar circuitos discretos para executar uma tarefa simples. Por exemplo, um LED piscando. O PIC mais barato, um PIC10F200, custa cerca de US $ 0,35 em 5ku, e isso é antes dos custos de programação e levando em consideração o tamanho pequeno (e os problemas associados à fabricação). Por outro lado, um temporizador NE555 pode ser adquirido por cerca de US US $ 0,10 da TI em 5ku, e uma solução completa provavelmente pesaria cerca de US $ 0,20.

Outra coisa a considerar é que os microcontroladores são dispositivos inerentemente digitais. Certamente, a maioria tem ADCs e alguns até DACs, mas ainda funcionam em unidades de tempo discretas e em bits e bytes individuais. Um circuito analógico pode ser ajustado com precisão para fazer o que o projetista precisa, porque, em teoria, o analógico possui uma resolução infinita **. Um circuito digital é limitado pelo seu componente mais lento.

Finalmente, há a questão da oferta. Voltando ao meu primeiro exemplo, o NE555. Isso já existe há mais de 20 anos e provavelmente estará por mais 50 depois disso. É uma parte tão gelatinosa que provavelmente será fabricada para sempre (ou pelo menos até que os elétrons convencionais se tornem obsoletos na eletrônica). Considerando que, um PIC10F pode ser transformado em NRND a qualquer momento. Com um único fornecedor como a Microchip, existe um risco significativo de arruinar um produto.

** Ok, isso não é bem verdade. Na realidade, estamos limitados à resolução de elétrons. 1 ampère = 6,24 × 10 18 elétrons / segundo. Portanto, a melhor resolução de corrente que você pode obter é o atampere, ou 10 ^ -18 amperes, que é cerca de 6 elétrons por segundo. Mas, para os propósitos mais práticos, tudo bem. :)


4
você está confundindo resolução com precisão, um erro frequentemente cometido. Não há sentido em ter> 10 dígitos de resolução se a deriva fizer com que a precisão efetiva seja de apenas dois dígitos. A solução digital pode ter uma precisão mais alta, apesar de ter uma resolução discreta e, portanto, mais limitada .
precisa saber é o seguinte

8

Não se esqueça da lógica programável - CPLDs e FPGAs. Ao substituir a lógica discreta por um CPLD, você não é afetado pela descontinuação de peças e pode obter muito mais desempenho, tamanho reduzido e menor custo. Se você possui um FPGA no sistema, pode implementar um núcleo flexível, que pode ser facilmente atualizado se os requisitos mudarem, e tudo pode ser feito "à prova de futuro".


6

Classificaria o aprendizado de sintonizar um cronômetro 555 como conhecimento "apenas no caso". É o mesmo que as pessoas dizendo: "Eu vivi minha vida inteira sem álgebra, por que a estamos ensinando a crianças?" Se você não sabe usar uma ferramenta, nunca verá um problema ao qual possa ser aplicada.

Quanto a uma resposta específica: atualmente, a lógica digital muito rápida é implementada em FPGAs / ASICs porque seria muito lenta em um microcontrolador / processador (a menos que fosse um processador projetado especificamente como um DSP).


6

No meu projeto atual, estamos usando um chip Marvell ARM9 rodando a 500 MHz com um FPGA para oferecer muitas portas DIO. Ainda assim, existem coisas que são tratadas em lógica discreta. Por exemplo, é necessário um controle de motor de passo para 4 motores de passo controlados individualmente. Há um oscilador para gerar uma frequência com um contador que permitirá a passagem de vários pulsos. O contador é definido no microcontrolador, mas depois opera sem nenhum controle adicional do microcontrolador, dando tempo para que você trabalhe em outras tarefas.

Poderíamos ter optado por mais microcontroladores. Mas um controlador central que trabalha com a lógica discreta tradicional pode ser uma solução poderosa e muito confiável.

Além disso, se você tiver um problema claramente definido, a solução deve ser sempre o mais simples possível, mas não mais simples (aspas ocultas lá ;-)). Se um 555 funciona, por que você não o usaria? A flexibilidade pode ser um argumento como outra pessoa optou, mas pode não ser. Tudo depende do seu problema e da sua interpretação de qual é a solução mais simples.


11
Eu acho que o seu expansor de E / S FPGA seria um ótimo local para a parte "lógica" de um controle de passo.
Chris Stratton

5

Aplicações de comunicação de alta frequência vêm à mente. Embora agora tenhamos 'rádio definido por software', seria muito surpreendente se o processamento de sinal de 100MHz + ainda não tivesse pelo menos alguns estágios analógicos.


4

Muito poucos dos meus projetos recentes de microcontroladores exigiram lógica lógica. Uma exceção foi a implementação de um tipo de redefinição Ctrl-Alt-Del em que pressionar duas teclas específicas em um teclado personalizado por dois segundos faria uma redefinição definitiva do micro. Usei uma porta NOR (usada como uma porta AND com 2 entradas invertidas), uma porta AND e uma 74HC123. Era conveniente poder obter os portões específicos necessários em portões únicos em um pacote SMT, em vez dos 4 portões / pacote nos dias DIP.


4

Eu tive a chance de ser desenvolvedor de software há anos e agora trabalho como engenheiro eletrônico.

Qualquer sistema com complexidade vem com erros e bugs. Tanto os microcontroladores quanto os ICs têm suas vantagens e desvantagens com base em suas áreas de uso.

Para projetos de pequena escala, os CIs são mais rápidos, mais baratos e mais confiáveis ​​que os microcontroladores. Para projetos de grande escala com milhões de entradas, análises e comparações lógicas, com certeza os microcontroladores têm vantagem sobre os CIs.

Todo o software falha em algum momento, mesmo o código sem bugs é propenso a modificações porque ele é salvo em uma ROM, resultando em erros lógicos (por exemplo, vazamentos de memória) que são difíceis de detectar, mas terminam em catástrofes.

Para sistemas à prova de balas, baseados em software, contra falhas em aplicações críticas (como sistemas militares ou sistemas de salvação, como sistemas de controle de trens), conceitos "à prova de falhas" são implementados e desenvolvidos.

Os sistemas à prova de falhas são revertidos para um estado seguro caso ocorra um erro excepcional. Normalmente, dois processadores executam o mesmo código, comparam os resultados de cada instrução e, se forem iguais, a instrução é executada. Caso contrário, o sistema utiliza relés elétricos físicos para reverter para um estado seguro.

Os sistemas baseados em software à prova de falhas são usados ​​nos sistemas de intertravamento de trens e ATPs (proteção automática de trens).

Projetar o mesmo sistema complexo com o Ics é uma grande dor de cabeça para qualquer engenheiro. E é por isso que o software foi projetado desde o primeiro dia!


3

Os ICs podem ser muito específicos do domínio. Estou pensando em um decodificador DTMF. Eu poderia programar um microcontrolador para decodificar as duas frequências, mas é mais fácil, mais rápido e mais barato usar um chip de prateleira.

Eu acho que é importante ter conhecimento suficiente de todas as ferramentas para saber qual ferramenta usar.


Depende, é claro, se você precisa de um microcontrolador no circuito. Recentemente, tive um projeto em que precisava de um decodificador DMTF. Os chips custam cerca de um dólar em quantidade. A diferença de preço entre um PIC24F ou um dsPIC33F equivalente (que também possui um DSP) também foi de cerca de um dólar em quantidade. As rotinas DSP do decodificador DTMF estavam livres do Microchip. Além disso, agora tenho um DSP para outras coisas.
tcrosley

Para sua informação, escrevi um decodificador DTMF bastante bom para um PIC 16C622 há alguns anos, usando apenas o comparador como entrada.
Super23

3

Há uma grande diferença entre projetar algo usando apenas componentes discretos e usar um micro controlador; O software possui bugs. Se a confiabilidade é um aspecto importante, é possível verificar o design de algo feito de componentes discretos. Nem mesmo Knuth ousa afirmar que seu software está livre de erros.

Obviamente, seu design também pode ter erros e eles podem aparecer apenas em casos muito raros, mas serão mais simples de entender e corrigir. É possível que o software falhe de maneiras extremamente obscuras e não óbvias, que você nunca encontrará.


2
Como componentes discretos nesse caso provavelmente significam CIs e não transistores, o que faz você pensar que os CIs estão sem bugs? Software bem escrito acaba com bugs, não porque é software, mas porque resolve requisitos complicados - uma versão com fio também pode ser com erros. Depois de encontrar um bug, é mais barato implantar correções no software do que modificar PCBs, a menos que você tenha alguém para gravar um grande inventário de micros OTP para você. Você pode treinar alguém para conectar um cabo de programador e obedecer às regras de ESD muito mais rapidamente do que treiná-lo para ser bom em retrabalhar PCBs SMT.
Chris Stratton

Os CIs existem em todos os tipos de níveis de complexidade, incluindo microcontroladores. A probabilidade de erros em um CI é proporcional à complexidade do IC. A questão era sobre ICs mais simples, como o timer 555, e acho que a probabilidade cumulativa de um IC e componentes adicionais de ter erros é muito menor do que a probabilidade do microcontrolador substituí-los por erros. Obviamente, se você substituir 1000 componentes por um microcontrolador, as chances provavelmente mudarão, portanto a imagem não será completamente em preto e branco. Mas, para qualquer dispositivo LED piscando ou similar que eu ...
hlovdal

... percebo que essa questão é importante, ainda acredito que componentes discretos têm o potencial de serem mais confiáveis. E para erros de software, eles são não determinísticos. É claro que nada é 100% garantido, mas se você implementar um controlador de semáforo com componentes, poderá verificá-lo e implantá-lo, sabendo que ele continuará trabalhando por X anos até que o desgaste físico torne a unidade com falha e substitua com uma nova unidade bem antes disso. Não há como você estimar que o software funcionará de maneira confiável por qualquer período de tempo.
precisa saber é o seguinte

Software de complexidade comparável a alguns discretos pode, no processador apropriado, ser matematicamente comprovado. A lógica discreta de complexidade comparável a um software mais comum também não pode ser totalmente totalmente segura contra o inimaginado - embora, em ambos os casos, você possa usar complexidade adicional para fornecer algumas garantias de backup, caso o mecanismo principal falhe.
Chris Stratton

3

A resposta é sim!

Você precisa vê-lo como um designer de hardware com orientação para o custo de produção. O 555 é um IC antigo que é considerado muito básico. Se você é um especialista em EE, provavelmente já o viu várias vezes nas aulas de eletrônica digital. A configuração é muito fácil, pois você precisa resolver 2 ou 3 fórmulas para os aplicativos mais comuns. Isso leva pouco tempo (já que você já conhece a peça, como usá-la e a matemática é fácil). O tempo necessário para configurar o desenvolvimento de um MCU de 8 bits e validar o software pode levar de dias a meses, dependendo do ambiente em que você trabalha. Portanto, isso pode manter os custos de engenharia baixos em valores que você nem imagina ser possível. também, possivelmente, encurte o tempo de colocação no mercado.

História verdadeira - eu trabalhava para uma enorme empresa médica. Projetei gabaritos de teste para validação do produto. Os gabaritos eram parte de hardware e parte de software incorporado. O produto que a empresa fabrica interage com partes vulneráveis ​​do corpo, de modo que a quantidade de inspeções pelas quais passamos foi louca. Dessa vez, tive que ajustar o protocolo de comunicação para refletir as mudanças no próprio produto. A mudança foi talvez 10 linhas de código em C e o oscilador de cristal também foi trocado à medida que a taxa de transmissão foi alterada e o que foi originalmente instalado não era 11.0592MHz ... Demorei cerca de duas horas para fazer isso, incluindo documentação. O custo para a empresa foi provavelmente de US $ 300 ou menos com o pedido da Digikey para as novas peças. A validação do gabarito de teste aprimorado levou vários meses (! ) e manteve cerca de 3 ou 4 pessoas ocupadas pelo menos várias vezes ao dia em assuntos relacionados. Quanto isso custa à empresa? Provavelmente ao norte de US $ 10 mil - US $ 15 mil. Esse custo reflete o custo real da pequena alteração no design. Muitas vezes você pode salvá-lo e saber que algumas soluções quase prontas podem economizar uma pequena fortuna.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.