Home
Accesso / Registrazione
 di 

Il set di istruzioni della famiglia ISD33000

Il set di istruzioni della famiglia ISD33000

Sappiamo che i nuovi chip ISD sono predisposti per essere comandati serialmente, attraverso il piedino 2 che costituisce il canale entrante della linea seriale. I comandi, o istruzioni, sono composti sempre da 16 bit, e scanditi da due transizioni logiche al piedino 1. Dei 16 bit, arrivano per primi i 10 che costituiscono gli indirizzi di memoria (A0÷A9); questi non servono sempre e non sempre vanno specificati.

Segue un bit, non gestito nei chip della serie ISD33000 e lasciato dal costruttore probabilmente per aggiungere un indirizzo (nel caso dovessero nascere integrati più capienti) senza modificare la struttura delle istruzioni nelle serie future. Dal 12° al 16° i bit costituiscono i comandi veri e propri: ciascuno di questi 5 bit determina, a seconda che valga 0 o 1 logico, una certa condizione di funzionamento limitatamente alla propria funzione. Va notato che con questi bit di comando si controllano 5 funzioni e non 2 alla 5^ come sarebbe logico, trattandosi di bit binari: ogni bit ha infatti una posizione ed un’azione legate ad una sola funzione.

Per la precisione, il primo bit (12° dell’istruzione) attiva ad 1 e disattiva a 0 la funzione di ricerca dei messaggi; il secondo fa partire registrazione o lettura ignorando lo stato dei primi 10 bit di indirizzo ad 1 logico, e considerandoli se posto a 0 logico; il terzo, a livello 1 determina l’attivazione del chip, mentre a 0 lo mette in standby o lo tiene in questo stato se già vi si trova; il quarto determina la condizione di funzionamento dell’integrato, che registra a 0 logico e legge se questo bit è a livello alto; l’ultimo bit (RUN) determina l’avvio delle fasi del chip a livello alto, o l’arresto se viene messo a livello basso.

Tutto chiaro? Dei comandi va detto che vanno dati secondo un certo ordine e in una certa forma: ad esempio, non esistendo un comando di riproduzione occorre dare più istruzioni per comporlo; se ciò vi sembra una inutile difficoltà pensate che questa struttura permette di differenziare lo stesso comando, ottenendo più funzioni di quelle ottenibili con comandi ad unica istruzione, oltretutto utilizzando un solo piedino!

In ogni caso ricordate che dopo aver alimentato l’integrato, per fargli eseguire qualunque funzione occorre prima toglierlo dalla condizione di standby; allo scopo occorre un’istruzione solo per accenderlo, istruzione che si può dare senza specificare alcun indirizzo e mettendo a livello alto, dei 5 bit di comando, solo il 3° (Power-UP). L’integrato è pronto ad eseguire altre istruzioni dopo circa 25 msec. Per registrare occorre quindi dare due istruzioni una dopo l’altra: la prima, specificando l’indirizzo 0000000000 in memoria, avente a livello 1 il terzo e l’ultimo bit di comando. Il significato della linea di comando è quindi il seguente: MC disattivato, indirizzi considerati, chip acceso, registrazione attiva, RUN attivo.

La seconda istruzione non richiede la specificazione di alcun indirizzo perché ordina al chip di registrare dalla locazione di memoria successivamente disponibile (quindi dalla 2^) ed ha i 5 bit di comando così disposti: 01101. In pratica il comando contiene i seguenti ordini: MC disattivato, indirizzi ignorati, chip acceso, registrazione attiva, RUN attivo. Per arrestare la registrazione (lo stesso vale per la lettura) occorre dare un’istruzione con il quinto bit di comando a 0 logico: ad esempio va bene la forma XX1X0; in pratica non contano i livelli dell’MC e dell’IAB (Ignore Address Bus, la funzione che permette di considerare o ignorare gli indirizzi di memoria) e tantomeno quello del play/rec.

Gli indirizzi qui non hanno alcun senso. Notate che è disattivato il RUN ma resta a livello alto il powerup quindi l’integrato resta acceso. Se si vuole arrestare l’operazione in corso (play o registrazione) mettendo in standby l’integrato occorre che anche il 3° bit di comando sia a 0. Infine, per la lettura vale il solito discorso: se il chip è in standby si deve dare l’istruzione di power-up senza indirizzi (00100) quindi, trascorsi i 25 ms, si dà l’istruzione, con gli indirizzi della prima locazione di memoria (tutti 0) 00111, che differisce da quella di registrazione perché il 4° bit ha livello 1 e non 0; tale istruzione (PLAYPWR) dice al chip di leggere nella locazione di memoria specificata. Successivamente si dà l’altra istruzione, senza specificare alcun indirizzo: 01111 (anche in questo caso il 4° bit è ad 1); questa istruzione (PLAYDD) dice al chip di leggere dalla locazione successiva a quella appena indirizzata.

Il primo dei bit di comando (MC) posto a livello alto attiva la funzione di ricerca veloce dei messaggi: in pratica permette di ascoltare l’intero contenuto della memoria di un ISD33000 ripartito in più messaggi senza considerare gli EOM (fine-messaggio) che diversamente forzerebbero l’arresto del chip al termine di ciascun messaggio. Con il primo bit di comando a livello alto non viene attivata l’uscita /INT. Comunque, nel nostro caso, questa funzione non viene utilizzata.

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 7 utenti e 46 visitatori collegati.

Ultimi Commenti