Informações sobre o curso.
LPT-ID
Identificador de chamadas DTMF
Por: Antônio Rogério Messias
Página 1 de 1     Home  Índice  
LPT-ID - IDENTIFICADOR DE CHAMADAS POR SINALIZAÇÃO DTMF
Para uso particular ou educacional.
Copyright(c) 1999-2006 ROGERCOM.COM
Todos os direitos reservados.


       Após alguns meses pesquisando sobre Circuitos Integrados DTMF (Dual Tone Multi-Frequency), criei esse primeiro artigo para compartilhar alguns conhecimentos sobre o assunto. Nesse artigo disponibilizo o projeto de um identificador de chamadas por sinalização DTMF para decodificar um número de telefone de um chamador. Nesse projeto, o CI utilizado foi o CM8870 bastante popular e muito usado em circuitos de telefonia.
       Com o uso do CM8870 e alguns outros componentes auxiliares, é possível criar um dispositivo de controle remoto via Rede telefônica ou rádios. Através de um telefone fixo ou de um celular, a quilômetros de distância de nossa residência, poderemos ligar/desligar uma lâmpada ou qualquer outro dispositivo que esteja conectado ao circuito controlador.
       No nosso projeto, o circuito é conectado à Porta Paralela, e todo o processamento, agendamento e organização dos dados reconhecidos pelo CM8870 é feito pelo programa LPT-ID, que está disponível neste artigo para download.
       A interface com a Porta Paralela para a entrada dos dados reconhecidos, foi totalmente foto-acoplada com o uso dos CIs MOC5009 de alta velocidade. O foto-acoplamento foi necessário para eliminar o ruído gerado pelo computador à linha telefônica, e ao mesmo tempo proteger o mesmo de alta-tensão.
       No circuito elaborado aqui, foram acrescentados mais alguns componentes para que o programa LPT-ID possa saber se o telefone está no gancho ou não. É simplesmente um recurso para que o programa não armazene os números digitados no nosso próprio aparelho telefônico.
       Nesse artigo estão todas as informações necessárias para colocar em prática o projeto do LPT-ID.

Tabela 1 - Freqüências DTMF
Tecla  
Saída digital
Valor
Decimal
Baixa Freqüência(Hz)
Alta
Freqüência(Hz)
D3
D2
D1
D0
1
0
0
0
1
1
697
1209
2
0
0
1
0
2
697
1336
3
0
0
1
1
3
697
1477
4
0
1
0
0
4
770
1209
5
0
1
0
1
5
770
1336
6
0
1
1
0
6
770
1477
7
0
1
1
1
7
852
1209
8
1
0
0
0
8
852
1336
9
1
0
0
1
9
852
1477
0
1
0
1
0
10
941
1336
*
1
0
1
1
11
941
1209
#
1
1
0
0
12
941
1477
A
1
1
0
1
13
697
1633
B
1
1
1
0
14
770
1633
C
1
1
1
1
15
852
1633
D
0
0
0
0
0
941
1633

       A tabela acima mostra o valor decimal, binário e a tecla correspondente à sobreposição das freqüências DTMF (baixa e alta).
       O CI CM8870 reconhece uma freqüência DTMF e converte-a em um número binário de 4 bits (1 nibble). O software aplicativo é o responsável em converter esse número binário em uma tecla equivalente ao sistema DTMF, conforme mostra a primeira coluna da tabela acima. Observe que o valor decimal 10 representa a tecla "0".


Simulação 1 - Circuito integrado CM8870 em operação

       A configuração necessária sugerida pelo fabricante do CM8870 para detectar freqüências DTMF, é a esquematizada na figura acima, onde a freqüência entra através do capacitor cerâmico de 100nF e prossegue pelos resistores de 100k até os pinos 1 e 3 do CM8870. Quando uma freqüência é reconhecida, o CM8870, converte em um valor binário e disponibiliza-o nos pinos 11,12,13 e 14. Após isso, o CM8870 ativa o pino 15, mantendo-o em nível alto por alguns milisegundos. Depois esse pino retorna ao nível baixo.


Figura 1
- Transmissão de números através da Rede telefônica

       A animação acima simula a transmissão da tecla "1" digitada em um aparelho telefônico, e detectada em outro aparelho distante através da Rede telefônica. Ambos os aparelhos têem CIs codificadores e decodificadores de DTMF.
      Veja que as duas freqüências são sobrepostas e só depois transmitidas.


Figura 2 - Protocolo DTMF

       A figura acima mostra um gráfico do protocolo DTMF para reconhecimento do número do telefone do chamador.
       Essas informações são enviadas antes do telefone tocar, ou seja, a central telefônica envia primeiro o pacote de identificação do telefone chamador, e só após alguns segundos é enviado o sinal para tocar o telefone.

Importante:
       Para que esse recurso de identificação de chamadas esteja disponível em sua linha telefônica, é necessário entrar em contato com a empresa de telefonia da região para habilitar o serviço.


Tabela 2
- Descrição dos campos do protocolo DTMF
Campo
Descrição
1
Esse é um valor constante. O caracter "A" ou 13(decimal), identifica o início do protocolo.
2
Categoria pode ser:
  1 - telefone residencial ou comercial;
  4 - telefone público;
  7 - telefone público a cartão;
  Especiais: 2,3,5,6,8,9,10,11,12,13,14 e 15.
3
Esse campo armazena o número do telefone propriamente dito, inclusive o código de área.
Ex. 11 9999-9999
4
Esse é um valor constante. O caracter "C" ou 15(decimal), identifica o fim do protocolo.

 

Figura 3 - Tempo de freqüência e pausa

       Na figura acima temos um gráfico dos intervalos de tempo do pacote de identificação enviado pela Central telefônica, tanto da freqüência como da pausa. O tempo entre eles é de 200ms. Se a distância entre o assinante e a Central telefônica for muito longa, o intervalo de tempo poderá sofrer alteração.


Figura 4
- Foto do protótipo do circuito identificador de chamadas

       Na figura acima é exibida uma foto do protótipo do circuito identificador de chamadas em placa de circuito impresso.

 

Figura 5 - Circuito completo do identificador de chamadas sub-dividido em blocos

       Para facilitar a compreensão do circuito acima, dividimos o mesmo em 4 blocos. O coração do circuito é o bloco 3, é ele quem valida a freqüência recebida e decodifica-a em binário, os demais são somente recursos auxiliares, mas bastante importantes para a boa funcionalidade de todo o projeto.
       O varistor em paralelo com a linha telefônica protege o circuito de uma ocasional sobrecarga de tensão. O objetivo da Ponte em nosso circuito é polarizar a tensão da linha telefônica, e energizar o transistor 2N3904, para acionar o LED do foto-acoplador 4N25. A função do bloco 1 é detectar quando tiramos ou colocamos o fone no gancho; o CI 4066B corta o sinal de tom. Isso foi necessário para que o software não detectasse teclas digitadas no telefone local. Já o bloco 2 tem a única função de amplificar o sinal DTMF e levá-lo ao CM8870. O bloco 4 faz a isolação óptica entre o circuito e o computador. Veja que os foto-acopladores MOC5009 (alta freqüência de comutação) são alimentados pela própria porta paralela através dos pinos 6,7,8, 9 e o GND-25.

Obs.
Após a conclusão de todo o projeto, é hora de testá-lo. Para que o circuito detecte corretamente as freqüências, é necessário regular o potenciômetro do bloco 4, para isso, conecte o circuito à Rede telefônica e à Porta Paralela, execute o programa LPT-ID e através de um aparelho celular ou de uma segunda linha disque para o seu telefone. Acerte o potenciômetro até conseguir a melhor performance.

Sobre a Rede telefônica:

RING é pólo negativo.
TIP é o pólo positivo.
A tensão na Rede telefônica pode chegar a 90v.

 

Figura 6 - Tela do programa identificador de chamadas LPT-ID

       O programa LPT-ID ao ser executado, monitora a linha telefônica, captura o número do chamador, verifica se está cadastrado na agenda e depois mostra-o no visor. Uma janela suspensa de cor amarela também é exibida para chamar a atenção do usuário.
      O programa LPT-ID armazena todos os números detectados num arquivo txt.


Figura 7
- Tela do recurso de agenda do programa LPT-ID

       A figura acima mostra a tela da agenda do programa LPT-ID. Essa versão do programa permite cadastrar no máximo 10 registros.

Algumas recomendações para que o software compare o número recebido corretamente:

- Não adicione "0" antes do DDD;
- Não separe o número com o caracter "-" hífen;
- O campo Nome armazena no arquivo no máximo 20 caracteres; excedentes serão truncados.

Figura 8 - Recurso de exportação do programa LPT-ID

       Quando desejar, o usuário poderá fazer back-up do arquivo LigRecebidas.txt para um outro arquivo chamado BackupXXXX.txt (onde XXXX é uma seqüência numérica gerada automaticamente pelo programa, para criar nomes de arquivos back-up distintos). Todos esses arquivos são armazenados no diretório (pasta) corrente.

Figura 9 - Indicador de atividade do programa LPT-ID

       Quando o programa LPT-ID está ativo na memória, um ícone de um telefone fica intermitente na Barra de tarefa do windows, conforme mostra a Figura 9. Para mostrar a janela do programa LPT-ID dê duplo-clique, ou clique com o botão direito do mouse sobre o ícone.


Download LPT-ID. Download do programa LPT-ID


Download dos datasheet dos componentes
4066B
LM386N
CM8870
MOC5009


Alguns site para pesquisa sobre DTMF


Volta à página principal. 
 

Índice dos artigos.

http://www.rogercom.com
© Copyright, 1999-2006 ROGERCOM - Antonio Rogério Messias - rogercom@rogercom.com
Todos os Direitos Reservados - All Rights Reserved.