A questão real está no final. Mas ler isso sozinho pode não lhe mostrar por que estou confuso. Eu escrevi este post começando com algumas definições, suposições e especulações e depois fazendo a pergunta real.
Eu sempre acho que sei a diferença, mas quando recebo uma pergunta como: "se eu coloco um transceptor com um uC, agora é um SoC?" Fico todo confuso e não sei responder. Lembro-me de uma vez que me disseram que um UC é essencialmente um SoC . Mas que prova eu tenho? Mas o arduino não está em um único chip! Posso retirar o processador Atmeg da "placa" a qualquer momento!
Quando faço check-in online, recebo todo tipo de respostas que confirmam ou contradizem o que acabei de dizer direta ou indiretamente. Isso sempre é confuso para mim e culpo ninguém menos que pessoas de marketing que usam esses termos de maneira vaga e, às vezes, de forma intercambiável, e as pessoas que seguem sua liderança.
Então decidi procurar o significado fundamental desses três termos: uC, SoC e DSP. Porque, por exemplo, quando fico confuso sobre tensões em circuitos, sempre volto aos fundamentos da física, o solo não é realmente zero, é apenas uma "referência" e as tensões não são "absolutas", elas são "parentes". Isso sempre me aponta para a direção certa. Mas não há base para falar quando se fala em uC. "micro" "controller" é um controlador tão pequeno que está na escala de micrômetros. Mas não temos o termo nanocontrolador, temos? Portanto, esse modo de pensar não ajudaria.
O que estou tentando responder é o seguinte:
- uC é uma unidade de processamento com outros periféricos e memória para uso geral, certo?
- SoC é um "sistema" completo em um "chip". Então, qualquer sistema que você coloca em um único chip, é um SoC, certo?
O DSP é uma unidade de processamento para uso específico, principalmente operações matemáticas, certo?
Agora
Isso significa que tudo em um uC deve estar em um chip? porque se sim, então uC é de fato um SoC. Talvez pequeno, mas é. E o arduino? Provavelmente o uC "pode" ser um SoC se estiver em um único chip, mas não precisa (estou usando fortemente o arduino como exemplo aqui).
Portanto, o arduino é um uC, se eu pegar todos os seus componentes e os colocar em outra placa e adicionar XBEE à mistura, por exemplo. Ainda é um uC, certo? Então, quando dizemos que agora é um SoC? Somente quando as mesmas coisas são colocadas em um único chip em vez de coletadas em um tabuleiro?
Até agora, acho que as perguntas acima respondem de alguma forma, mas quero confirmar para poder seguir em frente. Quando tento pensar "fundamentalmente", chip ou placa "podem" ser iguais, são apenas fios conectando os diferentes componentes. e, neste ponto, o que você define um componente? É um único transistor ou um circuito como um ADC? Mas eu não quero ir lá.
A próxima pergunta é sobre o que realmente é este post:
- Um uC é essencialmente um SoC? Um caso especial de um SoC que tem como um de seus requisitos que todo o sistema seja para uso geral.
- O uC é de uso geral (de acordo com a internet) e o DSP é principalmente para processar matematicamente os sinais coletados do mundo real. Mas o DSP ainda é um "processador" e um uC contém um "processador". Posso apenas colocar um DSP com um monte ou periféricos (digamos ADC e DAC, pois esses são geralmente usados com ele) e chamar o mix de uC? ou é um SoC (já que agora o mix não é de uso geral e, portanto, não podemos chamá-lo de uC, mas ainda é um SoC)
AltGr + M
ou ⌘ + M
fazer o truque.