La vera domanda è alla fine. Ma leggerlo da solo potrebbe non mostrarti perché sono confuso. Ho scritto questo post iniziando con alcune definizioni, ipotesi e speculazioni e poi ponendo la vera domanda.
Penso sempre di conoscere la differenza, ma quando ricevo una domanda del tipo: "Se metto un ricetrasmettitore con un uC, ora è un SoC?" Vado tutto confuso e non so come rispondere. Ricordo una volta che mi è stato detto che un uC è essenzialmente un SoC . Ma quale prova ho? Ma Arduino non è su un singolo chip! Posso togliere il processore Atmeg dalla "scheda" in qualsiasi momento!
Quando controllo online ricevo tutti i tipi di risposte che confermano o contraddicono ciò che ho appena detto direttamente o indirettamente. Questo mi confonde sempre e non biasimo altro che le persone di marketing che usano questi termini vagamente e talvolta in modo intercambiabile, e le persone che seguono il loro esempio.
Così ho deciso di cercare il significato fondamentale di questi tre termini: uC, SoC e DSP. Perché per esempio, quando mi confondo sulle tensioni nei circuiti, torno sempre ai fondamenti della fisica, la terra non è proprio zero, è solo un "riferimento" e le tensioni non sono "assolute", sono un "parente". Questo mi indica sempre la giusta direzione. Ma non c'è base su cui parlare quando si parla di uC. Il "micro" "controller" è un controller così piccolo da trovarsi nella scala del micro metro. Ma non abbiamo il termine nanocontrollore, vero? Quindi questo modo di pensare non sarebbe d'aiuto.
Quello a cui sto cercando di rispondere sono i seguenti:
- uC è un'unità di elaborazione con altre periferiche e memoria con essa per uso generale, giusto?
- Il SoC è un "sistema" completo su un "chip". Quindi, qualunque sistema tu abbia messo su un singolo chip, è un SoC, giusto?
DSP è un'unità di elaborazione per uso specifico, principalmente operazioni matematiche, giusto?
Adesso
Significa che tutto in un uC deve essere tutto in un chip? perché se sì, allora uC è in realtà un SoC. Forse piccolo, ma lo è. Che dire di Arduino. Probabilmente uC "può" essere un SoC se si trova su un singolo chip, ma non è necessario (sto usando pesantemente arduino come esempio qui).
Quindi arduino è un uC, se prendo tutti i suoi componenti e li inserisco in un'altra scheda e aggiungo XBEE al mix, ad esempio. È ancora un uC, giusto? Quindi, quando diciamo che ora è un SoC? Solo quando le stesse cose vengono messe in un singolo chip anziché raccolte in una scheda?
Fino ad ora penso che le domande di cui sopra in qualche modo rispondano da sole, ma voglio solo confermare per poter andare avanti. Quando provo a pensare "fondamentalmente", il chip o la scheda "possono" essere gli stessi, sono solo i fili che collegano i diversi componenti. e a questo punto, cosa definisci un componente? È un singolo transistor o un circuito come un ADC? Ma non voglio andarci.
La prossima domanda è di cosa tratta veramente questo post:
- Un uC è essenzialmente un SoC? Un caso speciale di un SoC che ha come requisito che l'intero sistema è per uso generale.
- uC è uno scopo generale (secondo Internet) e DSP è principalmente quello di elaborare matematicamente i segnali raccolti dal mondo reale. Ma DSP è ancora un "processore" e un uC contiene un "processore". Posso semplicemente mettere un DSP con un gruppo o periferiche (diciamo ADC e DAC dal momento che questi sono solitamente usati con esso) e chiamare il mix un uC? o è un SoC (dal momento che il mix non è di uso generale e quindi non possiamo chiamarlo uC ma è ancora un SoC)
AltGr + M
o ⌘ + M
dovresti fare il trucco.