Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Dubbio sull'implementazione fisica di quanto programmato

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

1
voti

[1] Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto UtenteGreh » 24 apr 2020, 13:22

Salve a tutti,ho da poco scoperto il mondo dei microcontrollori (solo a livello di programmazione base) e mi è sorto un dubbio per quanto riguarda l'implementazione fisica di quello che ho programmato. Intendo dire che se ad esempio volessi fare un semplice programma che accenda un led, io programmerò un opportuno registro di configurazione per settare ad esempio il pin interessato come output digitale e poi programmerò un registro di dato in modo da scriverci un 1 logico.
Ora il mio dubbio è: come fa fisicamente quell' 1 logico a diventare una tensione fisica in grado di alimentare il led collegato a tale pin? Cioè internamente al micro c'è già un circuito apposta che in funzione di tale valore logico permette al microprocessore di alimentare in qualche modo quel pin ?
Insomma in generale non ho compreso il legame tra il "mondo digitale" fatto di 0 e 1, e la reale implementazione nel mondo fisico dell' hardware che ci sta sotto.

Mi rendo conto che la mia domanda è molto contorta, ma sinceramente trovo anche difficile spiegare questo mio dubbio.
Grazie in anticipo a tutti quelli che mi risponderanno :D .
Avatar utente
Foto UtenteGreh
100 1 4
New entry
New entry
 
Messaggi: 63
Iscritto il: 31 ott 2018, 14:44

1
voti

[2] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto Utentelacoontfreed » 24 apr 2020, 13:46

0 e 1 corrispondono a un valore logico di tensione, semplicemente, se non c'è tensione si parla di zero logico, altrimenti di 1. Se misuri la tensione del pin puoi avere 0V,3V,5V etc. Valori che dipendono dalla tensione di funzionamento del micro. Quando programmi un pin a 1, micro porta la tensione in uscita, p.e. a ~3V
Avatar utente
Foto Utentelacoontfreed
40 1 1 2
 
Messaggi: 40
Iscritto il: 3 nov 2019, 8:20

0
voti

[3] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto UtenteGreh » 24 apr 2020, 14:06

Grazie mille della risposta :) Foto Utentelacoontfreed. Quindi questo significa che è già stato programmato un circuito elettronico che se ho 0 non permette al micro di portare la tensione su quel pin, mentre invece se ho un 1 la porta? E questo in generale vale per qualsiasi pin e per qualsiasi altra funzione del micro(anche rispetto ai periferici ad esempio)?

perché mi è chiaro che in base al valore logico che scrivo durante la programmazione ho tensione (se è 1) o non ce l'ho (se è 0),ma non mi è chiaro come fisicamente il micro poi possa portare questa tensione.

Inoltre questa tensione deriva tutta da quella che alimenta il micro(PC se è collegato via USB o batteria)?Se sì, significa che avrò un limite per la corrente massima erogabile (nel caso esempio avessi vari led) vero?
Avatar utente
Foto UtenteGreh
100 1 4
New entry
New entry
 
Messaggi: 63
Iscritto il: 31 ott 2018, 14:44

3
voti

[4] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto Utentelacoontfreed » 24 apr 2020, 16:38

come funziona una porta
Nella prima foto, vedi il I/O pin. Poi Vdd e Vss collegati al pin tramite due FET, se scrivi 1, allora il FET P è "attivo" e N no, avrai in uscita Vdd che dovrebbe essere 3/5V, se scrivi 0 avrai N "attivo " e P no, cosi in uscita avrai Vss che di solito dovrebbe essere 0
Avatar utente
Foto Utentelacoontfreed
40 1 1 2
 
Messaggi: 40
Iscritto il: 3 nov 2019, 8:20

0
voti

[5] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto UtenteGreh » 24 apr 2020, 22:48

Grazie ho capito :)
Avatar utente
Foto UtenteGreh
100 1 4
New entry
New entry
 
Messaggi: 63
Iscritto il: 31 ott 2018, 14:44

2
voti

[6] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto Utentemarioursino » 24 apr 2020, 23:54

Beh non è affatto così semplice.

Un microcontrollore contiene un processore corredato di varie periferiche. La chiamata ad una funzione di set di un pin viene tradotta dal compilatore in linguaggio macchina, che poi è caricato in una memoria interna non volatile (già qui c'è un mondo su come è fissata l'informazione).

Il processore e le periferiche sono descritte in un linguaggio di HDL (VHDL o Verilog di solito), e sono in pratica milioni di porte logiche sincronizzate da un clock (detta molto male).

All'avvio il processore elabora un'istruzione dopo l'altra, e quando arriva il set di un pin viene caricato un registro con un certo valore. La periferica che governa i pin finisce con uno stadio push-pull che è collegato in modo da accendere il pin corrispondente a quello che dice il registro.

Questa informazione è compressa di un fattore 10000 direi
Avatar utente
Foto Utentemarioursino
4.492 3 9 13
G.Master EY
G.Master EY
 
Messaggi: 1452
Iscritto il: 5 dic 2009, 4:32

2
voti

[7] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto UtenteIlGuru » 25 apr 2020, 9:30

Greh ha scritto:Insomma in generale non ho compreso il legame tra il "mondo digitale" fatto di 0 e 1, e la reale implementazione nel mondo fisico dell' hardware che ci sta sotto.


Quando leggo queste domande mi commuovo.
Sono questi gli interrogativi che permettono di capire come funzionano le cose e di arrivare ad una comprensione profonda dell'argomento.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.434 1 10 13
Master
Master
 
Messaggi: 1530
Iscritto il: 31 lug 2015, 23:32

0
voti

[8] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto Utentelacoontfreed » 25 apr 2020, 10:00

marioursino ha scritto:Beh non è affatto così semplice.


In relazione alla domanda posta da Greh, può essere ancora più semplice se prendessimo come esempio il più primitivo dei micro controllori, cioè l'interruttore.
L'interruttore aperto = 0 -> Luce spenta
L'interruttore chiuso = 1 -> Luce accesa
Avatar utente
Foto Utentelacoontfreed
40 1 1 2
 
Messaggi: 40
Iscritto il: 3 nov 2019, 8:20

0
voti

[9] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto Utentemarioursino » 25 apr 2020, 10:24

L'interruttore non è un micro controllore, quest'ultimo ha una definizione ben precisa. Forse non è nemmeno accostabile ad una porta logica.
Avatar utente
Foto Utentemarioursino
4.492 3 9 13
G.Master EY
G.Master EY
 
Messaggi: 1452
Iscritto il: 5 dic 2009, 4:32

0
voti

[10] Re: Dubbio sull'implementazione fisica di quanto programmato

Messaggioda Foto UtenteGreh » 25 apr 2020, 12:00

Grazie per il tuo intervento Foto Utentemarioursino :D, sei riuscito a chiarirmi di più le idee.
Purtroppo questi sono dubbi che difficilmente riesci a togliere soltanto con la teoria, penso che il modo migliore per comprenderli fino in fondo sia quello di capire bene l'hardware che ci sta sotto(fatto da milioni di porte logiche). Questo problema è dovuto al fatto che si va ad usare un circuito creato da un altro, senza sapere come è stato implementato.
Grazie ancora O_/
Avatar utente
Foto UtenteGreh
100 1 4
New entry
New entry
 
Messaggi: 63
Iscritto il: 31 ott 2018, 14:44

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti