Sommario:

Calcolatrice binaria a 4 bit: 11 passaggi (con immagini)
Calcolatrice binaria a 4 bit: 11 passaggi (con immagini)

Video: Calcolatrice binaria a 4 bit: 11 passaggi (con immagini)

Video: Calcolatrice binaria a 4 bit: 11 passaggi (con immagini)
Video: Conversione Binario-Decimale e Decimale-Binario 2024, Luglio
Anonim
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit
Calcolatrice binaria a 4 bit

Ho sviluppato un interesse per il modo in cui i computer funzionano a un livello fondamentale. Volevo capire l'uso dei componenti discreti e dei circuiti necessari per svolgere compiti più complessi. Un importante componente fondamentale in una CPU è l'unità logica aritmetica o ALU che esegue operazioni sui numeri interi. Per svolgere questo compito, i computer utilizzano numeri binari e porte logiche. Una delle operazioni più semplici eseguite è sommare due numeri insieme, in un circuito sommatore. Questo video di numberphile fa un ottimo lavoro nello spiegare questo concetto tramite Domino Addition. Matt Parker estende questo concetto di base e costruisce un circuito Domino Computer utilizzando 10.000 tessere. Costruire un intero personal computer con i domino è assurdo, ma volevo comunque capire l'uso di componenti discreti per svolgere questo compito di aggiunta. Nei video, le porte logiche sono state create dai domino, ma possono anche essere realizzate con componenti di base, ovvero transistor e resistori. Lo scopo di questo progetto era utilizzare questi componenti discreti per apprendere e creare il mio calcolatore sommatore a 4 bit.

I miei obiettivi per questo progetto includevano: 1) Imparare a creare e fabbricare un PCB personalizzato 2) Rendi il design facile da concettualizzare aggiungendo numeri binari 3) Dimostrare la differenza di scala tra componenti discreti e un circuito integrato che esegue lo stesso compito

Gran parte dell'ispirazione e della comprensione di questo progetto è venuta da Simon Inns.

Forniture

Ho usato Fritzing per creare schemi, creare e fabbricare i PCB

Fase 1: Teoria

Teoria
Teoria
Teoria
Teoria
Teoria
Teoria
Teoria
Teoria

Il conteggio in base 10 è semplice perché esiste un numero intero diverso per rappresentare la somma di due interi. L'esempio più semplice:

1 + 1 = 2

Il conteggio in base 2 o binario utilizza solo 1 e 0. Una combinazione di 1 e 0 viene utilizzata per rappresentare diversi interi e le loro somme. Un esempio di conteggio in base 2:

1+1 = 0 e porti l'1 al bit successivo

Quando si sommano due bit (A e B) insieme, sono possibili 4 risultati diversi con le uscite Sum e Carry (Cout). Questo è quanto mostrato nella tabella.

Le porte logiche accettano ingressi e generano un'uscita. Alcune delle porte logiche di base sono costituite dalle porte NOT, AND e OR che sono tutte utilizzate in questo progetto. Sono costituiti da diverse combinazioni e cablaggi di transistor e resistori. Gli schemi di ogni cancello sono forniti.

Facendo riferimento alla tabella, una combinazione di queste porte può essere utilizzata per produrre i risultati della somma nella tabella. Questa combinazione di logica è anche nota come porta OR esclusivo (XOR). L'input deve essere esattamente 1 per ottenere un output di 1. Se entrambi gli input sono 1, l'output risultante è 0. I risultati del bit di riporto possono essere rappresentati da una semplice porta AND. Pertanto, l'utilizzo sia di uno XOR che di una porta AND può rappresentare l'intera tabella. Questo è noto come Half Adder e lo schema è mostrato sopra.

Per aggiungere numeri binari più grandi, il bit di riporto deve essere incorporato come ingresso. Ciò si ottiene combinando 2 circuiti Half Adder per generare un Full Adder. I sommatori completi possono quindi essere collegati in cascata insieme per aggiungere numeri binari più grandi. Nel mio progetto ho messo in cascata 4 Full Adder che mi hanno permesso di avere ingressi a 4 bit. Lo schema per il Full Adder è sopra.

Simon Inns ha un articolo fantastico e più approfondito sulla teoria. Ci sono anche alcuni PDF che ho trovato utili.

Passaggio 2: test del circuito

Testare il circuito
Testare il circuito
Testare il circuito
Testare il circuito

Il primo passo dopo aver capito come funzionano le porte logiche e la teoria alla base di un Full Adder è costruire il circuito. Ho iniziato raccogliendo tutti i componenti di cui avevo bisogno: resistori da 10K e 1K, transistor NPN, breadboard, jumperwires. Ho seguito con una stampa del sommatore completo. Il processo è stato noioso, ma sono riuscito a ottenere un circuito funzionante per il sommatore completo. Legavo gli ingressi in alto o in basso e usavo un multimetro per testare le uscite. Ora ero pronto per tradurre la breadboard e lo schema in un PCB.

Passaggio 3: progettazione del PCB completo del sommatore

Progettare il PCB Full Adder
Progettare il PCB Full Adder
Progettare il PCB Full Adder
Progettare il PCB Full Adder
Progettare il PCB Full Adder
Progettare il PCB Full Adder

Per progettare il PCB ho utilizzato esclusivamente Fritzing. Era la prima volta che progettavo un PCB e questo programma sembrava il più intuitivo e intuitivo con la curva di apprendimento più piccola. Ci sono altri ottimi programmi come EasyEDA e Eagle disponibili per aiutare a progettare un PCB. Con Fritzing, puoi iniziare a progettare su una breadboard virtuale o uno schema, quindi passare al PCB. Ho utilizzato entrambi questi metodi per questo progetto. Quando sei pronto per fabbricare il PCB, è semplice come fare clic su un pulsante per esportare i tuoi file e caricarli direttamente su Aisler, il produttore partner di Fritzing.

Disegna lo schema Ho iniziato con la scheda dello schema per iniziare il processo. Innanzitutto, ho trovato e inserito tutti i componenti nell'area di lavoro. Successivamente, ho disegnato tutte le tracce tra i componenti. Mi sono assicurato di aggiungere l'ingresso 5V e la messa a terra nei punti appropriati.

Progettare il PCBI cliccato sulla scheda PCB. Quando ti sposti direttamente da uno schema, ottieni un pasticcio con tutti i componenti collegati da linee ratsnest in base alle tracce che hai fatto nello schema. La prima cosa che ho fatto è stata ridimensionare il PCB grigio alla dimensione che volevo e ho aggiunto i fori di montaggio. Ho anche aggiunto 16 pin per input e output. Successivamente, ho iniziato a disporre i componenti in modo logico. Ho provato a raggruppare i componenti con connessioni vicine tra loro in modo da ridurre al minimo la distanza di traccia. Ho fatto un passo in più e ho raggruppato i componenti per porta logica. Uno dei miei obiettivi era riuscire a visualizzare come funziona il circuito ed essere in grado di seguire il "bit" attraverso il circuito. Successivamente, ho utilizzato la funzione di autorouting che passa automaticamente e disegna i tracciati ottimizzati tra i componenti. Ero scettico sul fatto che questo processo completasse tutti i tracciati corretti, quindi ho ricontrollato e ridisegnato i tracciati dove avrebbero dovuto essere. Fortunatamente, la funzione di autorouting ha fatto un buon lavoro e ho dovuto correggere solo alcune delle tracce. L'autorouter ha anche fatto alcuni strani angoli con le tracce che non è la "migliore pratica", ma mi andava bene e tutto funzionava ancora bene. L'ultima cosa che ho fatto è stata aggiungere del testo che sarebbe stato stampato come serigrafia. Mi sono assicurato che tutti i componenti fossero etichettati. Ho anche importato immagini di porte logiche personalizzate per enfatizzare il raggruppamento dei componenti. L'ultima immagine sopra mostra la serigrafia.

Fabbricare il PCBI ha fatto clic sul pulsante Fabbrica nella parte inferiore dello schermo. Mi ha indirizzato direttamente al sito Web di Aisler dove sono stato in grado di creare un account e caricare tutti i miei file Fritzing. Ho lasciato tutte le impostazioni predefinite e ho effettuato l'ordine.

Passaggio 4: progettazione degli altri PCB

Progettare gli altri PCB
Progettare gli altri PCB
Progettare gli altri PCB
Progettare gli altri PCB
Progettare gli altri PCB
Progettare gli altri PCB

I PCB rimanenti di cui avevo bisogno erano la scheda di interfaccia input/output e la scheda per l'IC. Ho seguito il processo come Passaggio 3 per queste schede. Il pdf degli schemi è pubblicato di seguito. Per l'IC, ho effettuato tutte le connessioni utilizzando la funzione breadboard virtuale. Ho incluso lo schema per completezza, ma sono stato in grado di passare direttamente dalla breadboard alla scheda PCB, il che è stato piuttosto interessante. Ho anche aggiunto un grafico di conversione da base 10 a base 2 sulla serigrafia sulla scheda di interfaccia I/O prima di caricare e ordinare in Aisler.

Passaggio 5: saldatura dei componenti al PCB

Saldatura dei componenti al PCB
Saldatura dei componenti al PCB
Saldatura dei componenti al PCB
Saldatura dei componenti al PCB
Saldatura dei componenti al PCB
Saldatura dei componenti al PCB
Saldatura dei componenti al PCB
Saldatura dei componenti al PCB

Tutti i PCB sono arrivati e sono rimasto davvero colpito dalla qualità. Non ho avuto alcuna esperienza con altri produttori, ma non esiterei a usare di nuovo Aisler.

Il compito successivo è stato quello di saldare tutti i componenti, il che è stato un processo arduo, ma le mie capacità di saldatura sono migliorate notevolmente. Ho iniziato con le schede adder complete e ho saldato i componenti iniziando con i transistor, quindi i resistori da 1K, quindi i resistori da 10K. Ho seguito un metodo simile per saldare il resto dei componenti sulla scheda I/O e IC. Dopo che ogni scheda Full Adder è stata completata, le ho testate con lo stesso metodo della breadboard Full Adder. Sorprendentemente, tutte le schede hanno funzionato correttamente senza problemi. Ciò significava che le schede erano state instradate correttamente e che erano state saldate correttamente. Al prossimo passo!

Passaggio 6: finitura dei PCB per l'impilamento

Finitura dei PCB per l'impilamento
Finitura dei PCB per l'impilamento
Finitura dei PCB per l'impilamento
Finitura dei PCB per l'impilamento
Finitura dei PCB per l'impilamento
Finitura dei PCB per l'impilamento

Il compito successivo è stato quello di saldare tutti i pin dell'intestazione su ciascuna scheda. Avevo anche bisogno di aggiungere dei ponticelli tra il pin di intestazione corretto e gli ingressi/uscite delle schede Full Adder (A, B, Cin, V+, GND, Sum, Cout). Questo passaggio potrebbe essere evitato se si progettassero PCB diversi per ogni livello del circuito sommatore, ma volevo ridurre al minimo il design e i costi creando un solo PCB completo. Di conseguenza, le connessioni a questi ingressi/uscite richiedono cavi di collegamento. Lo schema fornito è come ho svolto questo compito e quali pin sono stati utilizzati per ogni livello delle schede Full Adder. Le immagini mostrano come ho saldato i cavi dei ponticelli per ciascuna scheda. Ho iniziato saldando i fili liberi ai pin corretti sull'intestazione. Ho quindi saldato l'intestazione al PCB. Dopo aver saldato in posizione i pin dell'intestazione con i cavi dei ponticelli, ho saldato le estremità libere dei cavi dei ponticelli ai cavi corretti sul PCB. L'immagine sopra mostra un primo piano dei pin dell'intestazione con i fili dei ponticelli saldati ad essi.

Passaggio 7: alimentazione dei circuiti

Alimentazione dei circuiti
Alimentazione dei circuiti
Alimentazione dei circuiti
Alimentazione dei circuiti
Alimentazione dei circuiti
Alimentazione dei circuiti

Per questo progetto avevo pianificato di utilizzare un alimentatore jack a cilindro CC da 12 V, quindi ho progettato la scheda di interfaccia I/O in modo che avesse un jack/connettore CC a cilindro per l'ingresso di alimentazione. Poiché stavo utilizzando la stessa scheda I/O e volevo utilizzare un unico alimentatore, avevo bisogno di regolare la tensione a 5 V poiché questo è l'ingresso massimo per l'IC SN7483A. Per fare questo avevo bisogno di un regolatore 5V e un interruttore che potesse commutare tra 12V e 5V. Lo schema sopra mostra come ho collegato il circuito di alimentazione insieme.

Passaggio 8: stampa 3D della base

Stampa 3D della base
Stampa 3D della base
Stampa 3D della base
Stampa 3D della base
Stampa 3D della base
Stampa 3D della base

Ora che tutti i cablaggi e le saldature sono stati completati, avevo bisogno di capire come sarebbe stato tenuto insieme il tutto. Ho optato per il CAD e la stampa 3D di un design che potesse ospitare e visualizzare tutte le parti di questo progetto.

Considerazioni sulla progettazione Avevo bisogno di posti per montare i PCB con bulloni e distanziatori. Gli Adder impilati sono visivamente più accattivanti e volevo averli in mostra quando non in uso, quindi volevo un posto dove riporre il PCB IC. Avevo bisogno di ospitare il circuito di alimentazione con ritagli per l'interruttore e jack/connettore CC a botte. Infine, volevo una sorta di espositore per custodire per evitare che la polvere si accumulasse nei PCB aperti, quindi avevo bisogno di un posto dove appoggiare il contenitore.

Modellazione 3D Ho usato Fusion360 per progettare la base. Ho iniziato con le dimensioni del PCB e la spaziatura dei fori di montaggio. Successivamente ho utilizzato una serie di schizzi ed estrusioni per impostare l'altezza e le dimensioni della base con i punti di montaggio del PCB. Successivamente ho realizzato i ritagli per la custodia e il circuito di alimentazione. Quindi, ho creato un'area per conservare il PCB IC quando non in uso. Infine ho aggiunto alcuni dettagli di finitura e l'ho inviato a Cura, il mio software di slicing.

StampaHo scelto il filamento PLA nero. La stampa ha richiesto poco più di 6 ore ed è venuta benissimo. Sorprendentemente, tutte le dimensioni erano corrette e tutto sembrava adattarsi correttamente. L'immagine sopra mostra la stampa dopo aver aggiunto i distanziatori nei fori di montaggio. Erano una misura perfetta!

Passaggio 9: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

Inserisci i distanziatori. Ho posizionato tutti i distanziatori nei fori di montaggio della base.

Posizionare il circuito di alimentazione nella base. Avevo collegato tutto insieme e tirato tutti i componenti attraverso il foro per l'interruttore. Successivamente, ho inserito il jack/adattatore di alimentazione nella parte posteriore della base. Ho spinto il regolatore 5V nella sua fessura e finalmente l'interruttore è stato in grado di essere inserito a pressione in posizione.

Montare il PCB I/O. Ho posizionato il PCB IC nel suo spazio di archiviazione e ho posizionato il PCB dell'interfaccia I/O sopra. Ho avvitato il PCB usando 4 bulloni M3 e un driver esagonale. Alla fine ho collegato il jack CC a botte nel PCB.

Impila i PCB del sommatore. Ho impilato il primo Adder in posizione. Ho avvitato la parte posteriore del PCB nei fori di montaggio posteriori con 2 distanziatori. Ho ripetuto questo processo fino a quando l'ultimo Adder non era in posizione e l'ho fissato con altri 2 bulloni M3.

Realizza il recinto. Ho usato acrilico da 1/4 per la custodia. Ho misurato l'altezza finale del progetto e, con le dimensioni CAD, ho ritagliato 5 pezzi per i lati e la parte superiore per creare una semplice scatola con un fondo aperto. Ho usato la resina epossidica per incollare i pezzi insieme Alla fine ho levigato un piccolo ritaglio a semicerchio sul lato destro per ospitare l'interruttore.

Pronto per il calcolo

Passaggio 10: calcolo e confronto

Image
Image
Calcolo e confronto
Calcolo e confronto
Calcolo e confronto
Calcolo e confronto

Collega la tua nuova calcolatrice e inizia ad aggiungere! Il grafico da base 10 a base 2 può essere utilizzato per convertire rapidamente tra binari e numeri interi. Preferisco impostare gli ingressi, quindi premere "uguale" capovolgendo l'interruttore di alimentazione e osservando l'uscita binaria dai LED.

Confronto di componenti discreti con un circuito integrato. Ora è possibile disimpilare tutti i sommatori e collegare l'IC SN7483A alla scheda I/O. (Non dimenticare di capovolgere l'interruttore nella direzione opposta per alimentare l'IC con 5V anziché 12V). Puoi eseguire gli stessi calcoli e otterrai gli stessi risultati. È piuttosto impressionante pensare che sia il componente discreto Adder che l'IC funzionino allo stesso modo su una scala di dimensioni molto diversa. Le immagini mostrano gli stessi ingressi e uscite per i circuiti.

Passaggio 11: conclusione

Spero che questo progetto vi sia piaciuto e che abbiate imparato tanto quanto me. È abbastanza soddisfacente imparare qualcosa di nuovo e trasformarlo in un progetto unico che richiede anche l'apprendimento di una nuova abilità come la progettazione/fabbricazione di PCB. Tutti gli schemi sono elencati di seguito. Per chiunque sia interessato posso anche collegare i miei file PCB Gerber in modo da poter creare il tuo calcolatore binario a 4 bit. Felice realizzazione!

Consigliato: