Vivian Marco 3isc AS 2007/08 Categorie di sistemi Digitali A Logica cablata Il comportamento di questi sistemi è legato dalla loro struttura fisica. Se si desidera modificarne il comportamento è necessario modificarne anche la struttura fisica. A programma memorizzato Il comportamento è definito da un programma contenuto al loro interno. Per modificare il comportamento basta sostituire il programma memorizzato con un altro programma che rappresenti il nuovo comportamento che deve avere il sistema. Più sistemi con identica struttura fisica possono comportarsi indiversi modi. Questo permette di ridurre i costi. Tipi di sistema digitale a programma memorizzato: -microcontrollori >10E circuito integrato -Microcomputer dedicati 100E(palmari,cellulari) -Personal computer(1 utente)1000e -Server computer 10.000E(contiene le informazioni raccolte) -mainframe computer(accoglie,elabora o dati di più utenti)100.000e -Supercomputer 1.000.000E(Previsioni meteo) Componenti principali di un sistema digitale a programma memorizzato: Unità centrale di elaborazione (cpu) esegue ed elabora i dati; Unità periferiche : Unità periferiche che svolgono 2 funzioni: 1)memorizzare i dati da elaborare ed i programmi da eseguire 2)Fanno comunicare il sistema con l esterno. 1 Funzione:Memorizzazione ausiliaria;può essere di vari tipi: Ad accesso diretto:permettono di accedere direttamente ad uno spazio di memoria(tempo variabile) Accesso sequenziale:permettono di accedere ad un unità di informazione ma solo dopo che si è acceduti a quelle precedentemente memorizzate. Accesso casuale:il tempo di accesso a qualsiasi dato è sempre lo stesso. 2 Funzione:Interfacce di ingresso ed uscita: Interfacce I/0 svolgono il compito di collegare per mezzo di insiemi di linee di interconnessione elettrica. Ogni interfaccia è composta da un certo numero di porte d ingresso/uscita; Ogni porta è composta da un certo numero di linee ingresso/uscita.
Ciascuna interfaccia dell unità centrale,vieni identificata mediante un numero,chiamato indirizzo della porta. Unità centrale di elaborazione: Struttura Unità Centrale: Vengono usate RAM&ROM(memorie ad acceso casuale)per contenere il programma che è in corso di esecuzione nell unità centrale oltre ai dati che questo programma richiede di elaborare. LA MEMORIA CENTRALE:E una memoria ad accesso casuale. All suo interno è composta da celle di memoria ciascuna delle quali può contenere un codice binario. Le celle hanno tutte la stessa capacità(multipli di 8bit). Ciascuna cella è identificata da un numero che viene detto indirizzo della cella di memoria. IL PROCESSORE:La funzione del processore è di elaborare i dati nella memoria centrale e di eseguire le istruzioni dei programmi contenuti in essa. E composto da P.C/IR/ALU/LOGICA DI DECODIFICA Il registro P.C:Program Counter:Dove è contenuto l indirizzo di memoria della cella che contiene l istruzione da eseguire in codice macchina. Il registro I.R:Istruction Register(IR) svolge il compito di contenere il codice macchina dell istruzione da eseguire con la logica di decodifica. Unità aritmetico logica(alu) è un circuito digitale in grado di eseguire le principali operazioni aritmetiche e logiche sui codici binari.(addizione binaria,sottrazione binaria,moltiplicazione binaria,negazioni(not),prodotti(and) ecc..) La logica di decodifica rappresenta il codice macchina dell istruzione da eseguire. Il processore deve comunicare con tutti gli elementi del bus di sistema,un insieme di linee a interconnessione elettrica a cui è collegato il processore,la memoria centrale e le interfacce I/U. Lo scopo del BUS di sistema è di far comunicare il processore con tutti gli altri moduli del sistema. IL processore è in grado di interpretare solo le istruzioni che appartengono ad un particolare linguaggio:il linguaggio macchina. LINGUAGGIO MACCHINA: Ogni processore usa un diverso linguaggio macchina. Ad ogni istruzione del linguaggio macchina viene associato un codice binario,codice m acchina dell istruzione. E necessario che l istruzione,prima di essere eseguita e salvata sia codificata nel codice makkina. Ciclo di interpretazione dell istruzione(ciclo macchina) l insieme ordinato delle istruzioni memorizzate costituisce il programma. Ciclo di interpretazione dell istruzione. 1 :PC=0 2 :IR=MEM [PC] 3 :PC=PC+1
4 :Istruzione =decodifica [IR] 5 :Esecuzione dell istruzione 6 Torna al 2 passo. La logica di controllo e temporizzazione deve controllare e sincronizzare il funzionamento di tutti gli altri componenti sono solo del processore,anche dell unità centrale. Decodifica = con la logica di decodifica.(da codice macchina dell istruzione a descrizione istruzione) Codifica:non vieni mai fatta dal programmatore. Scrittura:bisogna conoscere il linguaggio. IL LINGUAGGIO SIMBOLICO o assemblativo è l insieme delle regole grammaticali che devono essere rispettate durante la scrittura della descrizione simbolica di ogni istruzione del linguaggio macchina di un processore. L assemblatore è un programma che legge la descrizione simbolica di ogni istruzione del linguaggio macchina e la trasforma nel corrispondente codice macchina. IL disassemblatore è l opposto! Microcontrollore PIC16F84 I microcontrollori differiscono tra loro per alcune caratteristiche ma hanno in comune la struttura interna e il linguaggio macchina. Il microcontrollore è un circuito integrato,cioè racchiude tutti gli elementi si un unita centrale di elaborazione. Piedinatura:Nell'immagine qui sotto è rappresentata la piedinatura del PIC16F84. Come potete vedere il nostro PIC possiede 2 file da 9 piedini ciascuna(totale 18) di collegamento con il resto del sistema digitale. Ovviamente sono presenti due piedini per l'alimentazione: Vss e Vdd. Nel primo piedino deve arrivare una tensione di 5V; nell'altro deve arrivare la massa del circuito. Le linee di I/O prendono due nomi, RA ed RB. Come potete vedere ci sono 4 linee RA che vanno da RA0 a RA3. Le linee RB sono invece 8 e vanno da RB0 a RB7. Le linee RA ed RB hanno una corrispondenza con un registro interno del PIC, più precisamente con i registri PORTA e PORTB, in modo tale che una modifica al registro si ripercuota sulle linee e viceversa. Tutti i pin possono essere configurati singolarmente, via software, sia come entrate che come uscite. Il pin contrassegnato da MCLR è il pin adibito al reset del pic. Quando questo pin è a livello logico
basso il PIC si trova in reset e non può eseguire nessun tipo di operazione. Come molti dispositivi di elettronica digitale anche il PIC ha bisogno di un clock che dia gli impulsi necessari al suo funzionamento. Per il PIC16F84 sono previsti diversi tipi di clock (rete RC, quarzo, oscillatori,...) che vanno collegati in uno solo o tutti e due i pin OSC1/CLKIN e OSC2/CLKOUT. Sul CLKIN deve essere inviato il segnale di clock(sincronizzazione)del sistema; SEGNALE DI CLOCK è un segnale periodico a onda quadra periodo T; Frequenza F=1/T;serve a temporizzare il funzionamento del microcontrollore,il ciclo di istruzioni per eseguire un ciclo di istruzione servono 4 cicli di clock. C.P.I:N DI CICLI DI CLOCK NECESSARI X UN ISTRUZIONE=4 Istruzioni per secondo=1/4t=f/4 (in milioni) STRUTTURA INTERNA:Questo circuito integrato contiene tutti i principali componenti della cpu di un sistema digitale a programma memorizzato. COMPONETI del microcontrollore PIC16F84: -La memoria programmi:è una memoria di tipo digitale ad accesso casuale che contiene i codici macchina delle istruzioni sa eseguire. E una memoria di tipo flash(un tipo di ROM (permante)) perche mantiene il proprio contenuto anche quando viene tolta l alimentazione elettrica. A differenza della Rom può essere riprogrammato,contenuto di ogni cella modificato elettricamente,quindi cambiare il programma da eseguire. E composta da 1024 celle da 16bit_ogni cella contiene 1 istruzione. Dimensione massima del programma:1024 istruzioni. Ogni cella ha un indirizzo binario di 10bit,questa memoria non contiene indipendentemente dal n della cella: 68 celle da 8bit indirizzi delle celle 1 (0C)16 (4F)16 I registri prima di <(0C)16 rappresentano particolari registri del microcontrollore. -Registro P.C:contiene l indirizzo della cella di memoria programma da cui microcontrollore deve leggere il codice dell istruzione da eseguire. Registro I.R(istruction register) dove viene salvato il codice dell istruzione da eseguire Logica di decodifica. Logica di controllo e temporizzazione ha il compito di controllare e di sincronizzare il funzionamento di tutti i componenti dell pic. L unità aritmetico logica:circuito digitale che esegue operazioni aritmetiche o logiche su numeri binari di 8bit 2 ingressi e d1 uscita che viene memorizzata in W(working register che è un registro speciale di indirizzo minore a 0C). -Status register registro specializzato a 8bit il cui contenuto rappresenta lo stato si funzionamento dell microcontrollore.i bit carry contiene il riporto finale di una addizione binaria eseguita dalla A.L.U. 5=RP0 se 1=TRISA/B se 0=PORTA/B 0=C=carrt (r8 o r8neg) 1=DC=Digit carry(r4 o r4-)
Z=zero(sse dest=0). -REG PORTA(:reg a 8bit) in cui bit rappresenta il livello di tensione di una linea ingresso uscita della porta. 7-x 6-x 5-x 4-RA4 ecc -Registro PORTB come PORTA pero tutti i bit contengono un livello. -Registro TRISA/B servono a controllare lo stato delle linee delle porte A e B =output 1=imput. -REG FSR(file shot register):può essere usato per contenere l indirizzo di un amltro registro del microcontrollore. Il linguaggio macchina è legato alla struttura interna di un sistema a programma memorizzato. Quello del pic16f84 ha 35 istruzioni,ogni istruzione contiene un codice macchina,che ha sempre la stessa lunghezza,14 bit. Alcuni hanno in comune anche la forma può essere suddiviso in campi che hanno la stesso significato. Tutte le istruzioni il cui codice macchina ha la stesso formato rappresentano una categoria di istruzioni. Campo:gruppo di bit. Categorie di istruzioni:-ad operando immediato(6)-orientate al byte(18)-orientate al bit(4)-di controllo(7). OPERANDO IMMEDIATO:14 bit 2 campi: da 0/7 K=codice binario a 8 cifre che rappresenta l operando dell operazione da eseguire 13/8 codice operativo rappresenta l operazione che il microcontrollore deve eseguire. Sintassi: NOME K==>[NOME(NOME MNEMONICO) K(costante numerica val maz 255 (8bit))] ORIENTATE AL BYTE:14 bit 3 campi Da 0/6 F(indirizzo cella della memoria dati alla quale si accede), 7 D(Destinazione), da 8/13 codice operativo(rappresenta l operazione da eseguire). D rappresenta la destinazione dove deve salvare il risultato dell operazione. F = contiene un codice binario di 7 cifre che specifica l indirizzo della cella di memoria dato contenente l operando. FILE REGISTER che va da (0C)16<=F>=(4F)16 Sintassi:Nome f,d [f(costante indirizzo),d(0=w;1=f) ORIENTATE AL BIT:permettono di esaminare o modificare il valore si singoli bit delle celle della memoria dati. Formato:0/6 F(indirizzo cella della memoria dati alla quale si accede), 7/9 B(posizione del bit che va esaminato), 10/13 codice operativo(specifica l operazione da eseguire). Nome(nome mnemonico) f(indirizzo cella)b(posizione del bit) DI CONTROLLO:servono a controllare il modo in cui il microcontrollore esegue le altre istruzioni del programma. Formato:0/10 K(0<=[K]2<2048(2^11)rappresenta l indirizzo di una cella della memoria programmi),da 11/13 codice operativo(operazione da eseguire). Sintassi:nome k(costante numerica). es: goto k ; pc=k