Índice:

Calculadora binária de 4 bits: 11 etapas (com imagens)
Calculadora binária de 4 bits: 11 etapas (com imagens)

Vídeo: Calculadora binária de 4 bits: 11 etapas (com imagens)

Vídeo: Calculadora binária de 4 bits: 11 etapas (com imagens)
Vídeo: Bit e Byte 2024, Novembro
Anonim
Calculadora binária de 4 bits
Calculadora binária de 4 bits
Calculadora binária de 4 bits
Calculadora binária de 4 bits
Calculadora binária de 4 bits
Calculadora binária de 4 bits
Calculadora binária de 4 bits
Calculadora binária de 4 bits

Eu desenvolvi um interesse na forma como os computadores funcionam em um nível fundamental. Eu queria entender o uso de componentes discretos e os circuitos necessários para realizar tarefas mais complexas. Um componente fundamental importante em uma CPU é a unidade lógica aritmética ou a ALU que executa operações em números inteiros. Para realizar essa tarefa, os computadores utilizam números binários e portas lógicas. Uma das operações mais simples realizadas é somar dois números, em um circuito somador. Este vídeo de numberphile faz um excelente trabalho ao explicar esse conceito por meio do Domino Addition. Matt Parker estende este conceito básico e constrói um circuito de computador Domino usando 10.000 dominós. Construir um computador pessoal inteiro com dominós é absurdo, mas eu ainda queria entender o uso de componentes discretos para realizar essa tarefa de adição. Nos vídeos, as portas lógicas foram criadas com dominós, mas também podem ser feitas com componentes básicos, ou seja, transistores e resistores. O objetivo deste projeto era utilizar esses componentes discretos para aprender e criar minha própria calculadora adicionadora de 4 bits.

Meus objetivos para este projeto incluíam: 1) Aprender como criar e fabricar um PCB personalizado 2) Tornar o projeto fácil de conceituar adicionando números binários3) Demonstrar a diferença de escala entre componentes discretos e um circuito integrado executando a mesma tarefa

Muito da inspiração e compreensão deste projeto veio de Simon Inns.

Suprimentos

Usei o Fritzing para fazer esquemas, criar e fabricar os PCBs

Etapa 1: Teoria

Teoria
Teoria
Teoria
Teoria
Teoria
Teoria
Teoria
Teoria

A contagem na base 10 é simples porque existe um número inteiro diferente para representar a soma de dois números inteiros. O exemplo mais simples:

1 + 1 = 2

A contagem na base 2 ou binária usa apenas 1s e 0s. Uma combinação de 1 e 0 é usada para representar diferentes números inteiros e suas somas. Um exemplo de contagem na base 2:

1 + 1 = 0 e você carrega o 1 para o próximo bit

Ao adicionar dois bits (A e B) juntos, 4 resultados diferentes são possíveis com as saídas de Soma e Carry (Cout). Isso é o que está mostrado na tabela.

As portas lógicas recebem entradas e geram uma saída. Algumas das portas lógicas mais básicas consistem nas portas NOT, AND e OR, todas utilizadas neste projeto. Eles são compostos de diferentes combinações e fiação de transistores e resistores. Esquemas de cada portão são fornecidos.

Voltando à tabela, uma combinação dessas portas pode ser usada para produzir os resultados da Soma na tabela. Essa combinação de lógica também é conhecida como porta OU (XOR) exclusiva. A entrada tem que ser exatamente 1 para resultar em uma saída de 1. Se ambas as entradas forem 1, a saída resultante é 0. Os resultados do bit de transporte podem ser representados por uma porta AND simples. Portanto, usar um XOR com uma porta AND pode representar toda a tabela. Isso é conhecido como meio somador e o esquema é mostrado acima.

Para adicionar números binários maiores, o bit de transporte deve ser incorporado como uma entrada. Isso é feito combinando 2 circuitos Half Adder para gerar um Full Adder. Adicionadores completos podem então ser colocados em cascata para adicionar números binários maiores. Em meu projeto, coloquei em cascata 4 Adicionadores Completos, o que me permitiu ter entradas de 4 bits. O esquema do Full Adder está acima.

Simon Inns tem uma grande e mais aprofundada redação sobre a teoria. Também existem alguns PDFs que considero úteis.

Etapa 2: Testando o circuito

Testando o circuito
Testando o circuito
Testando o circuito
Testando o circuito

A primeira etapa após entender como as portas lógicas funcionam e a teoria por trás de um Full Adder é construir o circuito. Comecei reunindo todos os componentes de que precisava: resistores de 10K e 1K, transistores NPN, placa de ensaio, jumperwires. Eu acompanhei junto com uma impressão do somador completo. O processo foi tedioso, mas consegui um circuito funcional para o somador completo. Gostaria de amarrar as entradas altas ou baixas e usar um multímetro para testar as saídas. Agora eu estava pronto para traduzir a placa de ensaio e o esquema em um PCB.

Etapa 3: Projetando o PCB Full Adder

Projetando o PCB Full Adder
Projetando o PCB Full Adder
Projetando o PCB Full Adder
Projetando o PCB Full Adder
Projetando o PCB Full Adder
Projetando o PCB Full Adder

Para projetar o PCB, usei exclusivamente o Fritzing. Esta foi a minha primeira vez projetando um PCB e este programa parecia ser o mais amigável e intuitivo com a menor curva de aprendizado. Existem outros programas excelentes, como EasyEDA e Eagle, disponíveis para ajudar a projetar um PCB. Com o Fritzing, você pode começar a projetar em uma placa de ensaio virtual ou esquemática e, em seguida, passar para o PCB. Usei ambos os métodos para este projeto. Quando você estiver pronto para fabricar o PCB, basta clicar em um botão para exportar seus arquivos e enviá-los diretamente para Aisler, o fabricante parceiro da Fritzing.

Desenhe o esquema; comecei com a guia do esquema para iniciar o processo. Primeiro, encontrei e inseri todos os componentes na área de trabalho. Em seguida, desenhei todos os traços entre os componentes. Fiz questão de adicionar entrada de 5 V e aterramento nos locais apropriados.

Projete o PCBI clicando na guia PCB. Quando você move diretamente de um esquema, você confunde todos os componentes conectados por linhas ratsnest com base nos traços que você fez no esquema. A primeira coisa que fiz foi redimensionar o PCB cinza para o tamanho que eu queria e adicionar orifícios de montagem. Eu também adicionei 16 pinos para as entradas e saídas. Em seguida, comecei a organizar os componentes de maneira lógica. Tentei agrupar componentes com conexões próximas umas das outras para minimizar a distância de rastreamento. Dei um passo a mais e agrupei os componentes por porta lógica. Um dos meus objetivos era conseguir visualizar como funciona o circuito e seguir o "bit" através do circuito. Em seguida, usei a função de autorouting que passa automaticamente e desenha os traçados otimizados entre os componentes. Eu estava cético de que esse processo concluía todos os traçados corretos, então verifiquei e redesenhei os traçados onde deveriam estar. Felizmente, o recurso de roteamento automático fez um bom trabalho e eu só tive que corrigir alguns dos traçados. O autorouter também fez alguns ângulos estranhos com os traços que não são a "melhor prática", mas eu estava bem com isso e tudo ainda funcionou bem. A última coisa que fiz foi adicionar texto que seria impresso como serigrafia. Certifiquei-me de que todos os componentes estavam etiquetados. Também importei imagens de portas lógicas personalizadas para enfatizar o agrupamento dos componentes. A última foto acima mostra a serigrafia.

Fabricar o PCBI clicado no botão fabricar na parte inferior da tela. Ele me encaminhou diretamente para o site da Aisler, onde consegui abrir uma conta e carregar todos os meus arquivos do Fritzing. Deixei todas as configurações padrão e fiz o pedido.

Etapa 4: projetando os outros PCBs

Projetando os outros PCBs
Projetando os outros PCBs
Projetando os outros PCBs
Projetando os outros PCBs
Projetando os outros PCBs
Projetando os outros PCBs

Os PCBs restantes que eu precisava eram a placa de interface de entrada / saída e a placa para o IC. Eu segui o processo como Etapa 3 para essas placas. O pdf dos esquemas está postado abaixo. Para o IC, fiz todas as conexões usando o recurso breadboard virtual. Eu incluí o esquema para estar completo, mas fui capaz de ir diretamente da placa de ensaio para a guia PCB, o que foi muito legal. Eu também adicionei um gráfico de conversão de base 10 para base 2 na serigrafia na placa de interface de E / S antes de fazer o upload e fazer o pedido no Aisler.

Etapa 5: Componentes de soldagem para PCB

Componentes de soldagem para PCB
Componentes de soldagem para PCB
Componentes de soldagem para PCB
Componentes de soldagem para PCB
Componentes de soldagem para PCB
Componentes de soldagem para PCB
Componentes de soldagem para PCB
Componentes de soldagem para PCB

Todos os PCBs chegaram e fiquei realmente impressionado com a qualidade. Não tive nenhuma experiência com outros fabricantes, mas não hesitaria em usar a Aisler novamente.

A próxima tarefa era soldar todos os componentes, o que era um processo árduo, mas minhas habilidades de soldagem melhoraram muito. Comecei com as placas adicionadoras completas e soldou os componentes começando com transistores, em seguida, resistores de 1K e, em seguida, resistores de 10K. Eu segui um método semelhante para soldar o resto dos componentes na placa de E / S e IC. Depois que cada placa do Full Adder foi concluída, testei-os com o mesmo método do Full Adder da breadboard. Surpreendentemente, todas as placas funcionaram corretamente sem problemas. Isso significa que as placas foram roteadas corretamente e soldadas corretamente. Para a próxima etapa!

Etapa 6: Concluindo os PCBs para empilhamento

Concluindo os PCBs para empilhamento
Concluindo os PCBs para empilhamento
Concluindo os PCBs para empilhamento
Concluindo os PCBs para empilhamento
Concluindo os PCBs para empilhamento
Concluindo os PCBs para empilhamento

A próxima tarefa era soldar todos os pinos de cabeçalho em cada placa. Também precisei adicionar fios de jumper entre o pino correto do conector e as entradas / saídas das placas Full Adder (A, B, Cin, V +, GND, Sum, Cout). Essa etapa poderia ser evitada se você projetasse PCBs diferentes para cada nível do circuito adicionador, mas eu queria minimizar o design e o custo criando apenas um PCB Full Adder. Como resultado, as conexões a essas entradas / saídas exigiam fios de jumper. O esquema fornecido mostra como realizei essa tarefa e quais pinos foram usados para cada nível das placas Full Adder. As imagens mostram como eu soldei os fios do jumper para cada placa. Comecei soldando fios livres nos pinos corretos do conector. Em seguida, soldou o cabeçalho ao PCB. Depois de soldar os pinos do conector com os fios do jumper no lugar, soldei as pontas livres dos fios do jumper nas pontas corretas do PCB. A imagem acima mostra um close up dos pinos do conector com os fios de jumpers soldados a eles.

Etapa 7: Alimentação dos circuitos

Alimentando os Circuitos
Alimentando os Circuitos
Alimentando os Circuitos
Alimentando os Circuitos
Alimentando os Circuitos
Alimentando os Circuitos

Eu planejava usar uma fonte de alimentação de 12 V DC barrel jack para este projeto, então projetei a placa de interface de E / S para ter um jack / conector DC para a entrada de energia. Como eu estava usando a mesma placa de E / S e queria usar uma única fonte de alimentação, precisei regular a tensão para 5 V, pois esta é a entrada máxima para o IC SN7483A. Para fazer isso eu precisava de um regulador de 5V e uma chave que pudesse alternar entre 12V e 5V. O esquema acima mostra como conectei o circuito de alimentação.

Etapa 8: Impressão 3D da base

Impressão 3D da base
Impressão 3D da base
Impressão 3D da base
Impressão 3D da base
Impressão 3D da base
Impressão 3D da base

Agora que toda a fiação e solda estão concluídas, eu precisava descobrir como tudo seria mantido junto. Optei por CAD e impressão 3D um design que acomodasse e exibisse todas as partes deste projeto.

Considerações de projetoEu precisava de lugares para montar os PCBs com parafusos e espaçadores. Os Adders empilhados são os mais atraentes visualmente e eu queria tê-los em exibição quando não estivesse em uso, então queria um lugar para armazenar o IC PCB. Eu precisava acomodar o circuito de alimentação com recortes para o switch e jack / conector DC barrel. Por último, eu queria algum tipo de vitrine para evitar que a poeira se acumulasse nos PCBs abertos, então precisava de um lugar para a caixa.

Modelagem 3DEu usei Fusion360 para projetar a base. Comecei com as dimensões do PCB e o espaçamento dos orifícios de montagem. Depois disso, usei uma série de esboços e extrusões para definir a altura e o tamanho da base com os pontos de montagem do PCB. Em seguida, fiz os recortes para o gabinete e o circuito de alimentação. Então, criei uma área para armazenar o IC PCB quando não estiver em uso. Por fim, adicionei alguns detalhes de acabamento da borda e enviei para o Cura, meu software de fatiamento.

ImpressãoEu escolhi o filamento PLA preto. A impressão demorou pouco mais de 6 horas e ficou ótima. Surpreendentemente, todas as dimensões estavam corretas e tudo parecia que se encaixaria corretamente. A imagem acima mostra a impressão depois que adicionei os espaçadores aos orifícios de montagem. Eles se encaixaram perfeitamente!

Etapa 9: Montagem

conjunto
conjunto
conjunto
conjunto
conjunto
conjunto

Insira os espaçadores. Coloquei todos os espaçadores nos orifícios de montagem da base.

Posicione o circuito de alimentação na base. Eu tinha conectado tudo e puxado todos os componentes através do orifício para o interruptor. Em seguida, inseri o conector / adaptador de alimentação na parte de trás da base. Empurrei o regulador de 5 V em seu slot e, finalmente, a chave foi capaz de ser encaixada na posição.

Monte o I / O PCB. Coloquei o IC PCB em seu espaço de armazenamento e coloquei o PCB de interface de E / S na parte superior. Aparafusei o PCB usando 4 parafusos M3 e uma chave hexagonal. Por fim, conectei o conector DC em forma de barril ao PCB.

Empilhe os PCBs do Adder. Eu empilhei o primeiro Adder no lugar. Aparafusei a parte traseira do PCB nos orifícios de montagem traseiros com 2 espaçadores. Repeti esse processo até que o último Somador estivesse no lugar e o fixei com mais 2 parafusos M3.

Faça o recinto. Usei acrílico de 1/4 para o invólucro. Medi a altura final do projeto e, com as dimensões do CAD, recortei 5 peças nas laterais e na parte superior para fazer uma caixa simples com fundo aberto. Usei epóxi para colar as peças juntas. Finalmente, lixei um pequeno recorte semicírculo no lado direito para acomodar o interruptor.

Pronto para calcular

Etapa 10: cálculo e comparação

Image
Image
Cálculo e comparação
Cálculo e comparação
Cálculo e comparação
Cálculo e comparação

Conecte sua nova calculadora e comece a adicionar! O gráfico de base 10 para base 2 pode ser usado para converter rapidamente entre binários e inteiros. Eu prefiro definir as entradas e depois clicar em "igual" girando o botão liga / desliga e observando a saída binária dos LEDs.

Comparando componentes discretos a um circuito integrado. Agora, você pode desempilhar os Adders completos e conectar o IC SN7483A na placa de E / S. (Não se esqueça de girar a chave na direção oposta para alimentar o IC com 5 V em vez de 12 V). Você pode realizar os mesmos cálculos e obter os mesmos resultados. É impressionante pensar que tanto o componente discreto Adder quanto o IC funcionam da mesma maneira, mas em uma escala de tamanho muito diferente. As imagens mostram as mesmas entradas e saídas para circuitos.

Etapa 11: Conclusão

Espero que você tenha gostado deste projeto e aprendido tanto quanto eu. É muito gratificante aprender algo novo e transformá-lo em um projeto único que também requer o aprendizado de uma nova habilidade como design / fabricação de PCB. Todos os esquemas estão listados abaixo. Para os interessados, também posso vincular meus arquivos Gerber do PCB para que você possa fazer sua própria calculadora binária de 4 bits. Feliz fabricação!

Recomendado: