La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

IL MICROCONTROLLORE ST6 HARDWARE. EVOLUZIONE TECNOLOGICA E MICROPROCESSORI Un singolo chip di silicio contiene centinaia di migliaia o milioni di transistori.

Presentazioni simili


Presentazione sul tema: "IL MICROCONTROLLORE ST6 HARDWARE. EVOLUZIONE TECNOLOGICA E MICROPROCESSORI Un singolo chip di silicio contiene centinaia di migliaia o milioni di transistori."— Transcript della presentazione:

1 IL MICROCONTROLLORE ST6 HARDWARE

2 EVOLUZIONE TECNOLOGICA E MICROPROCESSORI Un singolo chip di silicio contiene centinaia di migliaia o milioni di transistori. In un unico circuito integrato sono realizzate tutte le funzioni tipiche di un sistema a microprocessore realizzato su scheda: –unità centrale –memorie RAM e ROM –porte di ingresso/uscita –timer –convertitore A/D –UART –……..

3 VANTAGGI maggiore flessibilità del sistema per impieghi nei più svariati campi applicativi maggiore efficienza delle istruzioni create apposta per svolgere operazioni specifiche semplificazione nella scrittura dei programmi

4 BLOCCHI FUNZIONALI TIPICI (1) ununità centrale di elaborazione (CPU), che ha lo scopo di eseguire le istruzioni del programma contenuto nella memoria una memoria ROM o EPROM in cui viene memorizzato il programma specifico per una particolare applicazione, con capacità da 1024 a 4096 byte; una memoria RAM in cui vengono memorizzate le variabili e i dati risultanti dallelaborazione del programma

5 BLOCCHI FUNZIONALI TIPICI (2) un certo numero di linee di ingresso e uscita, raggruppate normalmente il gruppi di otto, che costituiscono le porte di I/O e che consentono al microcontrollore di comunicare con il mondo esterno uno o più convertitori analogico/digitali uno o più timer in grado di funzionare sia come temporizzatori che come contatori uninterfaccia seriale (RS232, I 2 BUS o di altro tipo) un generatore di segnale PWM (Pulse Width Modulation)

6 ARCHITETTURA MICRO ST6

7 MODELLI DISPONIBILI dispositivi equipaggiati con EPROM, contraddistinti dalla lettera E (ST62Exx), normalmente utilizzati durante la fase di messa a punto del software, o per la realizzazione di prototipi dispositivi OTP (One Time Programmable), contraddistinti dalla lettera T (62Txx) usati per la realizzazione di piccole serie dispositivi equipaggiati con ROM (nessuna lettera di riconoscimento), usati per grandi serie

8 PIEDINATURA ST6 (1) V DD V SS. Vengono connessi rispettivamente al positivo dellalimentazione e alla massa. La tensione di alimentazione deve essere compresa tra 3 e 6 volt. OSCin e OSCout: sono connessi internamente alloscillatore integrato nel chip. Tra questi due piedini può essere collegato un cristallo di quarzo, un risonatore ceramico o un segnale di clock esterno. RESET: attivo al livello basso, viene usato per inizializzare il microcontrollore e per fare in modo che lesecuzione del programma parta dalla prima istruzione. TEST. Per il normale funzionamento del microcontrollore questo piedino deve essere collegato a V SS.

9 PIEDINATURA ST6 (2) NMI. Ingresso per lInterrupt non mascherabile, sensibile al fronte di discesa (Normalmente collegato a V DD tramite una resistenza di pull-up) TIMER. E il piedino di I/O del timer. PA0 ÷ PA3, PA4 ÷ PA7. Queste 8 linee sono organizzate come una porta di I/O (PORT A). PB0 ÷ PB7. Queste 8 linee sono organizzate come una porta di I/O (PORT B). PC4 ÷ PC7. Queste 4 linee sono organizzate come una porta di I/O (PORT C). Ciascuna linea di una porta può essere configurata, sotto il controllo del software, per funzionare come ingresso o come uscita, secondo varie modalità.

10 PIEDINATURA ST6 (3)

11 ORGANIZZAZIONE DELLA MEMORIA La MCU (MicroController Unit) funziona utilizzando tre spazi di memoria Spazio di programma: fisicamente implementato in una memoria ROM o EPROM. –Contiene le istruzioni che devono essere eseguite, le costanti usate, i vettori (indirizzi) definiti dallutente e un certo numero di locazioni riservate (non utilizzabili dallutente). –Viene indirizzato mediante il registro contatore di programma (Program Counter - PC) a 12 bit. Spazio dei dati: ospita tutti i dati necessari per lelaborazione del programma utente e comprende: –le risorse della RAM –lunità centrale del microcontrollore –i registri dei dispositivi periferici –i dati di sola lettura, come le costanti e le tabelle, che sono memorizzati nella ROM (o EPROM).

12 ORGANIZZAZIONE DELLA MEMORIA (1) ROM dei dati: Tutti i dati di sola lettura vengono ospitati dalla memoria ROM che contiene quindi: –il codice del programma che deve essere eseguito –le costanti e le eventuali tabelle di consultazione richiesti dalla particolare applicazione. Le locazioni di memoria contenute nello spazio dei dati, nelle quali vengono allocate le costanti e le tabelle di consultazione, possono essere pensate come una finestra a 64 bit attraverso cui è possibile accedere ai dati memorizzati nella ROM.

13 ORGANIZZAZIONE DELLA MEMORIA (2) RAM dei dati: comprende –60 byte di RAM –laccumulatore A –I registri per lindirizzamento indiretto X e Y –i registri per lindirizzamento diretto corto V e W –i registri dei dati e i registri di controllo relativi alle porte di I/O –il registro delle opzioni di interruzione –il registro per lindirizzamento dei dati nella ROM.

14 ORGANIZZAZIONE DELLA MEMORIA (3) Spazio dello Stack Lo Stack è costituito da sei registri a 12 bit che vengono utilizzati per memorizzare gli indirizzi di ritorno dalle subroutine normali e da quelle che gestiscono gli eventi connessi alle interruzioni.

15 ARCHITETTURA UNITA CENTRALE

16 NUCLEO E CONTROLLER Il nucleo della CPU ST6 può essere pensato come ununità centrale indipendente che comunica con la memoria, con i dispositivi di ingresso/uscita e con i dispositivi periferici dedicati, integrati nello stesso chip, mediante tre bus interni: quello dei dati, quello degli indirizzi e quello di controllo. il nucleo della CPU è collegato direttamente ai dispositivi periferici dedicati mediante un bus seriale e, indirettamente, per le operazioni connesse alla richiesta di interruzioni, attraverso i registri di controllo. lunità di controllo (Controller) è collegata esternamente ai circuiti delloscillatore e del reset.

17 I REGISTRI DELLA CPU La CPU ST6 possiede sei registri e tre coppie di flag. Accumulatore A: è un registro a otto bit di utilizzo generale. Viene usato in tutte le operazioni logiche e matematiche e nella manipolazione dei dati. Registri per lindirizzamento indiretto X e Y: vengono usati principalmente come puntatori a locazioni di memoria nello spazio dei dati (anche per uso generale) Registri per lindirizzamento diretto corto V e W: vengono usati per memorizzare un byte nel modo di indirizzamento corto (anche per uso generale) Registro contatore di programma PC (Program Counter): è un registro a 12 bit che contiene lindirizzo, nella ROM, dellistruzione successiva a quella in corso di esecuzione.

18 I FLAG DELLA CPU ST6 La CPU dellST6 rende disponibili tre coppie di flag. Ciascuna coppia di flag è associata a uno dei tre modi di funzionamento della CPU: –modo normale –modo Interrupt –modo Interrupt non mascherabile. Ogni coppia di flag è costituita da un flag di zero ( Z ) e da un flag di carry ( C ). –la prima coppia, CN-ZN, viene utilizzata nel modo di funzionamento normale –la seconda coppia, CI-ZI, viene utilizzata nel modo Interrupt –la terza coppia, CNMI-ZNMI, nel modo Interrupt non mascherabile.

19 I FLAG DI CARRY E DI ZERO Il flag di carry C viene posto a 1 se si verifica un riporto (carry) o un prestito (borrow) nel corso dellesecuzione di unoperazione aritmetica; in caso contrario viene posto a 0. Il valore del flag C viene inoltre posto uguale al valore del bit testato nel corso dellesecuzione di unistruzione di test di un singolo bit. Il flag C viene anche utilizzato nelle operazioni di scorrimento e rotazione allinterno dei registri. Il flag di zero Z viene posto a 1 se il risultato dellultima operazione aritmetica o logica è stato zero, in caso contrario viene posto a 0

20 LO STACK DELLA CPU ST6 (1) Lo Stack della CPU dellST6 è implementato come una struttura hardware di tipo LIFO È costituito da sei locazioni di RAM a 12 bit che non appartengono allo spazio dellarea dati della RAM e che formano sei livelli.

21 LO STACK DELLA CPU ST6 (2) Quando si verifica una chiamata a subroutine o una richiesta di interruzione, avviene che: –il contenuto della locazione di ciascun livello viene trasferito nel livello immediatamente superiore –il contenuto del PC viene trasferito nel primo livello. Quando vengono eseguite le istruzioni RET di ritorno da una subroutine o RETI di ritorno da subroutine di gestione di uninterruzione, avviene che: –il contenuto della locazione del primo livello viene trasferito nel PC –il contenuto di ciascuna delle locazioni degli altri livelli viene trasferito nella locazione del livello immediatamente inferiore.

22 LO STACK DELLA CPU ST6 Poiché laccumulatore e gli altri registri allocati nello spazio dei dati non vengono memorizzati nello Stack, la loro gestione deve essere effettuata allinterno delle subroutine che li utilizzano. Nel caso in cui vengano eseguite più di sei chiamate nidificate a subroutine, lo Stack rimane nella posizione più "bassa"; conseguentemente lultimo indirizzo di ritorno viene perduto.

23 A cura di Gianfranco Cametti


Scaricare ppt "IL MICROCONTROLLORE ST6 HARDWARE. EVOLUZIONE TECNOLOGICA E MICROPROCESSORI Un singolo chip di silicio contiene centinaia di migliaia o milioni di transistori."

Presentazioni simili


Annunci Google