paint-brush
The Talking Box: um digitalizador de áudio CVSD e dispositivo de reproduçãopor@bobnoxious
285 leituras

The Talking Box: um digitalizador de áudio CVSD e dispositivo de reprodução

por Bob Wright31m2024/06/23
Read on Terminal Reader

Muito longo; Para ler

A revista Radio-Electronics comprou isto como um artigo e, na verdade, me pagou uma boa entrada por ele. Parecia uma ótima maneira de ganhar a vida, já que gosto de projetar, construir, programar e escrever. Então a revista faliu em abril de 1985 e o artigo nunca foi impresso.
featured image - The Talking Box: um digitalizador de áudio CVSD e dispositivo de reprodução
Bob Wright HackerNoon profile picture
0-item

Um digitalizador de áudio CVSD e dispositivo de reprodução

Projetei este circuito em 1985 porque estava sozinho e precisava de alguém com quem conversar. A Caixa Falante diria tudo o que eu mandasse.


Sério, eu o conectei ao meu telefone como uma secretária eletrônica digital. Eu tinha um Data Access Arrangement (DAA) da AT&T que era uma interface de linha telefônica e funcionava muito bem. Eu estava brincando com tons de toque e precisava de boa fidelidade. Então, por engano, os Serviços de Família e Crianças do condado colocaram meu número em alguns de seus cartões de visita. Recebi muitas e muitas ligações, especialmente porque estava escrevendo e lendo minha poesia obscena e lixo como mensagem de resposta. Estou falando de alta fidelidade, baby! Recebi inúmeros atestados sobre o quanto era amado. Basicamente, eu fazia rap antes do rap em 1985. “Olá, você está ligando para atender seu filho?” provavelmente não seria uma saudação aceitável hoje.


Eu escrevi um programa em linguagem assembly em assembler Z80 para gerenciar as funções do dispositivo e, mais tarde, construí uma placa adaptadora que se conectou ao soquete de dispositivo de E/S serial de uma máquina compatível com IBM PC e substituiu o dispositivo UART assíncrono por uma versão síncrona/síncrona universal da Intel, um USART Intel 8251A. Então um amigo, um sujeito chamado Tommy Cobb ou “o Sapateiro”, converteu meu código Z80 em 8088 assemblers para PC. Não consigo me lembrar da última vez que vi meu adaptador para placas de E/S serial IBM PC. Nenhum documento que eu conheça. E não consigo encontrar meu protótipo da Talking Box, mas ela está em algum lugar desta casa, sem dúvida. É uma unidade fotogênica e gostaria de incluir algumas fotos aqui, mas infelizmente.


Além de conectá-lo ao telefone, o software me permitiu selecionar e reproduzir alguns loops interessantes para usar como escopo de armazenamento de áudio. Reproduza as gravações ao contrário para ouvir a voz de... ah, deixa pra lá. ☺


De qualquer forma, a revista Radio Electronics comprou isso como um artigo e me pagou uma boa entrada por ele. Na verdade, fiquei muito impressionado e certamente motivado. Primeiros direitos seriais norte-americanos. Parecia uma ótima maneira de ganhar a vida, já que gosto de projetar, construir, programar e escrever. Houve alguns autores que já tiveram aparições repetidas, então não foi uma ideia original. Então a revista faliu em abril de 1985 e deixou de ser publicada, e o artigo nunca foi impresso. Minha sensação era de que, naquele momento, a indústria de impressão gráfica estava encerrada, o público amador de construção havia evaporado. Isso foi antes da Internet. Então aqui está o artigo ressuscitado, por assim dizer. Esperamos que você goste mesmo em sua obsolescência. Os brinquedos elétricos mantêm a utilidade como conceitos mesmo depois de seu uso ter desaparecido.


O autor também gostaria de agradecer especialmente a John T. Smith, K3GO. por seu trabalho na conversão das digitalizações JPG das páginas digitadas do artigo em texto com seus recursos de OCR.



O Talking Box é um projeto econômico e fácil de construir que pode fornecer a praticamente qualquer computador uma maneira de codificar digitalmente e posteriormente reproduzir a fala humana ou sinais analógicos de frequência de áudio semelhantes. Para proporcionar uma operação simples, o projeto foi projetado para ser conectado à porta serial de E/S de um computador e parecer quase como se fosse apenas um modem telefônico síncrono. Isso resulta em uma interface de dispositivo fácil de conectar para um grande número de aplicações. O circuito do projeto usa a técnica de variação contínua

modulação delta de inclinação para realizar a codificação de sinais analógicos em dados binários e, em seguida, também para decodificar esses dados binários de volta em um sinal analógico. Devido a esta ação de codificação/decodificação, o dispositivo é comum e simplesmente chamado de codec.


A uma taxa de dados serial de dezesseis kilobits por segundo (kbps), a Talking Box pode gravar e reproduzir fala com uma fidelidade comparável à da maioria das secretárias eletrônicas. Aumentar a taxa de dados para 32 kbps, ou cerca de quatro kilobytes de dados armazenados para cada segundo de som reproduzido, resulta em menos de cinco por cento de distorção em um sinal de áudio entre 300 e 3.000 Hz de frequência. Isso permite que o projeto seja facilmente utilizado com um computador para reproduzir e reconhecer sinais de tons telefônicos, por exemplo. Embora o principal objetivo deste artigo seja descrever o projeto e a construção do circuito Talking Box e seu uso para armazenamento binário e reprodução de sinais de áudio ou fala, o dispositivo codec tem inúmeras outras aplicações em comunicações, controle industrial e instrumentação. Algumas das formas possíveis de utilização do projeto incluem filtros digitais, controle remoto de motores, embaralhamento de sinais de voz, codificação de sinais transitórios para armazenamento ou exibição, compressão de amplitude de um sinal, linhas de atraso digital para reverberação, extração e reprodução de alofones. para formar fala sintética, codificação ou decodificação de sinais para modems acústicos, mensagens de dados de voz em pacotes e processamento ou análise de imagens.


Princípios da Modulação Delta

A maioria dos codificadores digitais amostra a amplitude de um sinal continuamente variável em intervalos regulares e depois representa essas amostras por palavras binárias indicando sua amplitude e polaridade. Em contraste, um modulador delta gera palavras de bit único cujo valor representa o erro quantizado, ou "delta" (A), em um sinal de rastreamento, em vez de representar o valor do próprio sinal de entrada. Tecnicamente, um modulador delta é um sistema de controle de dados amostrados em malha fechada que produz uma saída binária cuja polaridade representa a diferença entre o sinal de entrada atualmente sendo amostrado e uma aproximação quantizada do sinal de entrada anterior. Isto é conseguido colocando um comparador no caminho direto e um integrador no caminho de feedback de uma malha de controle simples. Conforme mostrado no Diagrama de Blocos do Sistema de Modulação Delta Linear na Figura 1, as entradas para o comparador são o sinal de entrada e a saída do integrador ou decodificador local.


Assim, a saída do comparador reflete o sinal da diferença entre o sinal de entrada e a saída do integrador. Este bit de sinal controla a polaridade da próxima carga aplicada ao integrador e também forma a saída digital. A saída do comparador normalmente é sincronizada de modo a fornecer um fluxo de bits digital serial síncrono e limitado em banda. A simplicidade dos circuitos necessários e a natureza serial dos dados de saída são as duas vantagens fundamentais do modulador delta. Se o fluxo de bits serial sincronizado resultante for então entregue a um integrador de recepção construído de forma semelhante, como também é mostrado na Figura 1 , a saída deste integrador de decodificação será uma cópia da saída original do integrador de circuito de controle de transmissão. Não há informação de enquadramento contida no fluxo de dados seriais síncronos e a replicação da entrada original, conforme representada pelo fluxo de bits do codificador, começa imediatamente após a entrada desses dados no decodificador. A fidelidade desta cópia dependerá, em grande parte, da extensão em que o integrador transmissor rastreia o sinal de entrada original. Como pode ser visto nas formas de onda mostradas na Figura 2, um diagrama de formas de onda do modulador delta linear, o sinal de feedback do codificador tenta rastrear o sinal de entrada em uma série de etapas em rampa cujo tamanho é constante. Como o sinal de feedback do decodificador local consiste em etapas de tamanho constante ou quase constante formadas por uma rede linear, esse tipo de modulação delta é chamada de modulação delta linear. A presença destas etapas incrementais na saída do decodificador resulta em um sinal de ruído de quantização denominado ruído granular. A filtragem passa-baixa na saída do receptor eliminará a maior parte deste sinal de ruído se a taxa de clock do fluxo de bits estiver uma oitava ou mais acima da largura de banda do sinal de entrada. Uma redução adicional no nível deste sinal de ruído pode ser obtida reduzindo o tamanho do passo, aumentando a frequência de amostragem, ou ambos.


A principal desvantagem de qualquer sistema de modulação linear é a relativa incapacidade de tais circuitos de controle simplesmente planejados de manter uma relação sinal-ruído (s/n) adequada em uma ampla faixa de potência do sinal de entrada, ou seja, eles têm uma faixa dinâmica limitada. Na gravação de voz, por exemplo, os diferentes níveis de potência encontrados nos padrões de fala de diferentes indivíduos resultarão em relações sinal/r significativamente diferentes.


Em um codificador de modulação delta, as informações sobre a inclinação instantânea, ou taxa de mudança na amplitude, do sinal de entrada são indicadas pela taxa sequencial de ocorrência de cada um dos níveis de saída binários ou lógicos. Com uma inclinação zero, sinal de amplitude constante presente na entrada, conforme mostrado no lado esquerdo da Figura 2, o sinal de rastreamento resultante é uma série de etapas em rampa, cada uma igual em nível, mas de polaridade oposta. Isto resulta ainda numa sequência alternada de zero-um na saída digital que pode assim ser vista como indicando ou correspondendo a períodos de silêncio relativo, ou a um nível de amplitude constante, no sinal de entrada. Qualquer desvio deste resultado desejado durante os períodos de silêncio é referido como ruído de canal inativo e, claro, fará com que um sinal diferente de zero seja emitido pelo decodificador associado.


Conforme explicado, uma sequência alternada de uns e zeros será emitida como resultado da aplicação de um sinal de entrada com inclinação zero. Mas suponha que a inclinação do sinal de entrada mude tão rapidamente que o sinal de feedback (isto é, a saída do integrador do codificador) não possa mais rastrear o sinal de entrada. Neste caso, um fluxo de bits de polaridade constante resultará na saída. Esta condição é chamada de sobrecarga de inclinação e, quando ocorre, a saída do decodificador pode ser bem diferente do sinal original. O grau de diferença entre o sinal original e sua réplica é denominado ruído de sobrecarga de inclinação. O ruído de sobrecarga de inclinação contribui mais para a distorção de uma forma de onda replicada do que o ruído granular ou de quantização e, portanto, tem um efeito maior na fidelidade absoluta da forma de onda. Os ouvintes humanos, no entanto, consideram o ruído granular perceptivamente mais perceptível e irritante nos sinais de fala reproduzidos.


Assim, podemos ver que a relação sinal/rua para um codificador linear é diretamente afetada pelo nível de potência do sinal de entrada. A um nível de potência de entrada baixo, o rastreamento do sinal é fraco porque o sinal de rastreamento de feedback faz excursões substanciais em torno do sinal de entrada relativamente pequeno e, portanto, o tamanho do passo comparativamente grande gera quantidades significativas de ruído granular. À medida que o nível de potência do sinal de entrada aumenta, a relação S/N melhora linearmente à medida que o ruído de quantização se torna uma parte cada vez menor da potência total presente. A capacidade do codificador de rastrear o sinal de entrada melhora progressivamente até que o codificador fique ligeiramente sobrecarregado pela inclinação. Neste ponto, a relação sinal/ruído começa a diminuir à medida que o conteúdo de potência do ruído aumenta mais rapidamente do que o conteúdo de potência do sinal. Uma representação gráfica dessas relações é mostrada na Figura 3, Potência de sinal e potência de ruído em sistemas moduladores Delta.


Os limites de frequência para o sinal de entrada analógico para o* codificador são limitados na extremidade superior. Existe alguma frequência de clock determinada pela taxa de amostragem de Nyquist que é maior que a largura de banda do sinal de entrada e que codificará o sinal em um determinado nível de ruído, desde que tenhamos um tamanho de passo pequeno o suficiente. Os limites de amplitude para o sinal de entrada, entretanto, são limitados nas extremidades superior e inferior. Para qualquer nível de sinal de entrada específico, existe um tamanho de passo do integrador associado que fornecerá a relação sinal/ruído ideal. Infelizmente, o tamanho fixo do passo resulta em um valor limite relativamente pequeno para a faixa dinâmica útil do sinal de entrada em um codificador linear.


Considere agora a melhoria na relação sinal/ruído que resultaria se o tamanho do passo de rastreamento pudesse de alguma forma ser diminuído quando a inclinação do sinal de entrada for pequena, e então grande quando a inclinação se tornar acentuada. Isto poderia ser conseguido ajustando o ganho do integrador. Obviamente, o sinal de feedback acompanharia melhor uma faixa mais ampla de níveis de potência de entrada. Como o ruído de quantização é proporcional ao quadrado do tamanho do passo, tornar o tamanho do passo adaptável a uma faixa mais ampla de sinais de entrada faria com que a potência do ruído variasse com a potência do sinal de entrada, em vez de ser independente dela, como acontece com o delta linear. modulação. Tornar a potência do ruído proporcional à potência do sinal faz com que a relação S/N tenha um valor constante independente do nível do sinal de entrada. Este é o princípio da modulação delta adaptativa. Para uma determinada taxa de clock e largura de banda do sinal de entrada, a abordagem de ajuste do ganho do integrador pode fornecer um aumento considerável na faixa dinâmica útil, conforme mostrado na Figura 3.


Muitos algoritmos têm sido usados para alterar de forma adaptativa o tamanho do passo do integrador de rastreamento, mas o Talking Box emprega a técnica conhecida como modulação delta de inclinação continuamente variável (CVSD). Também referida como modulação delta silabicamente expandida, é um método preferido para codificação e decodificação de voz ou outros sinais analógicos com uma grande faixa dinâmica. Externo aos elementos operacionais contidos no modulador delta linear mostrado anteriormente está a implementação de um algoritmo que monitora as saídas digitais atuais e anteriores do modulador delta e então ajusta o ganho do integrador do codificador de acordo. Conforme mostrado no Diagrama de Blocos do Sistema de Modulação CVSD, Figura 4, a parte de monitoramento do algoritmo é realizada com um simples registrador de deslocamento que armazena os últimos três ou quatro bits de saída. O algoritmo padrão aceito fornece uma indicação quando todos esses bits armazenados sequencialmente são do mesmo nível lógico, uma condição chamada coincidência. A ocorrência de uma saída de coincidência verdadeira sinaliza que o ganho atual do integrador é provavelmente muito pequeno para rastrear a entrada analógica. A saída de coincidência permite que uma corrente maior carregue um filtro passa-baixa, e a saída de tensão deste filtro é então empregada para ajustar a magnitude absoluta do ganho do integrador do codificador. A maioria das aplicações usa um filtro passa-baixa unipolar simples com uma constante de tempo de coincidência fixa variando de cerca de cinco a dez milissegundos, o que é equivalente ao período de tom típico da fala sonora, até cerca de cem milissegundos, o que é equivalente ao durações silábicas típicas da fala. Conseqüentemente, esse filtro é frequentemente chamado de filtro silábico em aplicativos de codec de voz. Freqüentemente, o valor da constante de tempo é finalmente selecionado por uma questão de preferência subjetiva.


Esta seqüência coincidente de algoritmo de detecção de níveis lógicos é significativa, tanto por sua elegante simplicidade quanto porque muitos outros algoritmos que usam o registrador de deslocamento foram tentados com resultados menos satisfatórios. com o algoritmo aceito, a presença do sinal de coincidência está relacionada à natureza do envelope do sinal de entrada e, portanto, indica o nível de potência médio do sinal no tempo, em vez da informação mais instantânea sobre a inclinação da curva de entrada que outra detecção de sequência métodos fornecem. O efeito do algoritmo é comprimir o sinal e, assim, aumentar a faixa dinâmica realizável.


O algoritmo é repetido no decodificador e assim os dados de nível são recuperados na extremidade de recepção. Se o fluxo de dados do codificador CVSO fosse inserido em um decodificador linear, a forma essencial do sinal de entrada analógico do codificador seria replicada, mas toda a saída teria níveis iguais. O fluxo de bits parece vir de um codificador linear com um nível de entrada constante e, portanto, o algoritmo é necessário na extremidade do decodificador para restaurar as variações do nível de amplitude descompactando ou expandindo o sinal. É interessante notar que, uma vez que o algoritmo opera apenas nos dados seriais anteriores, é efetivamente equivalente a aumentar o conteúdo de informação do fluxo de bits sem alterar a taxa de bits do canal.


Portanto, podemos ver que o princípio da modulação delta acoplado ao algoritmo CVSO fornece um método eficiente e fácil de implementar para digitalizar informações analógicas de frequência de voz em um fluxo de dados serial.


Especificações da realização do circuito Talking Box

O Talking Box implementa o circuito eletrônico do codificador e decodificador CVSD usando o circuito integrado (IC) Motorola MC3417 ou MC3418 para realizar as funções do modulador delta. Esses ICs são blocos de construção CVSO de uso geral que permitem que a realização do circuito seja adaptada aos requisitos específicos de uma aplicação. De acordo com a Motorola, a correspondência de corrente para a chave de polaridade de inclinação é ajustada a laser durante a fabricação do IC MC3418 para garantir o desempenho do canal ocioso com um tamanho de passo mínimo de cinco milivolts e uma correspondência de corrente típica de um por cento de quinze microamperes a três miliamperes. Isto permite uma variação do tamanho do passo de trezentos para um, o que reflete a capacidade de uma faixa dinâmica significativa do sinal analógico.


Como o próprio circuito da Talking Box consiste em um codificador e um caminho de decodificador separados, isso permite seu uso simultâneo para enviar e receber, permitindo a operação full duplex. Tanto o codificador quanto o decodificador são acionados pelo mesmo circuito gerador de clock TTL de taxa variável. Os elementos de suporte que consistem em um par de reguladores de tensão e os CIs conversores de nível de interface RS232 são as únicas outras peças na placa de circuito impresso.


O circuito eletrônico do caminho do codificador é mostrado no diagrama esquemático da Figura 5, um Digitalizador de Fala Codec CVSD (A/D). Como é mostrado ali, o circuito é dividido em quatro áreas funcionais, começando com o circuito pré-amplificador do microfone, seguido por um amplificador de controle automático de ganho (AGC), um filtro passa-faixa de fala e finalmente terminando com o próprio circuito modulador CVSD.

O pré-amplificador de microfone é um circuito amplificador de entrada clássico, sem transformador, desequilibrado ou de terminação única. Para um desempenho ideal de ruído com sinais de baixo nível esperados de uma fonte de áudio, como um microfone dinâmico, o design utiliza uma configuração não inversora. Esta implementação é realizada em um quarto de um IC de amplificador operacional quádruplo (amplificador operacional) tipo TL084 com entradas de transistor de efeito de campo (FET) de alta impedância. O pré-amplificador possui um ganho ajustável que pode ser variado usando um trimpot conectado como resistor de feedback, denominado MIC GAIN. O amplificador também possui um roll-off de baixa frequência, ou seja, característica passa-alta, cuja frequência de canto é estabelecida pelos valores da combinação resistor/capacitor em série que vai da entrada inversora do amplificador operacional até o terra. Isso serve para reduzir a sensibilidade de captação de zumbido do campo CA ambiente (geralmente 60 Hz) do pré-amplificador e para reduzir o conteúdo de potência de baixa frequência do sinal de entrada. Finalmente, o pré-amplificador também possui um capacitor de pequeno valor colocado na entrada não inversora, ou de sinal, do amplificador operacional até o terra, que serve para contornar ruídos indesejáveis de alta frequência que podem estar presentes no cabo do microfone. Observe que o resistor de entrada em série (100 Ohms) pode ser substituído por um capacitor, geralmente de cerca de um microfarad, para algumas aplicações.


Seguindo o pré-amplificador de microfone está um circuito amplificador A6C que serve para fornecer compressão de nível do sinal de áudio antes de aplicá-lo ao filtro de voz e ao codec CVSD. Esta ação limita a faixa dinâmica da amplitude do sinal antes de sua submissão à passagem de banda de frequência e ao processamento do codificador. O circuito AGO empregado na Talking Box é descrito por Jerald Graeme da Burr-Brown Research Corporation*. Seu funcionamento é baseado na utilização de um FET como elemento de resistência variável controlada em uma rede divisora de tensão em T que determina a faixa de ganho e amplitude de saída deste estágio.

A ação do circuito AGC é realizada com o FET e dois amplificadores operacionais do mesmo pacote quad parcialmente usado para o pré-amplificador de microfone já descrito. O primeiro amplificador operacional serve como um amplificador inversor controlado por ganho e o segundo como um amplificador com detecção de pico. Se o nível positivo de pico do sinal de saída exceder o valor de tensão definido no braço limpador do potenciômetro AGC LEVEL, então a saída do comparador de detecção oscilará positivamente, aumentando a tensão da porta do FET e, assim, diminuindo sua resistência dr-in-fonte . Isso, por sua vez, fará com que mais sinal de entrada seja desviado para o terra, resultando em um ganho geral reduzido do circuito para este estágio. A amplitude do sinal de saída pode ser definida entre zero e o nível de saturação ou corte do amplificador controlado por ganho, ajustando o potenciômetro de controle AGC LEVEL mencionado acima»


Uma dificuldade encontrada em muitas implementações que utilizam o conceito de FET como elemento de resistência variável para sinais de áudio centra-se no facto de a resistência do próprio dispositivo ser modulada pelo sinal transmitido através dele. A falha em compensar adequadamente este aspecto das características do FET resultará em ganho e distorção dependentes do nível do sinal. O circuito mostrado na Figura 5 emprega um novo método de correção de feedback para reduzir significativamente esta modulação de nível de sinal. Como pode ser visto, o sinal que aparece no condutor de drenagem do FET é acompanhado por um sinal em fase igual, mas oposto, derivado da saída do amplificador AGC associado. Os valores de resistência utilizados no circuito são selecionados de modo a permitir que o FET desfrute de operação em níveis de sinal pequeno; uma circunstância que também ajuda a minimizar a distorção. Conforme mostrado, a saída do estágio AGC é então aplicada ao filtro passa-banda de voz visto a seguir no caminho do sinal do codificador.


O estágio do circuito do filtro passa-banda de voz permite nominalmente a passagem de sinais de entrada dentro de uma banda passante de frequência de 300 a 3000 Hz, rejeitando aqueles que estão fora desta faixa. Uma das principais considerações na seleção de uma técnica de implementação para filtros passa-banda é o valor de um parâmetro derivado denominado largura de banda normalizada ou fracionada. Numericamente, é o resultado obtido subtraindo a frequência de corte inferior de -3dB, ou meia potência, da frequência de corte superior de -3dB e dividindo ainda mais esse valor de diferença pela média geométrica dessas mesmas duas frequências. O. a média geométrica é, obviamente, a raiz quadrada desse valor de diferença recém-calculado. A largura de banda fracionária assim calculada a partir das frequências de corte especificadas (altas e baixas) do filtro de voz do codificador tem um valor de aproximadamente três, descobrimos que à medida que este valor calculado para a largura de banda fracionária começa a ultrapassar um valor de cerca de 0,8 e se aproxima ou excede a unidade ( ou um valor numérico de um) abaixo, geralmente melhores resultados para o desempenho do filtro passa-banda são obtidos a partir de seções de filtro passa-alta e passa-baixa em cascata, em vez de uma verdadeira implementação de passa-banda. Este é o método usado no circuito do filtro de voz do codificador.


Outra área a ser considerada é a necessidade de boas características de frequência e resposta transitória para o filtro de fala. O tipo de filtro Butterworth tem a amplitude de banda passante mais plana, ao mesmo tempo que fornece uma taxa de redução de atenuação inicial moderadamente rápida. Embora haja uma mudança de fase com mudança de frequência na banda passante ao usar esses filtros, ela é gradual e não é perceptível de forma audível. Além disso, esse tipo de filtro tem um baixo overshoot e uma resposta transitória aceitável. Todos esses fatores se combinam para fornecer baixa distorção de sinal com esta variedade de filtros. Os tipos de filtros passa-alta e baixa escolhidos para uso no codificador são filtros ativos de terceira ordem que exibem uma taxa de corte acentuada de -18dB por oitava além da frequência de canto e uma resposta plana de potência e frequência de tensão com uma mudança gradual na mudança de fase através a banda. O circuito eletrônico específico empregado para implementar os filtros é conhecido como um projeto de ganho infinito # de feedback múltiplo e foi escolhido porque oferece um bom compromisso entre complexidade e propagação e sensibilidade do valor dos componentes. Cada seção é realizada com metade de um IC de amplificador operacional de entrada FET dupla LM353. Esses dispositivos possuem uma impedância de entrada muito alta, uma taxa de variação rápida e operação extremamente estável com cargas capacitivas. Como há dois amplificadores operacionais inversores em cascata no filtro, o resultado líquido aproxima-se de uma mudança de fase zero através do estágio.


O sinal de saída do filtro passa-banda de voz é então finalmente aplicado ao circuito modulador CVSD. Essencialmente, toda a funcionalidade ativa deste estágio está contida no próprio IC, enquanto os componentes discretos servem para estabelecer os parâmetros específicos de três áreas de operação do dispositivo.


Primeiro, descobrimos que dois diodos de silício estão conectados do pino 12 do IC ao terra, o que estabelece o ponto limite para as entradas de sinal lógico do dispositivo em aproximadamente 1,4 volts (cerca de duas quedas de diodo) acima do solo para uso com níveis lógicos TTL. ou a interface RS232 ICS também na placa.


A segunda área a ser considerada é a rede de filtros do integrador de rastreamento. O circuito Talking Box usa uma rede de filtros integradores unipolares conectada ao amplificador integrador do decodificador local entre os pinos 6 e 7 do IC. A saída

do integrador de rastreamento que aparece no pino 7 também está conectado a uma entrada do comparador de sinal analógico no pino 2. O uso de uma rede bipolar para este filtro pode melhorar a relação sinal/ruído em um ou dois dB em relação ao single- realização do pólo. Se desejado, uma rede bipolar pode ser implementada cortando o traço que conecta os pinos 2 e 7 na parte superior da placa de circuito impresso e conectando os pinos no lado do condutor com um resistor adequado e, em seguida, adicionando um capacitor do pino 2 ao terra. . A derivação dos valores dos componentes necessários é explicada na folha de dados 2 da Motorola.


Observe, entretanto, que o filtro unipolar mostrado e normalmente usado provou ser totalmente adequado para reprodução TouchTone a uma taxa de dados de 32 kbps com o dispositivo MC3417.


A área final da operação do modulador CVSD é a rede de filtros silábicos e a determinação do tamanho mínimo do passo do integrador e do ganho de loop para o dispositivo IC. O filtro silábico é um circuito simples passa-baixa unipolar que consiste em dois resistores rotulados Rs e Rp, e o capacitor Cs. Normalmente o capacitor é carregado através de Rs e Rp em série. Mas quando a saída de coincidência, pino 11 do IC, se torna verdadeira, isso atua para remover efetivamente o resistor superior, Rp, do caminho de carga para Cs e, assim, aumenta a corrente de carga e, em última análise, o tamanho do passo do integrador como resultado. O resistor Rm serve para determinar o tamanho mínimo do passo do integrador, enquanto o valor do resistor Rx serve para estabelecer o ganho do circuito por uma simples transformação linear de corrente em tensão. A modificação desta relação de transformação pode resultar num aumento significativo na relação sinal/n, mas com um aumento concomitante na complexidade do circuito eletrônico. Por exemplo, o uso de dispositivos de circuito ativo para realizar esta função pode facilmente resultar em 50 dB de faixa útil de amplitude de sinal (dinâmica) com uma relação sinal/ruído de 30 dB quando operado a uma taxa de dados de 32 kbps.


Existem três caminhos de sinal digital ou de nível lógico associados à operação do IC codificador CVSD. O primeiro desses sinais é a entrada de clock no pino 14, que normalmente é fornecida pelo circuito gerador de clock descrito abaixo. Um segundo sinal lógico é a saída digital que aparece no pino 9, que é o fluxo de dados serial real vindo do modulador. Os bits de dados são sincronizados fora do dispositivo na borda descendente da entrada do clock para o IC no pino 14. O terceiro e último sinal lógico é a entrada forçada de inatividade, pino 15 do IC, para o circuito. Quando a saída digital do pino 9 é conectada ao pino 13 do IC, como mostrado, um flip-flop alternado é formado dentro do dispositivo e ativar o pino de entrada ocioso forçado resulta na transmissão de um padrão de canal ocioso do saída digital do codificador. Esse recurso permite uma maneira fácil de estabelecer a sincronização do link de dados ou forçar um padrão de silêncio do codificador.


Tendo assim examinado as particularidades do circuito que compreende o caminho do codificador para a Talking Box, vamos agora voltar nossa atenção para o projeto do circuito usado no caminho do decodificador. O diagrama esquemático de todo o caminho do decodificador é mostrado na Figura 6, um gerador de fala de codec CVSD (D/A). Como pode ser visto neste diagrama, o caminho do decodificador consiste em três estágios principais de operação, começando com o demodulador CVSD, seguido por um filtro passa-banda de voz cuja saída finalmente aciona um amplificador de saída.

Como foi explicado na seção sobre os princípios da modulação delta, a função do decodificador pode ser vista e compreendida como um tanto complementar à do codificador. Não é de surpreender, então, que possamos notar uma semelhança espelhada em seus respectivos circuitos eletrônicos e valores de componentes.


Assim, no esquema do estágio demodulador CVSD, a função operacional e o valor dos resistores rotulados Rp e Rs juntamente com o capacitor Cs são inteiramente análogos à função operacional e ao valor daqueles componentes rotulados de forma idêntica na Figura 5, o diagrama para o caminho do codificador o circuito. Da mesma forma, os resistores rotulados como Rx e Rm servem de maneira análoga à de seus complementos rotulados de forma idêntica na implementação do codificador. De maneira semelhante, mesmo os componentes que formam a rede de filtros integradores do decodificador para o demodulador CVSD são análogos aos encontrados no circuito modulador. Finalmente, os níveis de limite lógico para o IC decodificador também são definidos pela queda em um par de diodos de silício, como é feito com o IC codificador.


No caminho do decodificador, entretanto, existem apenas dois caminhos de sinal digital associados ao circuito. Há uma entrada de clock que normalmente é acionada pelo mesmo circuito gerador de clock TTL usado para a função de codificação. Este sinal é aplicado ao pino 14 do IC decodificador e cronometra os bits de dados que aparecem, um por vez, na entrada digital, pino 13, no IC.


A saída do estágio demodulador CVSD é, obviamente, uma cópia não filtrada do sinal analógico original que já foi inserido no caminho do codificador. Em seguida, ele é aplicado ao filtro passa-faixa de fala do caminho do decodificador, que serve para remover o ruído granular ou de quantização descrito anteriormente. A realização do hardware é essencialmente idêntica àquela empregada no caminho do codificador, exceto que a ordem em cascata dos circuitos passa-alta e passa-baixa foi invertida. No filtro decodificador, o primeiro objetivo é remover o ruído de quantização tanto quanto possível, assim a função passa-baixa é colocada primeiro e mais próxima da entrada do estágio de filtro (e também da saída do decodificador) para maximizar isso. atenuação.


Mostrado após o filtro de voz no caminho do sinal do decodificador está o terceiro e último circuito decodificador, o amplificador de saída. Como o nome indica, este estágio amplifica o sinal de áudio emitido pelo filtro de voz. Um par de transistores bipolares de silício complementares é conectado como dispositivos de buffer para melhorar a capacidade de saída de energia do IC do amplificador operacional LF356 usado neste circuito. Um controle de ganho (ou NÍVEL DE SAÍDA) é fornecido na forma de um trimpot no caminho de feedback, mas o valor do resistor que vai da entrada não inversora do IC do amplificador operacional para o terra também pode ser modificado para ajustar a faixa da saída nível. Em última análise, o sinal amplificado é acoplado através de um capacitor eletrolítico de grande valor ao primário do transformador de saída. O sinal desenvolvido através do secundário é então a saída final do caminho do decodificador, o que completa a descrição desta parte dos circuitos eletrônicos.


Como foi mencionado anteriormente, além dos circuitos do caminho do codificador e do caminho do decodificador que acabamos de descrever, o outro elemento principal do circuito da Talking Box é o gerador de clock usado para controlar o tempo desses dois primeiros. O diagrama esquemático para este circuito é mostrado na Figura 7, um circuito gerador de relógio TTL de frequência selecionável. Como pode ser visto aí, este circuito consiste essencialmente em um oscilador controlado por cristal acionando uma cadeia divisória programável cujo módulo de divisão é determinado pelo valor definido em um dipswitch associado. O divisor programável é, portanto, muito facilmente configurado para uma grande variedade de taxas de clock de dados e, de fato, para flexibilidade, esta taxa de clock pode ser configurada para ser selecionável pelo computador associado através da interface de conexão.


Os componentes finais do circuito eletrônico na placa de circuito impresso são os elementos de suporte que consistem nos reguladores de tensão positiva e negativa e nos CIs conversores de nível RS232 usados pela interface do computador. Um desenho esquemático incluindo essas peças é mostrado na Figura B, o diagrama dos Circuitos de Interface RS232 e Reguladores de Tensão.


Tendo visto como funcionam os moduladores delta em geral e depois como este funciona em particular, vejamos agora como o hardware real é realizado e construído fisicamente.


Construção Física do Projeto Talking Box

O circuito eletrônico que acabamos de descrever está todo contido em uma única placa de circuito impresso de dupla face. Um lado desta placa é usado principalmente como plano de aterramento, o que permite o posicionamento próximo e a mistura de circuitos digitais e analógicos. Uma imagem positiva dos traços do circuito em ambos os lados da placa de circuito impresso é mostrada na Figura 9, Layout da placa de circuito impresso do codec CVSD. Observe que, embora o cartão seja de dupla face ou tenha caminhos condutores na frente e no verso da placa, o layout é tal que não requer o uso de furos passantes ou condutores para conectar os dois lados. É claro que isso é feito para permitir uma duplicação fácil e barata da placa de circuito sugerida para uso no projeto. Placas de circuito acabadas com furos passantes e cópias em filme da arte estão disponíveis conforme mostrado na lista de peças.


Observe que os alvos de alinhamento são fornecidos nas áreas periféricas nas laterais dos próprios layouts dos circuitos dianteiro e traseiro. Primeiro, levante esta obra de arte como uma imagem de filme para cada lado (geralmente como um negativo), certificando-se de incluir esses alvos em cada caso. Em seguida, usando esses alvos, alinhe as imagens frontal e traseira do filme uma sobre a outra e fixe-as uma na outra. Agora faça três furos de registro separados em ambas as folhas de filme simultaneamente com um furador de papel redondo. Tenha cuidado ao perfurar um local fora das áreas da arte do circuito. A presença desses furos de registro servirá então para permitir que as folhas de filme frontal e traseira sejam alinhadas entre si por meio de pinos adequados colocados através desses furos, enquanto um pedaço de material da placa de circuito a ser exposto é colocado entre eles em um sanduíche como moda, garantindo assim fácil registro de frente para trás dos dois lados da placa de circuito. Esses pinos de registro, dimensionados com precisão, estão disponíveis comercialmente em empresas fornecedoras de circuitos impressos, mas a experiência mostra que um lápis ou pino raspado no tamanho adequado servirá bem para esse propósito se algo como uma haste pré-formada do tamanho adequado não estiver disponível. Um tamanho de broca número 68 é adequado para a maioria dos furos suportados, ou seja, aqueles que possuem um condutor de componente passando por eles. As exceções são os orifícios de montagem do regulador, que são o número 37, e os orifícios de montagem do conector phono, que têm 3/16 polegadas de diâmetro.


Dois diagramas são usados para mostrar os detalhes de montagem e montagem dos componentes da placa de circuito impresso. O primeiro deles, Figura 10, o Diagrama de montagem dos componentes da placa de circuito do Codec CVSD, mostra o posicionamento das peças conforme elas devem ser montadas e soldadas à placa e também mostra a localização de vários pontos rotulados nos esquemas, alguns dos esses locais de circuito rotulados servem como conexões para usar como pontos de teste, enquanto outros permitem amarrar várias opções de configuração.


O segundo diagrama. A Figura 11, o diagrama de localização dos 'fios Z' da placa de circuito do codec CVSD, detalha a localização dos orifícios na placa de circuito que devem ser soldados na parte superior ou no lado do componente da placa. Observe que esta etapa é necessária somente se não houver furos passantes na placa e se a placa mostrada na lista de peças tiver tais furos. Se houver um terminal de componente neste local do furo, solde-o em ambos os lados da placa. Se não houver nenhum componente através deste orifício, passe um fio através do orifício e do rebite e solde-o à placa em ambos os lados. Este método de obter uma via ou caminho condutor de um lado a outro de uma placa de circuito é frequentemente chamado de “fio Z” devido à aparência grosseira do jumper para essa letra, daí o título da Figura 11. Observe que nenhum dos os orifícios que devem ser soldados no lado do condutor da placa de circuito são cegos, ou seja, inacessíveis com os componentes montados. Isso permite que o circuito do projeto seja facilmente montado com uma placa impressa caseira, sem necessidade de furos passantes e com poucos jumpers.


O conector RS232 em si deve ter a linha superior de pinos, ou seja, números de um a treze, soldados na parte superior ou no lado do componente da placa, enquanto a linha inferior, pinos de doze a vinte e cinco, deve ser soldada no parte de trás do tabuleiro.


Operação de interface de computador para o projeto Talking Box

Agora que vimos os princípios eletrônicos da operação do CVSD e como a placa de circuito do projeto é construída fisicamente, a próxima área que examinaremos é o software necessário para conectar o dispositivo a um computador associado.


Como foi mencionado na introdução, o Talking Box aparece essencialmente como se fosse um modem síncrono para o computador de suporte conectado. Descrevemos cinco caminhos de sinal digital para dentro e para fora do circuito do projeto até agora. É claro que esses eram os dois caminhos de dados, um para o decodificador e outro para o codificador; os dois sinais de relógio associados; e a entrada de força ociosa para o codificador. Alguns outros sinais de interface física opcionais são descritos na próxima seção sobre exemplos de aplicação. Contudo, uma vez que as explicações imediatamente seguintes se preocupam apenas com os aspectos programáticos da operação de troca de dados em si, apenas estas cinco linhas de sinal são agora consideradas como conectadas de e para uma porta serial de E/S em um computador associado. As especificações de hardware desta interconexão são mostradas em detalhes na Figura 12, Esquema de fiação do dispositivo SIO para uso da placa CVSD.


No decorrer da discussão a seguir, nos referiremos às rotinas de software mostradas na Listagem 1, intitulada Programa Driver CVSD. Esta listagem de programas contém tanto o módulo de rotinas necessário para controlar um dispositivo de E/S serial compatível com Intel 8251, ou seja, USART, quanto o módulo necessário para controlar um dispositivo de E/S serial compatível com Zilog SIO. Com a escolha apropriada do módulo driver, qualquer um desses dispositivos pode ser facilmente operado em modo síncrono adequado aos requisitos da Talking Box. O código-fonte é escrito inteiramente em linguagem assembly Intel 8080 e a escolha de utilização entre os módulos é feita por meio de instruções equate.


Os módulos de driver de software USART e SIO contêm, cada um, quatro rotinas principais, ou pontos de entrada, que estão diretamente relacionadas à troca de dados do computador com o codificador/decodificador. Esses quatro pontos de entrada são a rotina INUART, as rotinas SERIN e SEROUT e a rotina GETSYNC.


Antes de seu primeiro uso para transferir dados em qualquer direção, o usuário deve primeiro inicializar ou configurar o software do próprio dispositivo de E/S serial para operar em modo síncrono. Isso é feito por meio de uma chamada à rotina denominada INUART. Em qualquer módulo, esta sequência de instruções serve essencialmente para carregar os registradores de controle do dispositivo de E/S, de modo que façamos com que ele opere em caracteres de dados de oito bits (byte-wide) sem nenhum bit de paridade adicionado, e para que ele use um caractere único como modelo para um padrão corresponder ao fluxo de bits serial (geralmente chamado de caractere SYNC) para assumir que a sincronização em um limite de caractere foi encontrada (chamada detecção de sincronização).

Observe que na maioria das comunicações síncronas não há bits de enquadramento de caracteres, como os bits de início e parada familiares aos protocolos de comunicação serial assíncronos ou orientados a caracteres. em vez disso, cada bit que forma um caractere é, por sua vez, transferido para dentro ou para fora do dispositivo serial por um sinal de temporização apresentado em um caminho de conector de sinal separado e os limites dos caracteres são determinados pela contagem do número adequadamente definido de bits por caractere do clock in fluxo de bits. A maioria dos aplicativos de transferência de dados de modem telefônico "real" ou síncrono envia e recebe os caracteres de dados em blocos com pausas entre essas transferências para ressincronizações periódicas do fluxo de dados e para permitir coisas como verificação de erros no conteúdo de cada bloco. Por razões óbvias, então, os métodos síncronos são frequentemente chamados de protocolos de comunicação serial orientados a mensagens.


Depois que o dispositivo SIO ou USART é inicializado e colocado em operação, ambos continuam a ser relativamente fáceis de controlar por software. Em ambos os casos, as rotinas SERIN (obter um caractere da porta) e SEROUT (enviar um caractere para a porta) são as mesmas que poderiam ser para uma aplicação assíncrona simples. Assim, as rotinas de entrada e saída de caracteres envolvem apenas o teste de loop de um nível de bit dentro de um byte de estado que é lido repetidamente a partir do dispositivo de E/S, a fim de determinar se um caracter está pronto para ser aceito ou entregue. Quando esse teste é finalmente satisfeito, o próprio caractere é lido ou gravado na porta serial antes que a rotina seja encerrada com um retorno ao chamador.


A rotina de driver restante é aquela chamada GETSYNC. Mais uma vez a rotina realiza praticamente a mesma função para qualquer escolha de dispositivo de E/S. Este ponto de entrada geralmente é chamado no início de um ciclo de gravação para realmente iniciar a entrada de dados de áudio do codificador. Nesta tarefa, a rotina serve primeiro para manter verdadeira a entrada forçada de inatividade do codificador, fazendo com que o codificador gere a mesma saída alternada de sequência de bits de um zero que representa silêncio, até que o dispositivo de E/S serial detecte a sequência de bits como uma correspondência para o caractere de sincronização. Quando o teste para a presença deste caractere for satisfeito, a linha do sinal de inatividade forçada é imediatamente retornada como falsa, permitindo que o codificador comece a enviar dados de áudio para a porta serial, que é então configurada para receber esses dados antes que a rotina seja finalmente encerrada. Observe que para algumas aplicações o valor deste padrão de bits utilizado, ou seja, o caractere de sincronização, pode ser alterado para então permitir o início da gravação de áudio na detecção de hardware de uma sequência correspondente a um determinado local em uma forma de onda de sinal, por exemplo.


Essas quatro rotinas primitivas de driver de hardware são chamadas por um programa aplicativo para realizar a tarefa de transferir fisicamente os dados de áudio para dentro e para fora do computador. Na seção a seguir estão alguns exemplos de aplicações que utilizam essas rotinas com o quadro do projeto e um computador de suporte.


Alguns exemplos de aplicações específicas

O programa de demonstração Talking Box usado pelo autor emprega as rotinas de driver que acabamos de descrever e permite a execução seletiva de tarefas a partir do menu de comandos mostrado na Figura 13, o Menu de Comando do Programa de Demonstração da Placa de Circuito do Codec CVSD. O programa é executado no sistema operacional CP/M e foi testado em um sistema de microcomputador 8080 (homebrew) e Z80 (Televideo TS802H). O código-fonte assembly para este programa é mostrado na Listagem 2, o Programa de demonstração da placa de circuito do codec CVSD. [-inclusão opcional]


Como pode ser visto nesta tabela de comandos, o programa está configurado para permitir ao operador gravar e reproduzir áudio do par de microfone e alto-falante local ou da linha telefônica. O arranjo de interconexão usado para conectar o programa de demonstração e o computador com o Talking Box à rede telefônica comutada é baseado em um dispositivo chamado Acordo de Acesso a Dados ou DAA. O dispositivo específico usado pelo autor é um acoplador de dados Bell Telephone Tipo 1001F mais antigo (vintage de 1976), embora módulos híbridos registrados na Parte 68 da FCC mais recentes que duplicam sua função DAA possam ser adquiridos por menos de vinte dólares de empresas como Cermetek (CH1810 Direct Connect Protective Hybrid, ou DCPH, consulte as referências). Esses módulos fornecem conexões funcionais idênticas, mas são significativamente menores em tamanho e muito melhorados em termos de conveniência de uso, sendo projetados para serem montados dentro de um dispositivo em vez de pendurados na parede em um gabinete separado! Observe que os módulos DCPH empregam caminhos de sinal de nível lógico CMOS, enquanto o DAA possui requisitos de nível de sinal RS232. Tanto o DAA quanto o DCPH podem fornecer uma indicação de que o telefone está tocando e permitir que o computador controle o status no gancho/fora do gancho (ou atender/desligar) do dispositivo e controlar sua aplicação ou recepção de áudio de e para a linha telefônica. Ambos fornecem o chamado temporizador de atraso de faturamento, proteção contra sobrecarga de sinal, isolamento de linha e proteção e a capacidade de capturar e discar por pulso a linha telefônica, ou seja, chamar. A fiação física usada para conectar o DAA ou DPCH e o Talking Box ao computador host é mostrada na Figura 14, um diagrama de fiação da placa CVSD e do DAA para o computador.


Além de permitir que o computador grave e reproduza áudio localmente e do telefone, o programa de demonstração fornece rotinas para exibir e alterar o conteúdo da área de memória que representa o sinal de áudio, para limpar tudo para algum caractere predefinido (SYNC). valor e também para salvar ou carregar o conteúdo desta memória de áudio das unidades de disco do sistema do computador host. Ele também permite inicializar a porta serial de E/S usada pelo projeto, alterar o valor do caracter SYNC e definir um sinal de saída de controle definido pelo usuário (chamado Flag Bit) como alto ou baixo. Este sinal de saída pode ser usado para selecionar entre um par de taxas de clock seriais de codificação/decodificação sob o controle do computador, conforme mostrado nas Figuras 7 e 8. Finalmente, o programa também fornece um sinal de pulso de sincronização que é emitido no início de cada ciclo de reprodução. para permitir coisas como o disparo de uma tela do osciloscópio.


Obviamente, o programa e algumas de suas rotinas podem fornecer o núcleo para diversas aplicações úteis de dispositivos. Algumas das inúmeras funções que o sistema do projeto pode realizar imediatamente incluem seu uso como um sistema eletrônico computadorizado de mensagens de áudio ou secretária eletrônica, seu uso para extrair e reproduzir alofones (ou exemplos de fonemas dependentes do locutor) como algumas amostras de dados da fala armazenada, e seu uso para armazenar e exibir (em um osciloscópio) coisas como esses alofones ou sinais de frequência de áudio transitórios para análise, e seu uso para armazenar palavras ou declarações inteiras em disco para reprodução posterior.


Assim, podemos ver que o Talking Box é um projeto fácil de construir e usar para digitalizar e reproduzir fala ou outros sinais de áudio com um computador.


Agradecimentos

O autor gostaria de agradecer especialmente aos Srs. WH Kerr, EP Norwood e CP Quinn pelo seu inestimável apoio e contribuições para a realização deste projeto.





Isso conclui o artigo adquirido pela revista Radio Electronics. A seguir está uma cópia da folha de dados do codec CVSD da Motorola. Este documento é muito interessante e informativo.


Conclusão

Esperamos que você tenha encontrado alguma utilidade ou interesse em nossa mesa apresentada acima ☺ Falando sério Comentários, críticas e sugestões são sempre apreciados. Deus abençoe todos.