conversione digitale analogica?

Salve a tutti,

vi posto un problema questa volta più squisitamente elettronico. Ho un software che fa comparire com una certa sequenza random delle immagini sullo schermo. Contemporaneamente all'immagine apparsa, invia una sequenza di 5 bit su altrettanti pin della porta parallela, per un totale di 32 differenti numeri o port code. In nostro elettroencefalografo da

50000 euro, si è dimenticato di imparare a leggere dalla porta parallela (come fanno altri apparati computerizzati simili al nostro). La lettura di quel numero binario serve perché una label convenzionalmente associata all'eento apparso a monitor, venga inviata sul tracciato eeg nel momento stesso in cui il soggetto ha visto lo stimolo (un trigger, insomma).

La ditta dell'apparecchio ci ha detto che c'è un'altra strada: le boccole a cui si connettono gli elettrodi che vanno a finire in testa, sono anche programmabili come generatori di trigger. Tu entri in un pannello e dici che quando alla boccola 1 (numero a caso) giunge una tensione (rispetto alla massa) di 100 uV, allora sul tracciato deve apparire la stringa immagine1. In questo modo quando a monitor appare l'immagine img1.jpg, posso fare in modo che sulla parallela compaia il numero 00001. Il problema è che affinché sul tracciato appaia la label immagine1 io devo programmare un canale di amplificazione specificando una soglia di tensione superata la quale la label appare.

Come posso risolvere il problema? Io pensavo ad un convertitore digitale-analogico, ma non so come gestire più boccole contemporaneamente. Mi spiego: se programmo la boccola 1 per scrivere sul tracciato immagine1 quando entra una tensione maggiore di 100 uV (associata ad un dato numero binario a 5 cifre) non posso poi utilizzare la stessa boccola per l'immagine2 semplicemente usando una soglia maggiore, perché temo che in tal caso mi apparirebbero due label, quella della soglia più bassa e poi quella della più alta (ma non ho provato: se fosse così avrei risolto con

15 euro!). Se le cose vanno invece come io penso, per far apparire la label immagine2 mi toccherà programmare un secondo canale con una sua propria soglia ( associata alla conversione di un altro binario) ed a quel punto non saprei più come usare un convertitore con diverse uscite differenziate per le varie tensioni soglia delle diverse boccole. Qualcuno mi ha detto di fare tutto in digitale, ma non ho capito come.

Idee?

Reply to
dan
Loading thread data ...

"dan" ha scritto nel messaggio news: snipped-for-privacy@nntp.aioe.org...

non ho capito,chi deve generare la tensione >100uV?Tu stesso con qualche accrocchio?

Reply to
blisca

Esattamente, e l'accrocchio ho pensato potesse essere il convertitore DA Faccio un esempio pratico: la parallela genera un output su tre pin (per semplicità) e i possibili valori (ognuno associato ad un output a video) sono:

000 = 0 001 = 1 010 .... 011 100 101 110 111 = 7

Ora, se io utilizzo un convertitore DA, dovrei poter avere le seguenti uscite analogiche:

000 -> 0x100 = 0 uV 001 -> 1x100 = 100 uV ecc.

Ma se per generare nell'eegrafo i miei 7 eventi devo usare sette canali differenti, allora mi servirebbe separare le uscite, come ad esempio in questo modo:

0-100 uV -> uscita 1 che va sulla boccola 1 con soglia 50 per evento 1 100-200 uV -> uscita 2 che ba su boccola 2 con soglia 150 per evento 2 ecc.

Sono stato più chiaro? Grazie!

Reply to
dan

vediamo se da ieri a oggi non mi sono perso La tua macchina genera già al momento giusto i valori a 3 bit sulla parallela,e tu vorresti un qualcosa con 3 ingressi per collegarticivisidi. Questo qualcosa dovrebbe avere 7 uscite ,di queste una sola alla volta dovrebbe andare a 1 :nel caso di es 101 l'uscita 5,nel caso di 000 l'uscita

0 e così via? Se ho capito bene senza scomodare un microcontrollore dovrebbe bastare un integrato TTL standard con funzione DECODER come
formatting link
se non ho capito bene porta pazienza
Reply to
blisca

Non so quanto tu abbia capito di quello che ho chiesto, nè quanto io l'abbia ben spiegato. Pero posso dirti che meriti un caffè, perché mi hai dato una idea geniale, a cui non avevo pensato: cioè non scomodare il conertitore, ma gestire il tutto in digitale. Ottima idea, grazie mille. Dimmi solo un'altra cosa: come posso fare affinchè le uscite siano in un range di tensione accettato dall'ingresso analogico dell'apparecchiatura? Seconda domanda: io ho sparato numeri a caso per far capire il problema, ma un tale dispositivo, secondo te, potrebbe accettare in ingresso non tre ma

8 bit ed in uscita 7, ma 20 uscite? Infine: secondo te realizzare home made il tutto quanto potrebbe orientativamente costarmi? Grazie tante!
Reply to
dan

semplicemente con n partitori di resistenze

secondo me giocando con 2 o più decoder si può fare,costo qualche euro di materiale,più il contenitore che altro

Reply to
blisca

Una sola cosa: vedendo il tuo allegato, alla sezione 6, si mostrano tutte le combinazioni di input ed output. Se ho capito bene, però, questo decoder non accende solo una uscita mettendo a zero le altre, ma fa il contrario. Ad esempio, con l'ingresso logico 0000, dà tutti 1 in uscita. A me serve il contrario: dove sbaglio? D.

Reply to
dan

non ci avevo fatto caso,era solo per fare un esempio

allora questo,che è forse più comune

formatting link

Reply to
blisca

Con 3 qualsiasi memorie flash o eeprom parallele da 8bit da minimo 256 byte messe in parallelo ottieni 8 ingressi(gli indirizzi) e

24 uscite (i bus dati), poi in fase di programmazione puoi decidere cosa significano le uscite in base agli 8 bit in ingresso.

SST39LF/VF512 con una di queste hai 16 uscite (funziona a 3.3V).

Giulia

Reply to
Giulia

U'ultima cosa per cortesia. Questo dispositivi (decoder), quando attivano una determinata uscita X, questa attivazione 1 logico) resta stabile fino a che dalla parallela non gli arriva una nuova sequenza di bit o c'è la possibilità di farla durare qualche millisecondo e poi farla spegnere in automatico? Te lo chiedo perchè tempo che se l'attivazione perduri, il mio trigger possa segnare sul tracciato l'evento in maniera continua, mentre a me interessa l'inizio dell'evento, a cui deve seguire una nuova condizione di "ascolto" del successivo stimolo soprasoglia. C'è un modo per far questo? Grazie!

Reply to
dan

mmm...se ti serve una cosa così ad hoc mi sa che è il caso di ricorrere ad un piccolo microcontrollore con un pò di pins

Reply to
blisca

Ma ormai c'eravamo.... Che ne dici di un circuitino che faccia da temporizzatore? Cioè, a valle di ogni oscita del decoder c'è il partitore di tensione e a valle del partitore ci potrebbe essere un circuitino (quale?) che interrompe la tensione dopo pochi ms. Che ne dici?

Reply to
dan

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.