Eng David M RisnikE-mail: dmrsp@terra.com.br  

PROJETO N.4

  CODIGOS DO CONTROLE REMOTO

Os controles remotos (aparelhos de TV , Audio , Video ,etc) utilizam emissão por IR (Infra Red) para transmitir o COMANDO .Com o intuito de se obter um sistema de boa CONFIABILIDADE esta transmissão é CODIFICADA . Para desespero dos técnicos ... infelizmente não existe um padrão ou STANDARD definindo esta codificação , portanto cada fabricante "pode" definir um sistema que se aplica ao seu PRODUTO . Traduzindo: um controle remoto para uma TV de marca "XX" dificilmente ira operar numa TV de marca "YY" (a menos que seja um produto derivado do mesmo sistema interno) , pois a CODIFICAÇÃO é difirente e não será  RECONHECIDA pelo processador do circuito ! Talvez um dos mais difundidos e utilizados seja o sistema de CODIFICAÇÃO RC5 (RC6) , criado pela PHILIPS .Vou me deter neste sistema (CODIFICAÇÃO RC5) para explicar melhor a operação dos controles remotos , e como é possivel fazer uma LEITURA desses comandos .  Nesta codificação são enviados um total de 14 BITS a cada emissão , assim identificados :

2 bits START

1 bit TOGLE

5 bits ADRESS

6 bits COMANDO

A finalidade principal dos bits de START é a de SINCRONIZAR o resto da transmissão , ou seja: avisar o receptor (software) de que um COMANDO será recebido , PREPARE-SE . Normalmente a linha de recepção do controle remoto é conectada a um dos INTERRUPTS do micro . Porque isto ? simples: o software "roda" continuamente desempennhando suas "diversas" funções dentro do gerenciamento do aparelho . Em outras palavras , ele não pode (nem deve) ficar PARADO , aguardando por um sinal especifico (por exemplo , chegada do sinal do controle remoto)  , pois isto causaria o CAOS em todo restante do gerenciamento . As linhas do INTERRUPT , possuem a caracteristica de ALERTAR o micro sobre esta CHEGADA de sinal . Assim que o primeiro bit Start - ou mais especificamente a PRIMEIRA QUEDA (nivel low) do sinal CR é recebida , o INTERRUPT avisa o software principal que sua ATENÇÃO neste momente deve ser PRIORIZADA para a recepção deste sinal .Como se dá este aviso ? Primeiro ele "salva" o exato ponto da rotina que estava sendo executada para que seja possivel RETORNAR a ela quando a interrupção for concluida . A seguir , a execução dos comandos é DESVIADA ( VETOR PRE DEFINIDO) para um local já preparado que vai atender a execução da interrupt (recepção do sinal de controle remoto). Este SOFTWARE , pode ser elaborado por diferentes métodos , visando sempre OTIMIZAR a recepção , sem prejudicar o andamento NORMAL do gerenciamento principal (MAIN LOOP). Após os bits de Start é recebido o Bit Togle , que se alterna a cada emissão , tendo uma finalidade espedifica também , como por exemplo nos comandos continuos: controle de volume por exemplo. A seguir , são recebidos os 5 bits de endereçamento , que foram reservados para cada produto especifico , como por exemplo: Tvs , VCR , Audio , etc. Após recebido o endereço , os 6 bits finais correspondem ao COMANDO propriamente dito . 

O sistema de codificação RC5 já esta bastante divulgado em sites que tratam deste assunto , por isto vou procurar resumir: 

A codificação de cada bit é por FASE , ou seja IDENTIFICADA PELA TRANSIÇÃO :

um nivel LOW > seguido por um nivel HIGH

ou

um nivel HIGH > seguido por um nivel LOW

Para o sinal recolhido APÓS o receptor de IR , podemos dizer que uma transição de niveis Low > High vale "1" , enquanto que uma transição de niveis de High > Low vale "0" . Também sabemos que dentro da definição do padrão RC5 após o Start , as transições ocorrem a cada 1778,58 micro segundos ( 1,7 mili) . Como sempre temos a transmissão de 14 bits , teremos 14 x 1778,5 = 24,9 mili segundos . Este é um periodo de tempo relativamente LONGO (para os microcontroladores) e portanto podem ser lidos com relativa FOLGA pelo software . 

CONSTRUINDO UM DECODIFICADOR 

ou IDENTIFICADOR DE COMANDOS

conexão de um receptor de IR

Atraves de um SOFTWARE apropriado para LER esta emissão (utilize um RECEPTOR DE IR), podemos contruir um DECODIFICADOR DE COMANDOS para o sistema RC5 utilizando um microcontrolador da familia 8051 (ex: 89C55 flash). Este programa é relativamente curto e simples , e pode exibir em um display de leds (segmentos) ou em um DISPLAY CRISTAL LIQUIDO o NÚMERO DO COMANDO , o ENDEREÇO (normalmente 00 para Tvs) e os demais dados recebidos .

Basicamente este Software devera obedecer aos seguintes requisitos:

a) Aguardar pelo Bit Start

b) Aguadar e IDENTIFICAR as transições que ocorrem a cada 1778,5 useg

c) Receber os 14 bits correspondentes as 14 transições identificadas

d) Distinguir os 5 bits de ENDEREÇAMENTO e os 6 bits de COMANDO

e) Converter a numeração HEXA para decimal e exibi-la em display de digitos , ou

f) Identificar (por leitura em tabelas) os comandos e exibi-los (texto) em display cristal liquido ou

g) Utilizando a comunicação RS232 , comunicar com uma das portas COM do PC e atraves de um software de

leitura ( Qbasic , VisualBasic , etc) exibir na tela do computador os dados recebidos.

 

NB Lição de casa: baseado nas informações , elabore um software para leitura de comandos do sistema RC5 .

(Maiores referencias consulte: software DMRSP_RC5 , dmrsp@terra.com.br)

São Paulo-SP

This page hosted by Get your ownFree Home Page

retorno a pagina principal