Depois de darmos um medidor de consumo de energia, cuja configuração pode ser extendida a uma ampla gama de instrumentos; depois de mostrarmos ao leitor como o MSP430 pode ser empregados em controles de potência e outras aplicações industriais, explorando toda a versatilidade deste componente entramos nesta quarta parte de nossa série nas comunicações. A aplicação descrita para MSP430 é de um Modem padrão V.23 onde analisamos também de que modo o MSP430 pode reconhecer e gerar sinais DTMF. (2001)
Reconhecendo e Gerando Tons
A possibilidade de se usar o microcontrolador MSP430 na geração e reconhecimento de tons abre as portas para uma infinidade de aplicações importantes dentre elas as que se relacionam com a transferência de dados usando linhas telefônicas ou fios comuns.
Assim, partindo desta possibilidade chegamos a dois tipos de aplicações importantes que serão abordadas neste quarto artigo de nossa série: a geração e reconhecimento de sinais DTMF e a elaboração de um Modem FSK.
Na abordagem do uso do MSP430 nestas aplicações não nos aprofundamos muito dada a limitação de nosso espaço, no entanto, os leitores que desejam ir além encontrarão vasta literatura nos documentios SLAAE16 e SLAA37 que podem ser encontrados no CD da nossa edição especial número 4 ou então acessados no site da Texas Instruments (www.ti.com).
Os sinais DTMF
DTMF é a abreviação de “Dual Tone Multi Frequency”, e consiste num método em que se representam dígitos por frequências de tons possibilitando assim sua transmissão por linhas analógicas de comunicações, como por exemplo linhas telefônicas.
As frequ6encias escolhidas estão justamente dentro da faixa de voz de modo a aproeveitar as características das linhas existentes.
Se bem que a tendência é de que todos os seviços de telecomunicações usem o DTMF para transmissão de dados (por exemplo na discagem) ainda existem locais em que temos o uso de pulsos.
Frequencia | 1209 Hz | 1336 Hz | 1477 Hz | 1633 Hz |
697 Hz | 1 | 2 | 3 | A |
770 Hz | 4 | 5 | 6 | B |
852 Hz | 7 | 8 | 9 | C |
D |
Observe que nenhuma frequência é múltipla da outra justamente para evitar problemas de reconhecimento de harmônicas e nenhuma frequência resulta da soma ou diferença de duas outras.
a) Gerando os sinais DTMF
Os dois tons que são produzidos quando qualquer dos dígitos devem ser transmitidos consistem em sinais senoidais independentes.
Isso significa que, para a sua geração ou reconhecimento pelos microcontroladores eles devem ser convertidos para a forma digital.
Os sinais DTMF são gerados a partir de sinais retangulares, pela combinação apropriada de frequências que levem a um sinal senoidal.
Isso é feito com base na série de Forier, conforme mostra a figura 1.
Combinando sinais de uma frequência fundamental e de frequências harmônicas em intensidade apropriadas podemos obter um sinal retangular desta frequência.
O procedimento inverso é válido: com um sinal retangular de frequência apropriada podemos obter sinais senoidais das frequências geradoras.
Para obter a forma de onda senoidal basta usar um filtro analógico apropriado.
No caso do MSP430 os sinais devem ser gerados por sofware. Este software deve é capaz de produzir sinais separados de frequência independentes.
Para isso são usados pinos separados de modo que um trabalhe com o grupo de sinais de frequências mais altas (1609 a 1633 Hz) e o outro trabalhe com os sinais das frequências mais baixas (697 a 941 Hz).
Os sinais também devem ser proiduzidos numa faixa de duração entre 65 ms e 100 ms.
O MSP430 possui vários timers internos que podem ser usados para gerar estessinais.
As rotinas para se gerar estes sinais com os timers do MSP430 estão disponíveis na documentação citada no início deste artigo.
Da mesma forma, a listagem do programa a ser gravado para a geração destes sinais também pode ser encontrada na mesma literatura.
Nela encontramos o modo como sinais DTMF podem ser gerados pelo Timer de Porta e pelo Timer A.
Como os sinais gerados são retangulares é preciso utilizar um filtro externo, que consiste no hardware a ser aregado ao MSP430 para a produção de sinais DTMF.
Este hardware consiste num filtro analógico que pode ser elaborado com base nos amplificadores operacionais LM324.
Na figura 2 mostramos este friltro que nos leva a aplicação final com uma saída DTMF diretamente disponível para uso.
Conforme podemos observar trata-se de um filtro de segunda ordem onde a frequência central é determinada pelos valores dos resistores e dos capacitores no circuito de realimentação.
Também lembramos que existem aplicações em que a frequência DTMF de 1633 Hz pode ser eliminada, pois ela serve apenas para gerar os caracteres especiais.
b) recebendo os sinais DTMF
Para se poder receber sinais DTMF com um microcontrolador como o MSP430 sem o uso de muitos circuitos, pode-se usar a função ADC (Conversor Analógico-Digital) e fazer o reconhecimento da frequência com ajuda de um algorítmo de filtro digital.
O MSP430 pode ser usado para isso porque apesar de sua baixa frequência de clock (até 3,3 MHz) uma grande velocidade de processamento é obtido poius existem comandos que são processados num único ciclo de clock.
Outro fator que o torna ideal para esta aplicação é que a conexão do MSP430 a sistema analógicos é muito simples porque ele possui um ADC interno.
Para esta aplicação a documentação indicada no início do artigo também oferece o software para o recomhecimento dos sinais e que deve ser gravado no MSP430.
O software calcula 8 filtros digitais para detectar os sinais DTMF, faz a amostragem numa frequência de 3640 Hz e reconhece estes sinais mostrando-os num display LCD.
Conforme podemos ver pela figura 3, o acoplamento do circuito à linha por onde chegam os sinais DTMF que devem ser reconhecidos.
O circuito é simples pois ele simplesmente acopla este sinais ao ADC interno ao MSP430.
As características deste circuito casam-se com os receptores DTMF comerciais para linha de 600 Ω e que devem aceitar sinais com níveis de +1 dB, (600 Ω) a -31 dBm (600 Ω). Isso corresponde a amplitudes de 1,230 V a menos de 30,8 mV.
Modem FSK
Aproveitando a capacidade do MSP430 em ser usado para reconhecimento e produção de tons de baixas frequências encontramos uma outra aplicação de extrema importância que podem ser implementada com facilidade usando poucos componentes externos: o Modem FSK.
Existem muitas aplicações qque envolvem medidas de grandezas as mais diversas como por exemplo medidor de energia elétrica, gás, etc em que se necessita de um meio eficiente de se comunicar os valores lidos a uma central distante.
Isso pode ser usado para se computar as tarifas e gerar os boletos de pagamento.
Na industria, pode-se monitorar os dados gerados por uma máquina distante computando-os numa central de controle única.
Um meio conveniente de se comunicar estes dados a distância é através da linha telefônica.
Existem dois modos mais populares de se fazer a transmissão de dados através da linha telefônica: FSK (Frequency Shift Keying)
Assim, vamos descrever agora como o MSP430 pode ser usado para gerar e reconher sinais FSK no padrão V.23 levando assim a possibilidade de construção de modems para transmissão de dados via linha telefônica.
Dada a limitação de espaço que temos nesta série de artigos, deixamos por conta dos leitores interessados numa literatura mais completa consultar o site da Texas Instruments em http://www.ti.com.
Novamente indicamos dois artigos para esta finalidade: FSK Modulation and Demodulation With the MSP430 Microcontroller (SLAA037) e Generation and Recognition of DTMF Signals With The Microcontroller MSP430 (SLAAE16).
UM POUCO DE TEORIA
Para podermos entender como funciona o MSP430 nesta aplicação será interessante de forma resumida um pouco da teoria da modulação e demodulação de sinais.
a) Os sinais FSK
A faixa estreita das linhas telefônicas impedindo o uso de altas frequências levou ao desenvolvimento de diversas técnicas que aproveitassem as suas limitações.
Uma delas é a técnica denominada Frequency Shift Keying ou Chaveamento por Deslocamento de Frequência, abreviadamente FSK.
Quando um computador deseja trocar mensagens com outro usando esta técnica por exemplo, ele transmite um tom de 1070 Hz para os zeros e um tom de 1270 Hz para os uns.
Por outro lado, o modem do outro computador responde transmitindo um tom de 2025 Hz para os zeros e um tom de 2225 para os uns.
A razão para que os dois computadores usem tons de frequências diferentes é simples: isso permite que eles operem simultaneamente usando a mesma linha.
Esta operação é conhecida como “full duplex”, conforme ilustra a figura 4.
O padrão V.23
O padrão V.23 permite que dois modens troquem dados asimetricamente em full ou hal duplex.
No full duplex os dados podem ser trocados simultaneamente nas duas direções e no half duplex em apenas uma direção de cada vez.
No sentido direto (do modem para o computador remoto) existem dois modos de transmissão com velocidades de dados e 600 e 1200 bps.
O modem remoto envia sinais numa velocidadse menor de 75 bauds, sendo mais utlizado para indicar o recedimento dos sinais.
A assimetria entre os dois sentidos de transmissão se deve ao modo simples de modulação usado que é denominada Continuous Phase Frequency Shift Keying que é uma modalidade de FSK.
No padrão v.23, conforme mostra a figura 5, temos duas modalidades de transmissão possíveis, usando frequências centrais de 1500 Hz e 170 Hz.
Numa delas, o bit 1 corresponde a 1300 Hz e o bit 0 a 1700 enquanto ue na outra o bit 1 correponde a 1300 Hz e o bit 0 a 2100 Hz.
b) Modulação e Demodulação
Para converter os bits em tons e vice versa precisamos de técnicas especiais de modulação e demodulação.
Para a demodulação de sinais FSK é utilizado um circuito demodulador de quadratura.
Neste tipo de circuito, o sinal e uma versão retarada são multiplicadas de depois aplicadas a um filtro passa baixas.
Obtém-se então um sinal que tem sua intensidade proporcional ao desvio da frequência o que permite diferenciar os zeros e os uns.
A amostragem do sinal é dada por uma frequência que seja 4 vezes a frequência portadora, no caso para 1700 Hz é de 6800 Hz.
Com um cristal de 32768 Hz pode-se obter uma frequência de 6793.3 que é apenas 0,1% fora do exigido pelo padrão.
c) Modulação
A modulação FSK encolve um deslocamento da frequência portadora delta de acordo com o valor do bit que deve ser representado.
Para o caso do padrão v.23 o bit 0 corresponde a uma frequência de +400 Hz e o bit um com uma frequência de –400 Hz.
No caso do MSP430, os recursos para converter sinais analógicos de sensores são empregados de modo que os dados possam ser enviados pelo processo descrito.
Assim, utiliza-se o timer de 8 bits para fazer a amostragem numa velocidade de 19200 amostragem por segundos.
Esta velocidade pode ser subdividida para a veloicidade de transmissão de 1200 bauds e ao mesmo tempo é alta o sufiiente para tornar o processor de conversão de digital para analógico simples.
De modo a economizar espaço na ROM, somente o primeiro quadrante (0 a 127 graus) no formato Q7 é codificado. Isso é feito dividindo o primeiro quadrante (90 graus) em 128 degraus de aproximadamente 0,7 graus cada um.
Os demais quadrantes poderão ser trabalhados utilizando a tabela dete primeiro quadrante e aplicando-se uma compilação apropriada.
Para a modulação FSK o parâmetro PHASER avança de acordo com a quantidade DELTA a cada interrupção.
Os 9 primeiros bits de PHASER são usados para se obter o valor do cosseno.
Para a função cosseno os valores do terceiro e quarto quadrante são mesmos do primeiro e segundo quando se considera o valor absoluto.
Em seguida, todos os valores do segundo quadrante são derivados da tabela ROM do primeiro quadrante.
O valor resultante é armazenado em P0.OUT
A cada 16 interrupções o parâmetro DELTA é atualizado com a frequência seguinte que está sendo lida e deve ser transmitida.
Para a conversão A/D a melhor maneira de se digitalizar o sinal FSK que chega é usando o modo de 12 bits do conversor A/D interno de 14 bits disponível no MSP430C325.
No entanto, nem todos os bits são necessários para se obter uma boa faixa din6amica para a demodulação FSK.
Os resulados de simulações indicam que um estágio A/D de 8 bits proporciona uma faixa dinâmica de até 25 dB usando o software interno de AGC.
Com uma etapa adicional de AGC externo a faixa dinâmica pode ser ampliada ainda mais.
O software de aplicação que é dado neste artigo (ver site na Internet) inclui um conversor A/D do tipo single slop (usando o timer universal com um comparador externo) como demodulador o que torna o software aplicável universalmente à família inteira.
A conversão D/A é feita com um circuito externo de 6 bits do tipo R-2R.
Como a frequência da portadora de 19200 é 9 vezes maior do que a frequência mais alta do FSK de 2100 Hz, a filtragem após o circuito é relatiovamente simples. No circuito de aplicação, um único capacitor é suficiente para se obter um filtro passa baixas, mas mais células podem ser agregadas usando componente passivos.
Este projeto de FSK, ao ser realizado teve como importante conceito a ecnomia de energia.
O consumo total utilizando um amplificador operacional de baixo consumo na entrada é de apenas 1,5 mA. Isso significa que a energia para sua alimentação pode ser obtida diretamente da linha telefônica.
Evidentemente, a configuração a ser adotada neste sentido depende de país para país.
Circuito de Exemplo
Na figura 6 temos um circuito de exemplo que usa o MSP430C325 como processador principal.
O circuito é testado com um sinal FSK de 400 V pico a pico aplicado à entrada FSK. Para obter os mesmos resultados Rx deve ser ajustado de modo a se obter 1,2 V de polarização com o sinal FSK de 400 mV superposto.
Na figura 7 temos um exemplo de Interface telefônica completa usando o MSP430.
A seguinte tabela mostra a performance deste circuito:
RAM (bytes) | ROM (bytes) | MIPS | |
Receptor FSK | 18 | 512 | 2 |
Transmissor FSK | 12 | 400 | 1,4 |
Conclusão:
O projeto de modems FSK normalmente são feitos tanto em torno de recursos analógico como pelo uso de DSPs com uinidades MAC de hardware.
Usando um processador RISC MSP430, sem hardware MAC é possível implementar a função de transceptor com uma abordagem fora do comum.
A possibilidade de se criar filtros usando técn icas digitais de filtragem juntamente com um set de instruções ortogonais e a arquitetura de 16 bits do MSP430 torna o código a ROM e MIPs muito eficientes.
Outra característica importante do projeto é que o baixo consumo possibilita sua alimentação diretamente da linha telefônica.
Além disso, o transceptor FSK pode ser implementado economicamente utilizando-se dispositivos de toda a família MSP430.
As rotinas para o transceptor e para o reconhecimento de sinais DTMF estão no site da Texas