Il primo approccio fu rivolto a un sistema a matrice semplice e sicuramente economico se usato in abbinamento a un microprocessore, inadatto se usato da solo con clock proprio.
Dico inadatto perché, sebbene in apparenza il sistema provato da noi che siamo più tecnici che musicisti sembrasse ottimo sia come stabilità della tensione generata dal D.A.C. sia come segnale digitale assente da rimbalzi.
Si dimostrò tragico quando il nostro amico musicista nell'intento di fornirci un virtuosismo di tecnica musicale e di musica elettronica, ci dimostrò senza il minimo dubbio che la tastiera, sebbene ottima dal punto di vista della stabilità della tensione di controllo e della silenziosità non era in grado di individuare esattamente la nota, in quanto eseguendo un trillo ad una certa velocità spesso si generava uno dei semitoni adiacenti.
Per verificare che ciò fosse vero e non una fisima del musicista, utilizzammo un relè azionato da un oscillatore per simulare la velocità di esecuzione. In effetti, a una certa velocità la tastiera sbagliava a individuare la nota.
Decidemmo quindi di abbandonare la strada della matrice cercando di utilizzare dei chip dedicati allo scopo, i quali sebbene fossero un buon compromesso tra qualità e prezzo non permettevano un facile utilizzo con l'interfacciamento di microprocessori esterni: inoltre presentavano la stessa difficoltà costruttiva della matrice della tastiera, costituite da barre diverse, oltre al fatto che la massima estensione della tastiera è di 61 tasti.
Pertanto la strada che decidemmo di intraprendere fu quella della multiplexazione dei tasti.
MUX interfaccia tastiera
principio di funzionamento
Trattandosi di un circuito digitale è necessario un oscillatore principale (clock) che generi gli impulsi dai quali deriveranno i bit che serviranno a creare il byte riguardante la posizione del tasto premuto.
L'oscillatore in questione è costituito attorno alle due porte Nand N3, N4
Il segnale proveniente da quest’oscillatore è inviato per mezzo di S1 a un contatore binario a 7 stadi che provvederà ad attenuare i sette segnali di frequenza sottomultipla del clock dai quali otterremo i sette bit che individueranno la posizione del tasto premuto (7 bit daranno 128 combinazioni quindi è possibile costruire una tastiera di 128 tasti).
I sette segnali ottenuti sono inviati ciascuno in un ingresso di una porta OR-esclusivo.
La porta lasciata libera è collegata o al positivo di alimentazione oppure alla massa tramite S2.
Questa differenza di stato logico permetterà di invertire l'ordine in cui si trovano i bit prelevati dal contatore binario, permettendo di invertire l'ordine della scansione della tastiera; a seconda di come avviene la scansione, la priorità della nota premuta sarà la prima posta sulla destra della tastiera, oppure la prima posta sulla sinistra.
Affinché ci possa essere questo tipo di diversificazione di priorità è necessario che ci sia un Flip-Flop set/reset come appunto quello costruito con le porte Nand N1, N2.
Quando un tasto è premuto il segnale setterà il punto S di N1 portando l'uscita Q a livello logico 1; affinché si possa diversificare il segnale memorizzato dalla prima scansione è necessario che prima che ne inizi una nuova, il Flip-Flop sia resettato.
Come si vede dal grafico seguente, il segnale di reset ricavato dalla condizione 0000000 dei bit relativo alla scansione della tastiera. la locazione 0000000 è usata come fine scansione, il primo tasto della tastiera non sarà collegato.
Ogni qualvolta il Flip-Flop si azzera, l'uscita Q di N1 torna a livello logico 0, il che permette di ottenere una serie d’impulsi che applicati al CP della prima metà del 4013, utilizzato come divisore per due, generano due impulsi alternati Q Q invertito ,atti a memorizzare il byte relativo a due scansioni successive in due celle di memoria che verranno di volta in volta comparate.
Solo quando due scansioni successive contengono lo stesso dato, il segnale di uguale (T) uscente dai comparatori memorizza il byte del tasto premuto nelle celle di memoria collegate direttamente al DAC (convertitore digitale analogico) evitando la possibilità di errore di localizzazione del tasto.
Il segnale di Gate (rimane a livello logico 1, finché c'è un tasto premuto) è ricavato utilizzando la seconda metà del 4013 rimasto disponibile.
Il segnale ritardato Q (P) in uscita da N1 è usato come segnale di dato, quello di fine scansione (R) utilizzato come clock quello di uguale (T), ricavato dai comparatori, d’individuazione del tasto, è utilizzato per resettare il 4013 nel caso si prema un altro tasto.
Il segnale Q usato come gate, è inviato al connettore per il sequencer insieme al byte relativo al tasto del DAC, che fornisce una tensione di controllo con rapporto 1/V ottava.
Il segnale di gate è bufferato e disaccoppiato in modo da poter essere adottato a qualsiasi tipo di sintetizzatore in commercio.
I segnali provenienti dagli OR-ex sono utilizzati per la scansione del multiplexer della tastiera.
Questo tipo di differenziazione tornerà molto utile quando si suonerà il sintetizzatore monofonico contemporaneamente al polifonico, utilizzando la medesima tastiera.
E', F', G' sono utilizzati per abilitare sequenzialmente i multiplexer della tastiera, mentre A', B', C' e D' abilitano uno alla volta, sequenzialmente, ciascun multiplexer che controlla un gruppo di 16 tasti.
Quando è premuto un tasto, sulla barra di contatto, normalmente mantenuta a livello logico 1 mediante un resistore collegato al positivo di alimentazione, appare uh impulso negativo, che bufferato e invertito da un transistore abilita il flip-flop costituito da N1,N2; questo flip-flop, si setta solo quando incontra il primo tasto della scansione, sia che questa avvenga da destra, sia che appaia invertita, da sinistra.
Il segnale proveniente dalla barra di contatto, invertito e bufferato, è accessibile insieme ai sette segnali A', B', C', D', E', F' sul cavetto di uscita per l'interfacciamento con il bus dati di un qualsiasi microprocessore commerciale. A tale scopo i segnali sono già bufferati mediante un 74LS373 e mantenuti normalmente in 3-state da una rete resistiva.
Un ulteriore connettore presente sulla scheda di interfaccia e contenente i segnali A', B', C', D', E', F',G', il segnale (Z) del tasto ed il segnale (D) di divisione tastiera permetterà il rapido collegamento della tastiera con la nostra scheda di gestione polifonica.
Il segnale (D) di divisione della tastiera è ottenuto mediante un OR tra i segnali, maggiore-uguale-minore, in uscita da un'altra serie di comparatori posti sulla scheda di interfaccia.
divisione tastiera per sintetizzatore polifonico
Per dividere in due parti la tastiera, è sufficiente premere il tasto dal quale si vuole far iniziare la divisione della tastiera, e premere il pulsante di memorizzazione della divisione.
Riccardo Monti