68HC11 e Wikipedia:Pagine da cancellare/Conta/2018 dicembre 25: differenze tra le pagine

(Differenze fra le pagine)
Contenuto cancellato Contenuto aggiunto
 
BotCancellazioni (discussione | contributi)
Bot: aggiornamento pagina di servizio giornaliera per i conteggi del 25 dicembre 2018
 
Riga 1:
{{Conteggio cancellazioni}}
Famiglia di [[microcontrollori]] ad 8 bit introdotti da [[Motorola]] a partire dal [[1985]]. Attualmente prodotto da [[Freescale]], la sua [[CPU]], ad architettura [[CISC]], è un’evoluzione del Motorola 6800. Realizzato con la tecnologia High Speed [[CMOS|C-MOS]] (HCMOS), è stato il primo microcontrollore ad incorporare un banco di [[EEPROM]] (dalla versione A8).
{{Conteggio cancellazioni/In corso/Start|15:40, 25 dic 2018 (CET)}}
[[File:68HC11 Block Diagram.jpg|thumb|right|68HC11 Diagramma a Blocchi]]
{{Conteggio cancellazioni/In corso/Voce|i = 1 |voce = Raffaele Durante |turno = |tipo = votazione |data = 2018 dicembre 25 |multipla = |argomenti = biografie, economia |temperatura = 0 }}
La produzione è iniziata con la versione A0 (MC68HC11A0), che poteva funzionare con un [[Clock|clock]] massimo di 2 Mhz. Nel tempo sono state realizzate numerose versioni, con più o meno risorse, in termini di memoria e periferiche. Tutte le versioni attualmente in produzione tollerano una frequenza massima di clock di 3 Mhz (tranne la versione F1, che arriva a 4 Mhz), con un ciclo di bus di 333 ns minimo (250 ns per la versione F1).
{{Conteggio cancellazioni/In corso/Voce|i = 2 |voce = Lista di paesi per veicoli pro capite |turno = |tipo = votazione |data = 2018 dicembre 25 |multipla = |argomenti = trasporti, economia |temperatura = 57 }}
==Caratteristiche generali==
{{Conteggio cancellazioni/In corso/Voce|i = 3 |voce = Via Romea Padana |turno = |tipo = semplificata |data = 2018 dicembre 25 |multipla = |argomenti = Antica Roma |temperatura = 12 }}
 
{{Conteggio cancellazioni/In corso/Stop}}
===CPU===
Il suo [[Instruction set|set di istruzioni]] è compatibile in avanti con il 6800, con l’aggiunta del registro indice Y (le istruzioni che usano il registro Y hanno lo stesso codice operativo ([[opcode]]) del registro X, precedute dal byte 0x18). Dispone di 2 accumulatori ad 8 bit (registri A e B) che possono essere usati insieme come un accumulatore a 16 bit (registro D), due registri indice a 16 bit X e Y, un puntatore allo [[Stack pointer|stack]] (SP), un registro ''condition code'' ad 8 bit (CCR) e il [[program counter]]. Può eseguire moltiplicazioni 8 x 8 bit (A x B), con 16-bit di risultato, divisioni frazionali e intere a 16 bit. Una parte di istruzioni a 16 bit utilizzano i registri A e B come un unico accumulatore a 16 bit (D) per le operazioni di confronto (in più, i registri X e Y possono essere confrontati anche con operandi a 16-bit in memoria), di addizione, di sottrazione e di spostamento, è inoltre possibile sommare l'accumulatore B ai registri indice X o Y. Sono state aggiunte operazioni di ''bit test and jump'', eseguendo una funzione logica AND tra operandi, che modifica il condition code (CCR), ma lascia invariati gli operandi. Le istruzioni di ''Stop'' e ''Wait'' sospendono l'esecuzione del programma, forzando uno stato di basso consumo (''low power-stand by''), in attesa di [[reset]] o [[interrupt]].
===Modi di funzionamento===
Le diverse versioni del 68HC11 hanno un differente numero di porte esterne, etichettate in ordine alfabetico. La versione più comune ha cinque porte, A, B, C, D, ed E, ma alcune hanno un minimo di 3 porte (versione D3). Ogni porta è di 8 bit, tranne D, che è di 6 bit (in alcune varianti del chip, anche D ha 8 bit). Il 68HC11 può essere utilizzato con programma interno e [[RAM]] interna (da 1 a 768 byte) o una memoria esterna fino a 64 kilobyte. Con memoria esterna, B e C sono usate come bus indirizzi e dati. In questo modo, la porta C è multiplata per trasportare sia il byte inferiore del bus indirizzi che i dati. Le porte sono multifunzione, a seconda della modalità impostata. Le modalità configurabili sono 4:
* Single-chip
* Expanded-multiplexed
* Test
* Bootstrap
 
In modalità ''single-chip'' tutte le porte sono utilizzabili come linee di [[I/O]] e le risorse di memoria sono solo quelle interne. Nella modalità ''expanded-multiplexed'' le porte C e D assumono la funzione di bus dati/indirizzi per l’accesso a poco meno di 64 Kb di spazio esterno d’indirizzamento, altre due linee sono dedicate rispettivamente al segnale di R/W (''read/write'') e AS (''address strobe''), quest’ultimo necessario per il multiplexing del bus dati con gli 8 bit più bassi del bus indirizzi, che condividono gli stessi pin. La modalità di ''test'' è utilizzata principalmente per scopo di test durante la produzione. La modalità di ''bootstrap'' è una variante di quella ''single-chip''; al reset si attiva un particolare firmware che consente di caricare e avviare un programma nella Ram interna, tramite l’interfaccia seriale.
===Periferiche===
Le periferiche integrate nel 68HC11 sono:
 
* SCI - ''Serial Communication Interface'' - asincrona, con un [[Baud rate|baud-rate]] impostabile da pochi baud fino a 250000 baud (versione F1).
* [[SPI]] - ''Serial Peripheral Interface'' - sincrona, con una frequenza massima di 2 Mhz (versione F1).
* 16 bit ''System timer'' con 3 canali di ''input capture'', 5 di ''output compare'' e un ''Pulse accumulator'' a 8 bit
* Circuito di ''Real-Time Interrupt''
* Timer di COP (''Computer Operating Properly'') - [[watchdog]]
* [[Convertitore A/D]] a 8 bit e 8 ingressi multiplati
* 512 byte di RAM (768 nella versione E9)
* 512 byte di [[EEPROM]] (assente in alcune versioni)
* 8 Kb di [[ROM]]/[[EPROM]] (20 Kb nella versione E9, assente in alcune versioni)
* 38 linee di [[I/O]] ''general-purpose'', di cui 15 bidirezionali, 11 solo in ingresso e 12 solo in uscita
 
===Interrupts===
Il 68HC11 dispone di 18 vettori di [[interrupt]] e 3 di [[reset]], questi ultimi generabili dal COP ''watchdog'' e dalla condizione di ''slow clock'', oltre che dall'esterno; il reset generato da cause interne, viene forzato anche verso l'esterno.
[[File:Ic-photo-Motorola--MC68HC11A1FN--(68HC11-MCU).png|thumb|right|68HC11 nel package 52pin PLCC]]
===Buffalo===
Dalla versione A8 è presente un [[firmware]] di [http://en.wikipedia.org/wiki/Machine_code_monitor monitor] (o ''bootloader''), chiamato ''Buffalo'' (“''Bit User Fast Friendly Aid to Logical Operation''“ è il [[prompt]] visualizzato al suo avvio), che consente di effettuare il caricamento di programmi in Ram e il [[debug]] on-chip, tramite l’interfaccia seriale asincrona. Le sue caratteristiche sono:
* Caricamento del [[codice eseguibile]] in memoria, da porta SCI, nel formato s-record
* Avvio del codice eseguibile
* Inserimento e rimozione di [[Breakpoint|breakpoints]]
* Ispezione e modifica di aree di memoria e registri interni
* Ispezione di parti di programma tramite un [[disassembler]] incorporato
* Scrittura o modifica di linee di programma, grazie ad un [[assembler]] incorporato.
==Applicazioni==
Il 68HC11 è utilizzato per lettori di codici a barre, telefoni, macchine fotografiche, strumenti musicali, elettrodomestici, scrittori di Key Card, apparecchiature elettromedicali e di misura, robotica amatoriale, automotive e molti altri sistemi embedded. Con un ciclo macchina di 333 nSec (a 3 MHz di clock), è in grado di eseguire mezzo milione di istruzioni al secondo, consumando pochi mA. Non sono poche le applicazioni complesse che ricorrono alla tecnica di [[bank switching]], per aumentare la memoria programma indirizzabile.
 
Il suo progetto si è dimostrato talmente innovativo, da essere ancora prodotto ed utilizzato, dopo più di un quarto di secolo, il che lo colloca tra i microcontrollori più diffusi nel mondo.
 
==Fonti==
*[http://www.68bits.com M68HC11 Reference Manual]
 
==Riferimenti esterni==
 
*[http://www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=01624684498635 Freescale 68HC11 (Legacy) Part Info]
*[http://www.evbplus.com/ Wytec 68HC11 Development Board]
*[http://www.gmvhdl.com/hc11core.html A fully synthesizable VHDL implementation of the HC11 CPU]
*[http://www.dcd.pl/ipcore/90/d68hc11e/ Digital Core Design 68HC11E - HDL IP Core]
*[http://www.dcd.pl/ipcore/89/d68hc11f/ Digital Core Design 68HC11F - HDL IP Core]
*[http://www.dcd.pl/ipcore/88/d68hc11k/ Digital Core Design 68HC11K - HDL IP Core]
*[http://www.aspisys.com/asm11.htm Win/Linux-based freeware cross-assembler]
*[http://www.aspisys.com/f1.htm 4MHz-bus 68HC11F1-based board]
 
{{Portale|informatica|ingegneria}}
 
[[Categoria:Microprocessori]]
 
[[ar:فريسكيل 68HC11]]
[[de:Motorola 68HC11]]
[[en:Freescale 68HC11]]
[[es:Motorola 68HC11]]
[[fr:Freescale 68HC11]]
[[ja:Freescale 68HC11]]
[[th:Freescale 68HC11]]
[[tr:68HC11]]