Eu sou novo em engenharia elétrica e o primeiro projeto que gostaria de fazer é criar um audioconversor digital para analógico. Eu descobri que uma boa maneira de fazer isso é usar uma estrutura R-2R para a conversão.
Eu gostaria de me desafiar e começar do zero com a parte digital do circuito, além do fato de não encontrar realmente nenhuma solução na Web para ajudar na construção. Eu tenho um programa de simulação de circuitos e comecei a projetar, enquanto pesquisava na web todos os tipos diferentes de eletrônicos que você poderia usar para isso.
Agora, acho que posso estar em algum lugar próximo ao entendimento do princípio de um CAD, mas seria útil se alguém experiente pudesse me ajudar a verificar se eu realmente o entendi. Este é o lugar certo para pedir isso?
Nesse caso, aqui está o circuito que eu projetei:
Eu usei um registrador de deslocamento com trava de saída para cada canal e vinculei o Q7S de um para o outro para alimentar os dados. É certo que os arquivos de áudio alternem os canais esquerdo e direito, ou vice-versa, em blocos? por exemplo, em um arquivo de 8 bits: 0010 0111 para a esquerda após 0010 0110 para a direita?
Os registros de turno que usei aqui são 74HC595s. Quando a troca de bits, os pinos não estarão (momentaneamente) ativos. Quando a trava [STCP pin] é acionada, os bits são transferidos do registro de deslocamento para o registro de armazenamento, onde eles emitem diretamente seu valor para os pinos correspondentes e permanecem ativos até que os próximos 16 bits sejam permitidos.
Depois, há o cristal, para o qual eu usei um sinal de onda quadrada para imitar um com a freqüência de oscilação correta: 24,576MHz. Alimenta o contador no qual a frequência é dividida para gerar as frequências que meu DAC precisa. Nesse caso, a frequência da amostra deve ser 192.000kHz e, portanto, a frequência na qual os dados são alterados deve ser de 3.02MHz (192.000 x 16 bits). A velocidade do clock de 192.000kHz é usada para acionar o STCP.
A próxima coisa que quero fazer é descobrir como carregar dados de uma fonte (Raspberry, por exemplo) por meio do I2C, talvez, em um buffer no DAC e, a partir daí, registrar os bits no circuito que você vê aqui.
Se você pensa que eu sou ou não estou no caminho certo, seria muito útil que eu me informasse.
Obrigado! Rogier
A propósito, esqueci de mencionar que o DAC que eu gostaria de construir é de pelo menos 24 bits por canal em 96kHZ. Isso ocupa muito espaço nessa ameaça e não deve ser difícil adicioná-las posteriormente. É o mesmo princípio.
Respostas:
Aqui está o que estou pensando:
Infelizmente, a página da wikipedia nos DACs da escada R-2R está incorreta quando diz que a escada R-2R funciona como um divisor atual neste aplicativo. Embora uma escada R-2R possa ser usada como um divisor de corrente, ela realmente funciona como um divisor de tensão aqui. Aqui está uma análise detalhada.
Considere apenas o LSB da escada por si só:
simular este circuito - esquemático criado usando o CircuitLab
Independentemente da posição do comutador, a resistência Thevenin deste divisor de tensão simples é apenas R. O valor da fonte de tensão Thevenin é 0V ou 1/2 × Vref.
Agora, considere o que acontece quando você adiciona o próximo estágio da escada R-2R:
simule este circuito
Você pode ver que esse é o mesmo tipo de divisor de tensão que tivemos no primeiro caso, exceto que o número de combinações de tensão aumentou. No entanto, a resistência Thevenin deste circuito ainda é apenas R, e a fonte de tensão Thevenin agora é 0/4, 1/4, 2/4 ou 3/4 × Vref.
Por indução, você pode ver que é possível adicionar qualquer número de estágios à escada, e o único efeito é que o número de opções para o valor da fonte de tensão de Thevenin é multiplicado por 2 para cada estágio. A resistência da fonte permanece exatamente a mesma para qualquer número de estágios.
Se a impedância de carga for infinita, a tensão de saída da escada corresponderá exatamente à tensão de Thevenin. Mas se a carga tiver algum valor finito de resistência, o único efeito será criar um divisor de tensão com a resistência da fonte de Thevenin, escalando a tensão de saída em uma proporção fixa, mas sem afetar a precisão ou linearidade básica do DAC.
Observe que no circuito original de Rogier (o da questão), os opamps estão em uma configuração inversa, o que significa que a saída da escada R-2R está ligada diretamente a um terreno virtual. Isso significa que o valor de saída é realmente a corrente que flui através de Rth (que é apenas R), e essa corrente também flui através do resistor de feedback do opamp. A tensão de saída do opamp é qualquer voltagem necessária para tornar essas duas correntes iguais e funciona em -Rfb / R × Vth. Como ele usa um resistor de realimentação de 2R, a saída acaba sendo -2 × Vth.
Parece haver alguma confusão sobre se a escada R-2R está sendo usada como um divisor de tensão ou um divisor de corrente, então aqui está uma ilustração de como o último pode funcionar, a fim de mostrar as principais diferenças entre este e o circuito do OP.
simule este circuito
Observe que as correntes que fluem pelos resistores 2R são binárias. Isso funciona porque a resistência efetiva olhando para a direita a partir de qualquer uma das junções triplas também é exatamente 2R. Portanto, a corrente que flui da esquerda sempre se divide igualmente entre o ramo inferior e o ramo direito.
Observe que uma das principais premissas aqui é que todas as pernas estão ligadas à mesma tensão (zero, neste caso). Também é interessante notar que as tensões nos nós de junção também são ponderadas em binário.
Isso pode ser usado para criar um DAC de saída atual da seguinte maneira:
simule este circuito
As correntes nos resistores deste circuito são exatamente as mesmas do diagrama anterior, porque, independentemente da posição em que cada uma das chaves está, o resistor correspondente é conectado a um terra real noIout¯¯¯¯¯¯¯¯¯ barramento ou em um campo virtual no Iout ônibus. As correntes nos dois ônibus sempre somam Iref. Um opamp pode converter a corrente de saída em uma voltagem, e a faixa de voltagem é simplesmente -Iref × R7.
fonte