Nutstation

Nutstation è il software per programmare i Nutchip. I nutchip utilizzano particolari tabelle della verità dette macchine a stati al posto di un linguaggio di programmazione.
Il software è gratuito, andate qui per il
download.

nutscape-editor.gif (2459 byte)

Per scrivere la tavola della verità utilizziamo Nutstation, un editor specifico che gira sul PC. Le funzioni svolte di volta in volta dal NUTCHIP sono dettate dalla tavola della verità  caricata al suo interno. Possiamo aggiungere commenti e spiegazioni ad ogni riga, ed anche inserire uno o più temporizzatori da 1 millesimo di secondo fino a 1000 ore. Nutstation mostra la tavola sullo schermo, e ci aiuta ad inserire i vari bit ordinatamente, uno dopo l'altro. 
Nutstation controlla i dati inseriti in tempo reale, e sottolinea automaticamente le caselle incomplete o errate.

Nutstation gestisce anche i codici del telecomando che vogliamo utilizzare. I codici dei telecomandi TV ed RF più diffusi sono già inseriti, ma li possiamo variare a nostro piacimento per adattarli al telecomando che usiamo. E se non conosciamo quale codice trasmette il nostro telecomando? Niente paura: Nutstation dispone anche una funzione di autoapprendimento che legge il codice direttamente dal Nutchip.

Per programmare un Nutchip non servono apparecchi complicati, ma un semplice PC con Nutstation. Un cavo seriale e due transistor bastano per realizzare l'interfaccia fra il PC ed il chip. Ogni  Nutchip si riprogramma migliaia di volte: un solo Nutchip perciò si usa e si riusa per mille esperienze sempre diverse.
Quando siamo pronti per programmare, colleghiamo il circuito alla porta seriale del PC e premiamo l'apposito pulsante dalla pagina di programmazione di Nutstation.
La programmazione impiega pochi secondi e si può fare anche con il chip già saldato nel circuito finale: sperimentazione, messa a punto, aggiornamenti e modifiche non sono un problema con i Nutchip.

 

Schermate del programma Nutstation

 

La tavola di un Nutchip

Come accade per moltissimi integrati digitali, anche per i Nutchip lo stato determina le uscite: i Nutchips sono integrati a stati. I Nutchips hanno quattro uscite: le uscite cambiano solo se anche lo stato cambia, per cui accanto ad ogni stato indicheremo anche la rispettiva combinazione di uscite. Per ogni stato, c'è la massima libertà nello stabilire quali uscite debbano essere a 0 e quali a 1.

Ecco qui una tipica tabella di un Nutchip:

 

nut_table.gif (3274 byte)

 

Tipica tavola della verità di un Nutchip;  st00 è un'abbreviazione per 'stato 00', etc.
Si tratta di un timer per luci da giardino, luci azionabile da un interruttore o da telecomando.

Trascuriamo per il momento la colonna remote (che vedremo più avanti), e notiamo che abbiamo messo in evidenza le uscite utilizzando un'apposita colonna output1...4. E' in queste caselle che si mettono i valori che devono assumere le quattro uscite del Nutchip, stato per stato. Gli stati possono avere anche più di una condizione di ingresso (è il caso dello stato 0 del nostro esempio, che ne conta due), ma sempre e solo una combinazione di uscite. Le uscite non devono necessariamente cambiare fra uno stato e l'altro: nella tabella del nostro esempio l'uscita 1  va a zero nello stato 0,  e va a 1 negli stati 2 e 3. Le uscite 2, 3 e 4 invece non cambiano mai.

Rispetto alle tavole viste in precedenza, con i Nutchip possiamo anche inserire un trattino '-' quando non ci interessa specificare il valore di un ingresso. Il trattino '-' equivale alla X (don't care) che compare talvolta nella descrizione degli integrati commerciali. Un ingresso con il trattino è come che non esistesse e viene ignorato durante la valutazione della condizione.

La colonna remote si riferisce al telecomando:  è un ingresso a tutti gli effetti, che invece di '0' o '1' può assumere i valori key1, key2, key3, key4, key5 e key6 corrispondenti ai 6 tasti del telecomando. Inserendo i trattini '---' il telecomando viene ignorato.

I Nutchip contengono anche un preciso temporizzatore: per utilizzarlo lo inseriamo nella tavola sotto forma di timeout. Il timeout è una condizione che si verifica quando è passato il tempo caricato nel temporizzatore. Lo stato st01 del nostro esempio è un timeout che si verifica dopo un minuto.

 

Come si legge la tavola

Gli stati sono separati da una linea orizzontale, quindi questa tavola conta tre stati: st00, st01, st02.
Ogni riga della tabella contiene una condizione. Quindi nel nostro caso lo stato st00 ha 2 condizioni, mentre st01 e st02 contengono una sola condizione.
All'inizio ci si trova nello stato st00. Le uscite cambiano in base allo stato. Si analizzano le sole condizioni dello stato in cui ci si trova: se una condizione si verifica*, ci si porta sullo stato indicato nell'ultima colonna (next).

Nota: (*)Può capitare che due o più condizioni si avverino nello stesso momento: in tal caso si passa allo stato indicato da quella che viene per prima sulla tavola.

 

nut_table_1.gif (639 byte) nut_table_2.gif (829 byte) nut_table_3.gif (743 byte) nut_table_4.gif (650 byte) nut_table_5.gif (689 byte)
bullet

La prima colonna riporta il numero dello stato, esempio st00, st01, st02, st03, st04, etc.
Si parte sempre da zero.

 

bulletSubito dopo lo stato c'è il valore assunto dalle uscite OUT1, OUT2, OUT3 e OUT4 quando ci  si trova in quello stato.
Per ogni stato si inserisce una sola combinazione di valori.

 

bulletLa terza colonna, assieme alla successiva, forma la condizione che si deve verificare per effetuare un cambiamento di stato.
Qui si specifica il valore necessario sugli ingressi IN1, IN2, IN3 e IN4 perché la condizione sia soddisfatta.
Ogni ingresso può essere a '0' (massa), '1' (positivo) o '-' (indifferente, l'ingresso viene ignorato)
Per ogni stato si possono inserire tutte le condizioni che si vuole; le condizioni si inseriscono cliccando l'apposito bottone.
bulletIn alternativa può comparire la scritta "timeout", nel qual caso la condizione si verifica allo scadere del tempo indicato, qualunque sia il valore degli ingressi e/o del telecomando.
Si può inserire un solo timeout per ogni stato, cliccando sull'apposito bottone.

 

bulletLa quarta colonna specifica uno dei 6 pulsanti del telecomando. I pulsanti sono indicati come key1 ... key6.
La condizione si verifica quando il pulsante effettivamente premuto corrisponde a quello indicato nella casella.
Questa colonna si può usare anche in combinazione con gli ingressi: altrimenti si impostano gli ingressi IN1...IN4 su "indifferente" ('- - - -')

 

bullet

L'ultima colonna indica lo stato successivo, ovvero lo stato in cui portarsi quando la condizione si verifica.
Se nessuna condizione dovesse essere vera, si rimane nello stato in cui ci si trova.

Ulteriori informazioni si possono trovare sul sito della nutchip

      Elenco revisioni
22-11-2005 Prima emissione