Pages: 1 2 3 [4] 5   Go Down
Author Topic: [OT] Un progetto per imparare a conoscere le logiche TTL/CMOS  (Read 11653 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12678
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@flz:
un mini-computer? interessante. Hai il link?

@mike:
vedo che ancora non hai studiato bene i link che ti ho messo l'altro giorno...  smiley-twist
Te lo riporto in Italiano un detto calabrese, estremamente efficace:
Il topo disse alla noce: dammi tempo che prima o poi te lo foro il guscio
Ma l'originale in realtà usa il verbo dialettale "cupare", che ha molti significati reconditi, ma non di quelli che pensi di solito tu, mente malata.... smiley-yell
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 335
Posts: 23123
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora, "cupa" l'ultimo link. Secondo me è quello fatto meglio che parla di logiche TTL  smiley-wink
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12678
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora, "cupa" l'ultimo link. Secondo me è quello fatto meglio che parla di logiche TTL  smiley-wink
ok  smiley-lol smiley-lol smiley-lol
Logged


Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://blog.makezine.com/2012/04/30/building-an-8-bit-computer-from-scratch/
http://8bitspaghetti.com/

E' tutta logica TTL ma bisogna essere poco normali per mettersi a costruire a mano una cosa del genere secondo me... basta una semplice CPLD per realizzare un 8 bit molto più performante senza perdere tempo in grovigli vari..
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12678
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

http://blog.makezine.com/2012/04/30/building-an-8-bit-computer-from-scratch/
http://8bitspaghetti.com/

E' tutta logica TTL ma bisogna essere poco normali per mettersi a costruire a mano una cosa del genere secondo me... basta una semplice CPLD per realizzare un 8 bit molto più performante senza perdere tempo in grovigli vari..
io ovviamente mi riferivo agli integrati TTL classici, non alla tipologia di segnale o a componenti più evoluti.
Posso assicurarti che avendo già fatto una cosa così squilibrata (bread + jumpers) col Programmatore HV non mi andava di ripetere l'esperienza ed ho chiesto ad Elettronica In di farmi direttamente il PCB del prototipo, altrimenti ti assicuro che sarebbe uscito anche quello un lavoro niente male.
Tu "ci" chiami poco normali solo perché forse non hai vissuto quell'epoca o non ti ci sei appassionato. Io ho litigato sei mesi con me stesso prima di comprare Arduino, oggi non sono affatto pentito, ma per me tra costruire lo stesso strumento con un 328P, un display qualsiasi ed un paio diresistenze, e tutto il malloppo che hai visto nelle foto, non c'è paragone! Quindi fondamentalmente il tizio è stato guidatto dalla passione, stanne certo; nel mio caso aggiungi la necessità di far fronte ad una richiesta, e aver la possibilità di tornare indietro di trent'anni (anche se solo con la mente e col saldatore... smiley-sad) e mettermi a spiegare il funzionamento del mio schema sarà veramente qualcosa di impagabile, e se per questo mi devo sentire poco normale BEN VENGA!! (naturalmente non è polemica con te, assolutamente, solo voglio farti capire cosa spinge l'essere umano pensante a fare certe cose che agli occhi dei più appaiono stravaganti smiley-wink).
Logged


Catania
Offline Offline
Sr. Member
****
Karma: 0
Posts: 346
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quoto Mike al 100%.
Sono colpito anch'io dallo stesso tipo di...anormalità!  smiley
Logged

Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Con poco normale ovviamente intendevo con abilità manuali superiori al normale, non è da tutti avere tanta pazienza e precisione  smiley
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12678
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Con poco normale ovviamente intendevo con abilità manuali superiori al normale, non è da tutti avere tanta pazienza e precisione  smiley
ottima svicolata, roba da farsi trovare col cucchiaio nella Nutella e convincere la propria mamma che stavamo solo togliendo una mollica di pane che chissà chi aveva fattop cadere nel prezioso contenitore smiley-mr-green GRANDE! ma nello stesso tempo la prendo per buona smiley
Logged


0
Offline Offline
Shannon Member
****
Karma: 136
Posts: 10525
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

programmare usando le porte logiche non è differente da programmare nella realtà.. bisogna farsi le tabelle della verità smiley

ci sono simulatori/autocompilatori delle tabelle di verità? i componenti tipo and/or/not sono ancora in produzione in qualche formato/modelllo/package?

immagino che se ci sono o lavorano con "alte" tensioni o "alte" frequenze
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 335
Posts: 23123
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma intendi i chip con porte NOT/OR/AND/NAND?
Certo che sono in vendita:
http://www.datasheet4u.net/TTL/
Logged


0
Offline Offline
Shannon Member
****
Karma: 136
Posts: 10525
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

a leggere testato pare che questi ic stiano scomparendo....
ma probabilmente lui li cerca pin compatibili o simili.
dai ragazzi, facciamo 10€ a testa e facciamo scopracciata di porte logiche, flip-flop, mux, demux, etc?  smiley-mr-green
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Come programma didattico consiglio Logisim http://ozark.hendrix.edu/~burch/logisim/ per addentrarsi per la prima volta nell'elettronica digitale e fare tabelle logiche etc...

Come componenti logici trovi ancora porte AND, NOR, etc.. sotto forma di integrati discreti ma lavorano a frequenze non elevatissime ed in genere le capacità parassite limitano la frequenza poichè i segnali devono entrare ed uscire dall'integrato.
NOTA: Magari chi è più esperto può spiegare meglio e più in dettaglio

Per raggiungere frequenze molto più elevate al giorno d'oggi si mette tutta la logica dentro ad un unico chip, ad esempio i CPLD permettono di creare logiche ad-hoc anche sofisticate che girano a frequenze elevate (es. 200 Mhz), con le FPGA si raggiungono frequenze (e costi) ancora maggiori.

A livello professionale (o hobbistico avanzato) non si fanno tabelle della verità a mano, si descrive l'hardware con linguaggi come VHDL o Verilog e tramite dei sintetizzatori vengono tradotti i sorgenti in equazioni logiche che sono poi mappate sull'hardware programmabile (es. CPLD, FPGA)

Nulla toglie al fatto che saper fare le tabelle a mano da una certa soddisfazione

Ciao
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12678
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

a leggere testato pare che questi ic stiano scomparendo....
ma probabilmente lui li cerca pin compatibili o simili.
dai ragazzi, facciamo 10€ a testa e facciamo scopracciata di porte logiche, flip-flop, mux, demux, etc?  smiley-mr-green
Allora distinguiamo: i componenti TTL dell'epoca era raggruppati fondamentalmente in due famiglie principali: TTL e TTL-LS, p.es 7400 e 74LS00; gli LS erano più veloci dei normali ed esistono ancora, anche se alcuni modelli sono difficili da reperire, ma io li ho comprati sia in package DIP che smd. Poi esistevano i CMOS (40xxx-45xxx) con livelli logici diversi (incompatibili con i TTL), alimentazione più flessibile (5-15V contro i 5V fissi dei TTL) e consumi inferiori. Le nuove famiglie sono fondamentalmente rappresentabili con le serie 74HC e 74HCT, i primi hanno caratteristiche di base CMOS, i secondi sono dei TTL puri, ma entrambi operano a livelli logici compatibili TTL e quindi con i 74LS. Possiamo dire che alla fine i livelli logici TTL sono sopravvissuti ai CMOS in quanto integrati nei microcontrollori: infatti possiamo tranquillamente interfacciare un micro con un 74YYYXXX ma non lo stesso con un CD. Poiché diversi modelli della serie CD avevano caratteristiche interessanti, sono stati replicati in TTL mantenendo la sigla originale a cui è stato aggiunto il prefisso, ecco che oggi esistono p.es. i 74HC4511 e i 74HCT4511 che sono i vecchi CD4511 "trascodificati" in logica TTL. Le serie 74HC/HCT sono tutte regolarmente in commercio, anche se non sono stati replicati tutti i modelli 74xxx, le serie 74LS si trovano abbastanza facilmente (ma NON tutti i modelli), le serie 74xxx non si trovano praticamente più.

Un'ultima info: i TTL e TTL-LS lavoravano a frequenze tra i 10 ed i 30MHz circa; i CMOS CD non superavano i 4MHz; alcuni 74HC/HCT odierni arrivano anche a 70-75MHz (ne ho ordinati alcuni proprio per un nuovo strumento che ho in mente di realizzare smiley-wink
Naturalmente quanto VI ho scritto è sintetico e passibile di correzioni, ma soprattutto di implementazioni: le famiglie TTL in realtà sono molte di più, quelle elencate sono quelle stra-usate.

@ Lesto i programmi di simulazione come Logic Works, ma anche roba molto più recente come NI Multisytem hanno librerie per la quasi totalità delle porte logiche ma anche degli IC TTL/CMOS più complessi: queste famiglie non hanno solo porte logiche base, ma anche cose molto molto più complesse, ad iniziare dagli shift-register, tanto per banalizzare.

@ Legacy: bel lavoro, ma l'hai fatto tu o viene da Internet? La scheda commerciale in basso a mia memoria dovrebbe essere un'interfaccia SCSI
Logged


0
Offline Offline
Shannon Member
****
Karma: 136
Posts: 10525
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

i 74XX li ho usati a scuola... magari avessero tirato fuori un bell'arduino  smiley-mr-green
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12678
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Una delle problematiche più gravose delle logiche digitali è sempre stata quella del debounce, aggravata dal fatto che allora i pulsanti erano esclusivamente metallici ed i cosiddetti contatti striscianti provocavano dei veri e propri fuochi d'artificio, altro che rimbalzi!!! Negli strumenti professionali infatti si ricorreva spessissimo a catene di commutatori a slitta o rotativi per i cambi portata o altro.
Oggi è facile implementare integrati specifici, come quelli della Maxim (MAX6816-7-8 rispettivamente 1-2-8 switch) o l'esa-switch MC14490, oppure ricorrere direttamente al software, "tarabile" con grande facilità, un banale delay(100) ed ecco il sospirato ritardo di 100ms per ignorare i rimbalzi. Ma se non avete esperienza diretta con la problematica di allora basta che vi scarichiate uno qualsiasi dei data-sheet che vi ho citato e vedere come è realizzato ogni singolo switch, potrete solo sgranare gli occhi per l’impressione!!
Poiché però non c’erano gli IC debounce e nemmeno si lavorava col software allora ecco le invenzioni più disparate per risolvere il problema in modo accettabile, perché la perfezione si raggiungeva molto raramente e comunque con l’invecchiamento dei contatti del pulsante i dolori aumentavano e non poco…..
Una delle più usate si basava su un latch S-R che è una tipologia di flip-flop che cambia stato al primo impulso che arriva sul SET, ignorando tutti gli altri, e per cambiare nuovamente stato necessita di un nuovo impulso sul RESET, ma questo significata dover pilotare due pin diversi e quindi con un pulsante non era possibile, allora si ricorreva ad un deviatore a due posizioni a molla, per cui si esso era in posizione normalmente chiuso su due pin, collegato al RESET, e quando lo si premeva dava l’impulso al SET, rilasciandolo tornava in automatico sul RESET e così via. Era piuttosto affidabile come metodo ma lo switch era costoso e comunque non era un pulsante.
Una variante, forse la più efficace in assoluto, me ne parlava oggi Astro, consisteva nel collegare il pulsante al SET e contemporaneamente ad un multivibratore astabile, come il 74121 o un comune NE555, usati in funzione di temporizzatore; in pratica premendo il pulsante partiva contemporaneamente un conteggio di circa 100ms (o qualsiasi valore si desiderasse) al termine del quale questo secondo integrato dava l’impulso al RESET.
Ho dovuto lottarci anch’io per il Capacimetro e chiaramente non potevo ricorrere a trucchi; il mio pulsante, che almeno è un tastino e quindi molto meno “pericoloso” dei vecchi pulsanti meccanici, serve per cambiare le portate.
Io ho provato ad usare sul RESET un segnale a 5Hz derivante dalla base dei tempi, era piuttosto efficace ma se beccavo i fronti del segnale qualche incertezza si generava col salto di una-due portate.
Allora ho fatto ricorso ad un altro “classico”: due porte NOT di tipo Schmitt-Trigger con una pull-up di 100k ed un C da 1µF al tantalio verso massa, il tastino in parallelo al C; la formula è T=R(kohm)*C(µF)*0,9, quindi nel mio caso circa 90-100ms (il coefficiente 0,9 NON è universalmente usato…); devo dire che ho tribolato un po’ ma alla fine il risultato è molto soddisfacente, sono riuscito varie volte a premere il tasto anche 50 volte di seguito senza perdere un colpo. Le difficoltà le ho avute per il fatto che l’IC è sul PCB inferiore ed il tastino su quello superiore; ho dovuto mettere il gruppo R-C molto vicino al tastino e soprattutto ho dovuto usare un condensatore al tantalio; assolutamente da evitare ceramici e poliestere comuni. Purtroppo non riesco a spiegarvene la ragione, le mie conoscenze si fermano qui, ma sono sicuro che qualcuno sarà in grado di farlo.
Non cito le versioni di debounce con porte NAND o NOR perché davvero non mi hanno mai dato molte soddisfazioni. Spero di non avervi annoiato oltre misura.
Logged


Pages: 1 2 3 [4] 5   Go Up
Jump to: