Indice

Circuiti digitali con la scheda PSOC

La scheda PSOC (Programmable System on Chip) contiene un microcontrollore e dei componenti analogici e digitali a logica programmabile. Utilizzando l'ambiente di sviluppo PSOC Creator si può disegnare al PC un circuito digitale che realizzi una determinata funzione logica (collegando porte logiche, ingressi, uscite e altri componenti) e in seguito programmare il chip presente sulla scheda per ottenere in hardware un'implementazione del circuito digitale. Questo è possibile perché il chip contiene una serie di blocchi analogici e digitali che possono essere configurati e collegati tra loro in base al progetto creato su PC con PSOC Creator. Il microcontrollore e gli altri dispositivi presenti sul chip permettono di ampliare le possibilità della scheda ma per i nostri scopi sarà sufficiente utilizzare i blocchi digitali più elementari per realizzare funzioni che altrimenti sarebbero complesse da cablare con le sole porte logiche.

Hardware

Le schede che utilizziamo sono il modello CY8CKIT-059 (qui il manuale) e hanno questo aspetto:

La parte sinistra della scheda è separabile e contiene il programmatore e il connettore USB per il collegamento al PC. La scheda si alimenta:

Quando si usano VDD e GND il programmatore non è alimentato ed è bene che la USB sia scollegata.

Per i segnali digitali in ingresso e in uscita useremo i piedini da P0_0 in avanti sul bordo della scheda.

Software

Nel PC è installato PSOC Creator versione 4.4 (scaricabile gratuitamente qui) e il pacchetto CY8CKIT059SetupOnlyPackage_RevSA.exe specifico per il modello CY8CKIT-059 (scaricabile dalla pagina del prodotto). Quando si avvia PSOC Creator compare una finestra che chiede di registrare il prodotto; non è necessario farlo.

Creare un progetto con PSOC Creator

L'ambiente di sviluppo permette di creare progetti e salvarli in un Workspace. Un Workspace permette di raggruppare più progetti e salvarli in una cartella sul disco. Per le attività di laboratorio useremo un unico Workspace che conterrà tutti i nostri progetti.

Per creare un nuovo progetto e, solo la prima volta un nuovo Workspace, usare il tasto Create Project o dal menu la voce File|New|Project. Nella procedura guidata che segue:

A questo punto l'ambiente di sviluppo mostra una finestra bianca dove creare il circuito logico. Questa pagina può sempre essere raggiunta dalla finestra Workspace Explorer (sulla sinistra) facendo doppio click su TopDesign.cysch nel progetto su cui si sta lavorando. Per creare il circuito si selezionano i componenti, raggruppati per categoria nella finestra Component Catalog (sulla destra). Ad esempio si possono inserire ingressi e uscite digitali (da Ports and Pins) e porte logiche (da Digital|Logic) trascinandoli al centro della pagina. Supponiamo di voler creare un semi-sommatore; serviranno:

Con un doppio click sul simbolo è possibile cambiare le proprietà dei componenti piazzati, ad esempio cambiando il nome dei pin o il numero di ingressi di una porta. Per collegare i componenti si usa lo strumento Wire disponibile nella barra degli strumenti posizionata in verticale alla sinistra della finestra centrale (o si preme il tasto W sulla tastiera). Si procede in questo modo1):

Il risultato sarà un circuito logico tipo quello in figura.

circuito logico realizzato con PSOC Creator

A questo punto bisogna abbinare ingressi e uscite presenti nello schema ai piedini della scheda. Questo si fa dalla finestra Pins che si apre facendo doppio click sulla voce corrispondente nella finestra Workspace Explorer (per vederla può essere necessario espandere la vista ad albero del progetto avendo selezionato la la scheda Source). Nella nuova vista si possono abbinare gli ingressi e le uscite indicati nella tabella sulla destra a dei piedini sulla scheda. Per farlo trasciniamo uno alla volta ingressi e uscite sui piedini della scheda, per esempio da P0[0] a P0[3] come mostrato nell'immagine seguente (il quadrato verde significa che l'ingresso/uscita è abbinato a un piedino correttamente).

A questo punto si salva il progetto e si genera il file che serve a programmare la scheda PSoC con la voce Build|Build nomeprogetto dal menu (l'operazione richiede un po' di tempo). Se il processo è andato a buon fine si leggerà Build Succeeded nella finestra dei messaggi in basso (Output).

Per caricare il progetto sulla scheda si procede in questo modo:

Nella finestra dei messaggi ci sarà una conferma se il processo è andato a buon fine.

Per il collaudo si scollega la scheda dal PC e la si alimenta ponendo 5V nel piedino VDD e 0V su GND. Se si usano le schede minilab queste tensioni sono già disponibili sulla breadboard. Oltre a questo è possibile collegare ai piedini di ingresso della scheda i segnali digitali ottenuti coi deviatori e collegare alle uscite i LED della minilab per testare velocemente il corretto comportamento del circuito logico.

Creare un componente

Creiamo un componente da riutilizzare in PSOC creator:

PSOC Component

A questo punto è possibile utilizzare il componente appena creato che sarà disponibile, dalla finestra Component Catalog, nella scheda Default dentro la cartella Components. Ad esempio si possono utilizzare quattro FullAdder per realizzare un circuito logico che somma due numeri da quattro bit. Attenzione però, per il bit meno significativo il riporto della colonna precedente non c'è e va collegato componente Logic Low '0' (non si può lasciare un piedino del componente scollegato).

1)
In questa fase può essere utile zoomare usando la combinazione CTRL-rotella del mouse