Ir ao conteúdo
  • Cadastre-se

Somador e Subtrator Completo


Posts recomendados

Olá pessoal, bom dia!

 

Elaborei esse circuito que realiza a adição e a subtração por meio uma chave através de um relé. No entanto, quando as entradas são nulas (A=B=0) e o carry in for 1 (Ci = 1), a soma dá zero e o carry out dá 1. Assim, o resultado quando o carry in está em 1 para os casos abaixo, ele não dá certo.

 

A           B             Ci                        S                 Co

0           0              1                         0                  1

1           0              1                         0                  1

0           1              1                         0                  1

 

Alguém poderia me ajudar, já olhei o circuito de cabo a rabo e não encontrei o erro.

 

Agradeço desde já.     

post-542825-0-74800700-1432820754_thumb.

Link para o comentário
Compartilhar em outros sites

Bom.

Se você tem três entradas digitais (A, B e Ci), então você precisa de fazer uma tabela que inclua as 8 possíveis combinações e não apenas as três, que você está mostrando.

 

A     B     Ci     S     C0

 

0     0      0

0     0      1

0     1      0

0     1      1

1     0      0

1     0      1

1     1      0

1     1      1

 

MOR_AL

Link para o comentário
Compartilhar em outros sites

Você não entendeu o meu problema, caro amigo.

 

O Circuito aborda todas combinações que você citou. No entanto, as três combinações de resultados citados apresentavam problemas na saída.

 

Só que ele está apresentando inconsistência quando o carry in está ligado nos casos citados.

 

Analise o circuito antes de opinar.

Link para o comentário
Compartilhar em outros sites

@Nemenlsk,

Já ouviu falar do livro " Como fazer amigos e influenciar pessoas" ? Compre ele, vai te ajudar muito na vida.

Você simplesmente chamou uma das pessoas mais solícitas e experientes deste Fórum, um Mestre que lecionava em Faculdade de Engenharia Eletrônica , de relapso ou incompetente.

Estamos aqui para ajudar, mas esperamos no mínimo educação e respeito.

Já que voce analisou o circuito, e aparentemente sabe tudo sobre ele, não precisa de minha reles opinião.

Boa sorte com seu problema.

Paulo

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Você não entendeu o meu problema, caro amigo.

 

O Circuito aborda todas combinações que você citou. No entanto, as três combinações de resultados citados apresentavam problemas na saída.

 

Só que ele está apresentando inconsistência quando o carry in está ligado nos casos citados.

 

Analise o circuito antes de opinar.

 

Ok!

Analisando sua resposta, penso que você tem maiores condições de resolver o seu problema que eu.

Lamento não poder ajudá-lo mais.

Bons projetos.

MOR_AL

Link para o comentário
Compartilhar em outros sites

O circuito designado como XOR mais perto da saída S funcionam como OR. Por que a implementação dele é diferente da outra XOR?

O relé deveria acionar apenas uma das portas AND sempre deixando uma delas aberta (nível logico 0). No contato da esquerda elimimine a ligação do contato NA (consequentemente elimine um dos diodos, por ficarão 2 em série) e do contato da direita elimine o contato NF (consequentemente elimine a função NOT na entrada da AND de cima). Para a segunda porta AND, ao invés da entrada com a NOT, deverá ser a entrada B1 controlada pelo relé.

Verifique se os circuitos estão correspondendo as funções lógicas, se um circuito ao esta interferindo no outro.

Link para o comentário
Compartilhar em outros sites

Sei..lá..

É muito sofrimento quando qualquer uC de 8 bits pode fazer em uSegundos.

Pra que que serve somar 3 ou 4 bits.?

Devo ser bem chato pra perguntar isto.

Na vida acadêmica tem muito disso: "que chato", "pra que isso?", "pra que complicar?", "que ultrapassado", mas certas coisas são necessárias para se aprender o "como funciona" ou o que tem por dentro de circuitos integrados. Um circuito desses na área profissional nao tem valor algum, mas pra academica tem e muito!

Exceto a comutação entre uma operação e outra, creio que esse circuito resolva mais rápido as operações de soma e subtração que qualquer uC de 8 bits!

Link para o comentário
Compartilhar em outros sites

Penso que para aprender as camadas mais altas da eletrônica é necessário aprender as mais baixas. Vejo gente que destroi em microcontrolador mas se quer se preocupa com (ou conhece) casamento de impedância. Posso até ser trucidado no que vou falar: mas eletrônica digital não existe, e sim eletrônica analógica convencionada digitalmente! voce nunca vai encontrar níveis logicos perfeitos sendo 1 como 5,00V e 0 como 0,00V. O que ocorre é que os circuitos são dimensionados a que trabalhem perto desses limiares. No circuito do topico, apesar de ser digital, se encontra diversos valores de tensão classificados em 0 e 1.

 

Obs.: disse que não existe vendo pelo lado físico, não da teórica hehe!!! Até porque nunca vi um transistor digital kkkk!!!

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Penso que para aprender as camadas mais altas da eletrônica é necessário aprender as mais baixas. Vejo gente que destroi em microcontrolador mas se quer se preocupa com (ou conhece) casamento de impedância. Posso até ser trucidado no que vou falar: mas eletrônica digital não existe, e sim eletrônica analógica convencionada digitalmente! voce nunca vai encontrar níveis logicos perfeitos sendo 1 como 5,00V e 0 como 0,00V. O que ocorre é que os circuitos são dimensionados a que trabalhem perto desses limiares. No circuito do topico, apesar de ser digital, se encontra diversos valores de tensão classificados em 0 e 1.

 

Obs.: disse que não existe vendo pelo lado físico, não da teórica hehe!!! Até porque nunca vi um transistor digital kkkk!!!

Mesmo porque na maioria dos circuitos lógicos que envolvem uCs mais modernoss, 0 e 1 não é mai 0 e 5V, e sim 0 e 3,3V.

Ou seja, até os níveis lógicos não são mais os mesmos.... só comentário!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Embora o aprendizado seja muito interessante, eu sou da opinião de que simular o funcionamento de um somador ou subtrator binário não é algo que importa na formação em eletrônica. Basta entender o básico mesmo, portas OU, And, etc, circuitos sincronos ou assincronos, TALVEZ mapas de Karnaught, e já tá bom, afinal tudo isso foi substituido por microcontroladores ou gigantescos arrays programáveis de várias tecnologias.

Creio que ensinar muito mais detalhadamente todos os módulos internos de um microcontrolador vale bem mais a pena para o aprendizado dos alunos.

 

Estamos presenciando muitas mudanças ao mesmo tempo, e fico pensando se ajuda alguma coisa ensinar coisas da época dos anos 70, quando elas são quase totalmente substituidas nos anos 2010. Enfim, seja qual seja a minha opinião, eu continuo ajudando a todos que perguntem aqui no Fórum, pois sei que isso está sendo cobrado pela escola !

 

Só que insisto que haja respeito e cordialidade, pois de que adianta ser um gênio da eletrônica e ao mesmo tempo ser um sujeito de convivência muito difícil no trabalho ou até no convívio social ? 

 

As pessoas tem de deixar as pedras longe das mãos quando solicitam ajuda, pois é assim que o profissional tem de se portar no ambiente de trabalho.

 

Vou sempre sugerir o excelente livor do Dale Carnegie, o qual vem se mostrando muito útil fazem dezenas e dezenas de anos.

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Embora o aprendizado seja muito interessante, eu sou da opinião de que simular o funcionamento de um somador ou subtrator binário não é algo que importa na formação em eletrônica. Basta entender o básico mesmo, portas OU, And, etc, circuitos sincronos ou assincronos, TALVEZ mapas de Karnaught, e já tá bom, afinal tudo isso foi substituido por microcontroladores ou gigantescos arrays programáveis de várias tecnologias.

Creio que ensinar muito mais detalhadamente todos os módulos internos de um microcontrolador vale bem mais a pena para o aprendizado dos alunos.

 

Estamos presenciando muitas mudanças ao mesmo tempo, e fico pensando se ajuda alguma coisa ensinar coisas da época dos anos 70, quando elas são quase totalmente substituidas nos anos 2010. Enfim, seja qual seja a minha opinião, eu continuo ajudando a todos que perguntem aqui no Fórum, pois sei que isso está sendo cobrado pela escola !

 

Só que insisto que haja respeito e cordialidade, pois de que adianta ser um gênio da eletrônica e ao mesmo tempo ser um sujeito de convivência muito difícil no trabalho ou até no convívio social ? 

 

As pessoas tem de deixar as pedras longe das mãos quando solicitam ajuda, pois é assim que o profissional tem de se portar no ambiente de trabalho.

 

Vou sempre sugerir o excelente livor do Dale Carnegie, o qual vem se mostrando muito útil fazem dezenas e dezenas de anos.

 

Paulo

Aí é que ta: o interior de um microcontrolador é praticamente isso, só que um pouco mais refinado!

Enfim, nao se trata de coisa do futuro e passado. Não digo pra ensinarem sobre disco datilar, mas a eletronica basica (resistores, capacitores, indutores, diodos, transistores...) ainda é a melhor fundamentação!

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@MOR

 

Peço perdão pelo jeito ríspido que citei o senhor, quando tentou solucionar o meu problema. Na realidade não queria desmerecer o senhor, perdão.

 

Me desculpe pelo transtorno causado.


Pessoal, o erro está na conexão das duas portas xor. Elas estão conflitando...

 

Poderiam me ajudar, a encontrar a inconsistência do modelo, por favor.


@aphawk 

 

Você tem razão, realmente transpareceu falta de respeito com o membro @MOR. Por isso, peço perdão a você e a ele. 

 

Desculpe.

post-542825-0-71404400-1433101399_thumb.

Link para o comentário
Compartilhar em outros sites

@Nemenlsk

Sem problemas! Considero águas passadas.

Vamos adiante.

Em seu circuito há 3 chaves, certo.

Minha dúvida inicial é que para fazer um somador de um bit são necessários os dois bits, que você identificou como entrada A1 e B1, certo?

Precisa também do bit vai um, para o caso de existência de uma operação anterior ou da condição dos dois bits A1 e B1 iguais a '1', certo? Seria o terceiro bit de entrada. O Ci (ainda não seria o Bi).

No caso de subtração também seriam necessários três bits de entrada, certo? Agora o diferencial, com relação ao somador, seria o Bi.

Como a função somador é diferente da função subtrator, então precisaria de mais um bit para haver discriminação. Se somador ou se subrator, certo. Este bit interagiria com o circuito para alterar as saídas de acordo com a função.

Será que a chave que aciona o relé faria a função do discriminador? Se fechada seria uma função, se aberta seria a outra?

Por isso que eu havia colocado todas as possíveis opções de entrada.

Com as quatro entradas (A1, B1, Ci/Bi e a soma/subtração), formando 16 opções, poderia montar a lógica (saídas) para Soma/diferença e Co/Bo.

Então, com estas entradas e saídas poderia formar o mapa de Karnaught para minimizar a lógica.

De posse da minimização se poderia montar o diagrama com os resistores, diodos,  transistores e leds.

Por isso que eu coloquei todas as opções. Aliás seriam 16 entradas e duas saídas.

Agora se o circuito for este que consta e quiser entender o que há de errado nele, não seria a solução do problema e sim a solução do circuito. Uma outra situação.

Aguardo seus comentários.

MOR_AL

Link para o comentário
Compartilhar em outros sites

Olha!

Não tem como fugir das quatro entradas e duas saídas, ou seja 16 combinações com as 4 entradas e duas saídas.

Tentei fazer incluindo a função OU exclusivo, mas a lógica ficou mais complicada.

Aí, como você está usando componentes discretos, a função fica parecendo mais complexa, mas acaba ficando mais fácil de resolver.

Fiz a lógica para a saída Soma/Subtração das duas maneiras, com ou exclusivo e com portas and, or e inversor.

A opção com ou exclusivo pode ter mais alguma simplificação, mas eu não disponho de mais tempo.

Se você quiser eu posto as duas soluções (para a saída soma/subtração).

Usando as lógicas discretas, sem o ou exclusivo, sai mais rápido. Posso postar daqui à uma a duas horas (jantar).

MOR_AL

Link para o comentário
Compartilhar em outros sites

Link para o comentário
Compartilhar em outros sites

Bom.

Como mencionei, tive que usar todas as 16 variações referentes às 4 entradas (Ai, Bi, C/B e Soma/Subtr.), uma coluna para a saída Resultado (R = Soma/Subtr.)  e outra saída para o Carry/Borrow.

A coisa ficou meio grande, mas acredito que as chances de estarem certas, parecem boas.

Apresentei duas soluções para o resultado R.

Uma delas usando OU Exclusivo, mas chega em um ponto que me parece que não há mais simplificação. Quem sabe? Se alguém vir uma simplificação pode comentar.

A outra solução usa apenas portas E, OU e NOT, do meu ponto de vista, usando transistores, e diodos, ficam muito mais fáceis de implementar.

A outra saída, a que explicita o carry/borrow, eu não fiz, mas coloquei a tabela dele. Daí é só seguir a mesma metodologia, que você chega lá.

Uma última coisa.

Para facilitar a anotação e caber espaço, eu dei os nomes das entradas como 1, 2, 3 e 4, mas na cópia eu mostro a relação com os nomes originais.

Segue o anexo.

Em tempo:

Tem uma condição que eu não sei a lógica. É o caso que tem uma interrogação em vermelho. É a condição em que o minuendo Ai vale zero, o subtraendo Bi vale 1 e o borrow (Bi) vale 1; Seria Bi = -2?

MOR_AL

post-683989-0-86254400-1433121949_thumb.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@aldss,

 

Não é a solução completa para o problema do autor. Cadê o tratamento do Carry / Borrow ?

 

Paulo

Não? Então o que seria TS? E o TE? Tenho certeza de que é!

 

Obs.: Testei o segundo circuito que passei e funcionou perfeitamente, inclusive 2 em sequencia (um como entrada do outro). O que pega é a corrente para acionar o led. Tente draivar o led utilizando um darlington como um BC517. A corrente para o perfeito funcionamento desses circuitos deve ser muito sublime!

Link para o comentário
Compartilhar em outros sites

Não? Então o que seria TS? E o TE? Tenho certeza de que é!

 

Obs.: Testei o segundo circuito que passei e funcionou perfeitamente, inclusive 2 em sequencia (um como entrada do outro). O que pega é a corrente para acionar o led. Tente draivar o led utilizando um darlington como um BC517. A corrente para o perfeito funcionamento desses circuitos deve ser muito sublime!

 

Se você tiver oportunidade, será que poderia testar a minha solução?

Apresentei dois casos da resposta. Só não fiz o bit de vai 1 e vem 1.

Grato.

MOR_AL

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!