Home
Accesso / Registrazione
 di 

Corso di programmazione per microcontrollori ST626X. Seconda parte

microcontrollori ST626X

Come programmare i microcontrollori ST626X della SGS-Thomson - seconda parte. Nel proseguimento del corso descriveremo dettagliatamente sia il Starter Kit sia il suo utilizzo.

Il programma
Il blocco indicato come “User program ROM” indica la parte del chip atta a contenere il programma. Se, ad esempio, utilizziamo un ST6265 e lo alimentiamo applicando una tensione tra i pin Vdd e Vss potremo verificare con un tester che tutte le linee di I/O rimangono nella condizione ad alta impedenza. Non succede praticamente nulla, ovvero i pin non variano e restano sempre nello stesso stato. Il micro in oggetto dispone sì di una memoria programma ma essa risulta vuota, ovvero non contiene alcun comando che può essere interpretato dalla CPU. Noi abbiamo acquistato la parte hardware che consiste fisicamente nell’integrato siglato ST6265 ma per funzionare è necessario procedere alla sua programmazione.

Da queste affermazioni nasce il concetto di programma software che rappresenta la sequenza dei comandi che la CPU deve processare ed eseguire. Il software viene “scritto” dall’utente in funzione di ciò che si vuole far fare al micro e successivamente trasferito nella memoria programma che può essere di tipo PROM o EPROM. I micro dotati di memoria programma di tipo PROM vengono definiti OTP (One time programmable) ovvero programmabili una sola volta e sono usati per produrre piccole o medie serie di integrati atti a svolgere sempre le stesse funzioni; al contrario, i micro con memoria programma di tipo EPROM, possono essere cancellati e programmati più volte, vengono perciò utilizzati prevalentemente in fase di messa a punto del software. In ogni caso, sia per micro di tipo EPROM che di tipo OTP, per poter lavorare è necessario disporre di un computer e di un appropriato sistema di sviluppo denominato “Starter Kit”. I comandi da impartire alla CPU vengono elaborati e simulati dapprima a computer e in un secondo tempo trasferiti nel chip tramite programmazione.

L’ST626X Starter Kit della SGSThomson, che contiene tutto il necessario per affrontare correttamente la programmazione dei micro, comprende le seguenti parti:

    - un dischetto contenente il software si simulazione, l’assemblatore, il linker, il debugger e diversi esempi applicativi;
    - la scheda di programmazione;
    - un alimentatore da rete;
    - un cavo per il collegamento al computer;
    - due chip ST6260 e altrettanti ST6265 in versione EPROM;
    - tre manuali in inglese (ST6 Software, ST626X datasheet, ST626X Starter Kit).

Nel proseguimento del corso descriveremo dettagliatamente sia questo nuovo Starter Kit sia il suo utilizzo. Per ora limitiamoci a ricordare che ogni diversa famiglia di microcontrollori necessita purtroppo di un proprio sistema di sviluppo.

Schema a blocchi del micro ST6220 e ST6265

Schema della CPU dei micro ST6

Ad esempio l’ST626X Starter Kit programma la sottofamiglia ST626X di microcontrollori SGS-Thomson, mentre l’ST6220 Starter Kit gestisce le sottofamiglie ST621X e ST622X, e così di seguito l’M68HC705KICS Starter Kit programma il micro 705K1 della Motorola, il TMS320C5X Starter Kit programma il TMS320XX della Texas Instruments, ecc. E’ dunque di primaria importanza sapere esattamente qual’è il microcontrollore più adatto alle nostre esigenze e di conseguenza orientarsi sul relativo Starter Kit.

PERCHE’ USARE UN MICRO
A questo punto molti lettori si chiederanno quali sono i vantaggi offerti da un microcontrollore rispetto alla classica logica cablata. Come indicato dalle statistiche, la richiesta di microcontrollori è in costante aumento, anzi per essere più precisi il consumo di questi dispositivi è di tre volte superiore a quello di microprocessori (dispositivi che al contrario dei microcontrollori necessitano per funzionare di ulteriori periferiche esterne, ad esempio memorie o interfacce). Dalla nascita del primo microcontrollore sono trascorsi ben 15 anni e in questo periodo i micro si sono diffusi e vengono utilizzati sempre in maggior quantità e in moltissime applicazioni che spaziano, ad esempio, dal tostapane al forno a microonde, dalla macchina fotografica al cellulare, dal telefax alla segreteria telefonica, ecc. Inoltre, i costruttori di micro prevedono nei prossimi anni un aumento di produzione quasi esponenziale, quindi ora sorge spontanea la domanda: ma perchè tutto questo interesse per i micro?

Per quattro motivi sostanziali. Il primo è che la notevole scala di integrazione raggiunta in questi chip consente di produrre micro sempre più completi, robusti, affidabili e con prestazioni fino a qualche anno fa inimmaginabili. In secondo luogo le ditte costruttrici hanno da poco messo in commercio dei sistemi di sviluppo a basso costo (Starter Kit) che consentono anche alle piccole e medie industrie elettroniche l’utilizzo dei micro senza dovere affrontare grossi investimenti. Il terzo motivo è la riduzione del costo del prodotto finito, ovvero l’impiego di un micro in una applicazione consente una notevole riduzione sia del numero di componenti sia dello spazio necessario con conseguente contenimento del prezzo finale del prodotto. Per ultimo i microcontrollori sono dei componenti caratterizzati da una estrema flessibilità, ovvero mentre in una scheda tradizionale anche la minima modifica ci costringe a riprogettare sia il circuito che il master dello stampato, in una scheda gestita da un micro basterà “riscrivere” il programma software senza apportare alcuna modifica all’hardware della scheda. Ne consegue che anche eventuali aggiornamenti di un dispositivo a micro possono essere effettuati con costi contenuti semplicemente sostituendo o riprogrammando il micro stesso. Questi concetti valgono non solo in campo industriale ma anche nel settore hobbistico; non a caso sono sempre più numerosi i progetti con microcontrollore che vengono presentati sulle riviste di elettronica applicata.

La Famiglia ST6

Dopo avere costatato l’importanza dei microcontrollori non ci rimane che la scelta del modello più adatto alle nostre esigenze. Il mercato dei micro è in notevole espansione e tutte le principali Case di semiconduttori hanno nel proprio catalogo dei microcontrollori, dall’SGS-Thomson alla Texas Instruments, dalla Toshiba all’Hitachi, dalla Microchip alla Motorola. Sapersi districare in questo mercato alla ricerca del micro più appropriato non è facile. Ogni micro nasce con una propria filosofia e presenta rispetto ai concorrenti sia pregi che difetti. Una ditta che prevede l’utilizzo di un micro per produrre migliaia di pezzi deve sicuramente affrontare con cura la scelta del modello più adatto, al contrario una piccola o media industria elettronica dovrebbe basarsi su altri criteri, come ad esempio la semplicità di programmazione, il basso costo del sistema di sviluppo e infine la gamma di modelli disponibili.

Soffermiamoci su quest’ultima affermazione introducendo il concetto di famiglia di microcontrollori, termine con cui si indicano micro diversi che usano lo stesso software di programmazione. Ad esempio, la famiglia ST6 è composta da 3 sottofamiglie che sono: l’ST621X/ST622X, l’ST624X e l’ST626X.

I registri principali presenti all’interno dei microcontrollori della SGS-Thomson

Ad ognuna di queste sottofamiglie appartengono vari modelli di microcontrollore; ad esempio della famiglia ST626X fanno parte i tipi ST6260 e ST6265. Ogni micro indicato è disponibile sia con memoria programma di tipo EPROM che di tipo OTP.

Caratteristiche tecniche dei micro ST6260 e ST6265

Alla famiglia ST6 appartengono quindi svariati microcontrollori che pur diversi l’uno dall’altro condividono lo stesso software. Si deduce che imparando ad utilizzare uno qualsiasi dei micro indicati si può facilmente e rapidamente passare alla programmazione di un altro micro ST6. La famiglia ST6 utilizza una CPU ad 8 bit e consente la realizzazione di numerosi dispositivi elettronici. Per impieghi più complessi è possibile e facile, se già si conosce l’ST6, orientarsi verso la più sofisticata famiglia ST9.

Scheda_programmazione_ST626

Tornando alle motivazioni che ci hanno portato alla scelta dei micro ST6 possiamo affermare che esse sono molteplici. Le principali possono essere individuate nell’ottimo rapporto prezzo/prestazioni, nella semplicità di programmazione, nella vastità di modelli disponibili, nella robustezza dei micro poiché nati per il mercato automotive, nella loro notevole diffusione e infine nella disponibilità di un programmatore di basso costo.

La sottofamiglia ST626X

Nel Corso precedente ci siamo occupati dei quattro modelli base della famiglia ST6 che sono: l’ST6210, l’ST6215, l’ST6220 e l’ST6225; nelle successive puntate di questo Corso tratteremo invece l’ST6260 e l’ST6265. Questi ultimi chip sono fisicamente identici ai precedenti e condividono le stesse istruzioni software poiché appartengono alla stessa famiglia. Chi già lavora con i quattro modelli base può facilmente passare all’utilizzo dei due modelli avanzati, anche sicuramente senza leggere questo corso, in quanto sia la struttura complessiva che le nozioni di base hardware e software sono esattamente le stesse.

In pratica l’ST6260 rappresenta l’evoluzione dell’ST6220 che a sua volta è l’evoluzione dell’ST6210. Allo stesso modo l’ST6265 deriva dall’ST6225 che a sua volta deriva dall’ST6215. Per evitare confusioni facciamo riferimento alla tabella comparativa della famiglia ST6 riportata nell’articolo. Qui possiamo effettuare subito due grosse distinzioni rappresentate dal tipo di contenitore impiegato, l’ST6210, l’ST6220 e l’ST6260 dispongono di package a 20 pin, mentre l’ST6215, l’ST6225 e l’ST6265 hanno un contenitore a 28 piedini. Da ciò deriva la prima differenza cioè il numero di linee di I/O che i micro possono gestire.

La seconda differenza che possiamo riscontrare è la diversa capacità di memoria programma che è di 1828 byte sia per l’ST6210 che per l’ST6215, mentre è di 3876 byte per gli altri tipi. In generale possiamo ricordare la seguente tabella di verità per comprendere subito con quale modello abbiamo a che fare, se trasformiamo in ST62 A B C la sigla di un qualsiasi microcontrollore indicato, possiamo affermare che: la posizione A coincide con il tipo di memoria programma ovvero sarà una E se di tipo EPROM o una T se di tipo OTP, la posizione B indica la sottofamiglia di appartenenza 1 o 2 oppure 6, la posizione C coincide con il contenitore cioè 20 pin se 0, oppure 28 pin se 5.

Ad esempio, un micro siglato ST62E25 è un ST6 in versione EPROM appartenente alla sottofamiglia 2 e in contenitore a 28 pin. Le sottofamiglie 1 e 2 sono, a parità di contenitore, pin-topin compatibili e si differenziano tra loro solo per la capacità di memoria programma. La sottofamiglia 6 (ST6260 e ST6265) non è, a parità di contenitore, pinto- pin compatibile con i quattro modelli precedenti e dispone di maggiori risorse: 64 byte in più di memoria RAM, 128 byte di memoria EEPROM, un timer auto ricaricabile e infine una periferica seriale. Non preoccupiamoci se per ora questi termini possono risultare oscuri o incomprensibili, in questo corso infatti dedicheremo ad ognuno di essi largo spazio.

Caratteristiche tecniche dei microcontrollori ST6260 e ST6265

L’ST6260 e l’ST6265 sono due nuovi microcontrollori 8 bit prodotti in tecnologia HCMOS dalla ditta SGS-Thomson. Essi appartengono alla famiglia ST6 di cui mantengono sia la semplicità di utilizzo che la robustezza. Le caratteristiche principali sono:

    - Tensione di alimentazione compresa tra 3 e 6volt;
    - Frequenza di clock massima di 8 MHz;
    - Possibilità di lavorare con temperature comprese tra -40 e +85 °C;
    - Funzionamento a basso consumo nei modi Wait e Stop;
    - Fino a 5 vettori di interruzione;
    - Possibilità di creare una tabella di “look-up” in ROM;
    - 3884 byte di memoria programma;
    - 128 byte di RAM;
    - 128 byte di EEPROM;
    - Contenitore DIP20 (ST6260) o DIP28 (ST6265);
    - 13 (ST6260) o 21 (ST6265) linee di I/O;
    - 6 (ST6260) o 8 (ST6265) linee di uscita ad alta corrente;
    - timer a 8 bit con prescaler programmabile a 7bit;
    - timer autoricaricabile a 8 bit con prescaler a 7bit;
    - Watchdog digitale;
    - convertitore analogico digitale a 8 bit;
    - periferica seriale a 8 bit;
    - una linea di interruzione esterna non mascherabile;
    - sei livelli di stack.

Il kit è disponibile da Futura Elettronica

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 0 utenti e 16 visitatori collegati.

Ultimi Commenti