Come generare un codice

Oct 15, 2007 9 Replies

Ciao a tutti! devo realizzare un circuito digitale con 7 pin di ingresso e 35 di uscita.



Ponendo in ingresso un codice binario deve essere generato un altro codice in uscita, il tutto rispettando una tabella da me stabilita.


Avevo pensato di usare un microcontrollore ma non ne ho a disposizione con così tante uscite e, visto che a casa non mi mancano integrati con porte logiche, avevo inizialmente optato per un circuito combinatorio (un pò complesso... ) Esiste in commercio un decodificatore economico con queste caratteristiche? Oppure un sistema per progettare un circuito simile con sole porte logiche (ho sentito parlare di mappe K...ma credo che non sia adatto per tutte queste variabili...) ?



Astenersi PAL e altri circuiti da programmare... :)



Grazie mille!


"BFGoodrich" ha scritto nel messaggio news:fevjd9$2t03$ snipped-for-privacy@newsreader1.mclink.it...

Dipende dalla funzione che hai, in rete combinatoria dovresti calcolare la "formula" per ognuna delle 35 uscite, poi con alcuni algoritmi cercare di ottimizzarlo per risparmiare componenti, mi sembra d ricordare che le mapper di Karnaugh siano sconsigliate per funzioni con più di quattro variabili, mi sembra di ricordare poi un metodo dal nome tipo McClusky ma non ricordo bene... puoi cercare anche argomenti come fattorizzazione e modelli algebrici ma probabilmete è più semplice trovare qualche software in rete che effettui l'ottimizzazione (mi viene in mente SIS), comunque il costo del progetto (in termini di numero porte logiche) dovrebbe essere elevato, dipende dalla funzione. utilizzare microcontrollore e qualcosa del tipo 74hc595? puoi collegarne in cascata per ottenere le tue 35 uscite (35/8=5 integrati + microcontrollore)

Spero di non aver raccontato stupidate ma sono un poco arrugginito...

Nadir

Uhm, in generale puoi dare una occhiata a

formatting link
oppure
formatting link
per poi andare a
formatting link
che ti segnala che in rete trovi un programma che ti puo'fare la minimizzazione on line,
formatting link
l'esempio e'in tedesco, ma penso si riesca a capire comunque.

Come gia detto, il problema e'poi riutilizzare i termini comuni per non usare una quantita'enorme di porte (e gia'ne userai tante, magari con "troppi" ingressi); ma forse, visto che ti servono 35 uscite su

128 combinazioni possibili, puoi riuscire a riusare diverse cosette. Poi dipende da come sono le uscite, se sono completamente indipendenti, se veramente dipendono da tutti i bit di ingresso, etc. Oppure ti prendi una ventina di 74LS138 ed un pacco di diodi... 8-) !

Saluti, LaCar.

e?

BFGoodrich ha scritto:

Se non ho capito male tu inserisci il dato binario (quindi detto in modo decimale, un numero) poi con un dispositivo (magari un PIC programmato con un sofware di codifica) generi un altro numero il che in binario ha 35 bit.

Io suggerirei uno shif-register (7-8 ingressi e una uscita)letta quindi sequenzialmente dal pic e quindi dopo la generazione del codice nuovamente shift 5 register (1 ingresso e 8 uscite, a seconda di cosa hai in cascata. Ovviamente devi generare il clock per lo shiftregister. E' solo una idea riesumata dal passato, ma potrebbe andare ?

Andrea

questo articolo e` stato inviato via web dal servizio gratuito http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it

L'idea del registro a scorrimento mi sembra buona, prima però proverei a partire con Quine Mc-Cluskey... Vi faccio sapere... sento che la folla attende calorosa l'esito delle prove... :)

Grazie a tutti!!!!

Andrea1 ha scritto:

O, in alternativa un PIC a piacere con tre di questi: MCP23017 (sono dei port expander a 16 bit che lavorano con I2C).

Ciao!

Stefano Martini Varese (VA) -- Italy Web: http://www.lemming.it Audaces fortuna iuvat (Virgilio, Eneide)

BFGoodrich ha scritto:

Sei sicuro che qualche micro della serie MSP430 della texas non abbia abbastanza usicte ?? Mi pare che gli MSP430x4xx abbiano fino a 80 i/o .... Poi io di micro non ci capisco proprio niente, quindi .... ;-)

Luca

"BFGoodrich" ha scritto nel messaggio news:fevjd9$2t03$ snipped-for-privacy@newsreader1.mclink.it...

... forse dico una stupidaggine ... Io ho pensato che potresti utilizzare 5 eprom (ognuna ha 8 uscite), con gli ingressi collegati in parallelo e le uscite indipendenti ... a suo tempo le ho programmate in modo mooooolto casalingo ... a mano! Ciao. Peppe

Io farei così. Certo, le eprom sono un po' ingombranti e serve il programmatore. In alternativa, un decoder I2C

Non temer mai di dire cose insensate. Ma ascoltale bene, quando le dici. (L. Wittgenstein) Wovon man nicht sprechen kann, darüber muss man schweigen (L. Wittgenstein) [Grazie, Franco!] - Vi prego, quotate solo l'essenziale. Grazie! -

Mi ricorda un programmatore "a mano" pubblicato una dozzina di anni fa da F.E. devo averlo in qualche cassetto ancora da finire.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required