Professional Documents
Culture Documents
CARIACICA – ES
2008
JOCIMAR LANGAMER DE OLIVEIRA
CARIACICA – ES
2008
JOCIMAR LANGAMER DE OLIVEIRA
COMISSÃO EXAMINADORA:
___________________________________
Esp. Robert Mota de Oliveira
Orientador
___________________________________
Esp. Nilson Alves da Silva
Co-orientador
___________________________________
M.Sc. Edmilson Bermudes Rocha Junior
Examinador
i
AGRADECIMENTOS
ii
LISTA DE FIGURAS
iii
Figura 29 – Monitoramento de funcionamento pelo Hiper Terminal .........................46
Figura 30 – Monitor de serviço utilizado nos testes ....................................................47
Figura 31 – Aplicação prática......................................................................................48
Figura 32 – Configuração do rádio ..............................................................................61
Figura 33 – Configuração dos pinos de acessórios......................................................61
Figura 34 – Configurações da porta serial ...................................................................63
Figura 35 – Diagrama de ligação dos cabos ................................................................64
iv
LISTA DE TABELA
v
SIMBOLOGIA
vi
SUMÁRIO
DEDICATÓRIA........................................................................................................... I
AGRADECIMENTOS ...............................................................................................II
LISTA DE FIGURAS............................................................................................... III
LISTA DE TABELA ..................................................................................................V
SIMBOLOGIA.......................................................................................................... VI
RESUMO ................................................................................................................... IX
1 INTRODUÇÃO ..............................................................................................10
2 A COMUNICAÇÃO POR RADIOFREQÜÊNCIA....................................11
2.1 Uso do canal de comunicação por radiofreqüência ..........................................11
3 REVISÃO BIBLIOGRÁFICA......................................................................16
3.1 Características das ondas senoidais ..................................................................16
3.2 Definição do espectro de freqüência.................................................................16
3.3 Definição de mensagem e portadora.................................................................17
3.4 Modulação.........................................................................................................17
3.4.1 Modulação Analógica e Modulação Digital............................................18
3.5 Comunicação de dados .....................................................................................19
3.6 Digitalização de um sinal analógico .................................................................20
3.6.1 Filtragem .................................................................................................20
3.6.2 Amostragem do sinal...............................................................................20
3.6.3 Quantização .............................................................................................21
3.6.4 Codificação..............................................................................................23
3.7 Multiplexação....................................................................................................24
3.7.1 FDM – Multiplexação por divisão de freqüência....................................24
3.7.2 TDM – Multiplexação por divisão de tempo ..........................................25
4 MONTAGEM E HARDWARE ....................................................................26
4.1 O microcontrolador ...........................................................................................26
4.1.1 USART ....................................................................................................26
4.1.2 Memória de Programa .............................................................................27
vii
4.1.3 Memória de Dados ..................................................................................27
4.1.4 Memória RAM ........................................................................................27
4.2 O Controlador de sinal ......................................................................................27
4.2.1 Descrição de funcionamento MX 828.....................................................28
4.2.2 Descrição de comandos MX 828 ............................................................29
4.3 Comunicação Serial Assíncrona – MAX232....................................................31
4.4 O Hardware .......................................................................................................33
4.5 Fluxograma do processo ...................................................................................39
4.6 Organização da Memória EEPROM.................................................................41
5 TESTES E RESULTADOS ...........................................................................42
5.1 Resultados obtidos ............................................................................................43
5.2 Aplicação prática...............................................................................................47
6 CONCLUSÃO ................................................................................................48
7 REFERÊNCIAS BIBLIOGRÁFICAS .........................................................49
ANEXO A - CÓDIGO ...............................................................................................50
ANEXO B – MANUAL DO USUÁRIO...................................................................59
viii
RESUMO
ix
10
1 INTRODUÇÃO
Controlador
Para a garantia de uma comunicação eficiente, o controlador deve ter uma alta
seletividade na filtragem dos sub-áudios, evitando que um grupo interfira na
comunicação do outro e garantir que o sinal só seja retransmitido quando o mesmo
estiver em condição de ser recuperado pelo receptor do destinatário com nitidez.
A tecnologia de radiocomunicação oferece um largo espectro de aplicações
desde a comunicação de voz, sistemas de telemetria e tele-controle, sistemas de
rastreamento, transmissão de dados. Devido à possibilidade de compartilhamento de
infra-estrutura e de freqüência o custo de implantação torna-se viável para áreas
isoladas onde existem atividades industriais, mineração, pecuárias, entre outras.
O uso do rádio bidirecional analógico é comprovado todos os dias em
incontáveis instalações ao redor do mundo. Hoje existe uma nova plataforma para
solução de radiocomunicação para atingir novos níveis de desempenho e
produtividade. A tecnologia digital possibilita este novo avanço.
As soluções de rádio bidirecional digital são baseadas na tecnologia de Acesso
Múltiplo por Divisão de Tempo (TDMA).
Quando a potência do sinal cai devido à distância, a tecnologia digital de
correção de erros fornece voz e dados, sem ocorrer praticamente nenhuma perda e em
uma área bem mais ampla.
Os sinais analógicos tornam-se distorcidos, produzindo estática audível à
medida que a potência de sinal diminui. Ao contrário, os receptores digitais
simplesmente rejeitam qualquer coisa que interpretem como erro. Isto, por sua vez,
permite que os usuários ouçam melhor mesmo em ambientes barulhentos.
As empresas que gerenciam frotas de veículos (como táxis ou ônibus), ou
pessoal de serviço móvel direto instalando ou consertando equipamentos, estão em
constante busca de aprimoramento do serviço ao cliente. Os despachadores precisam
localizar facilmente pessoas e equipamentos para uma resposta mais rápida ao cliente.
Isto é possível dentro de um sistema de rádio digital.
O sistema digital de radiocomunicação tem capacidade de operar nos modos
analógico e digital possibilitando uma migração suave e planejada de acordo com a
dinâmica da empresa sem despender de onerosos investimentos e sem interrupção da
16
3 REVISÃO BIBLIOGRÁFICA
Tipos de modulação:
FM – quando a mensagem altera a freqüência, mantendo a amplitude
constante.
AM – quando a mensagem altera a amplitude, mantendo a freqüência
constante.
FSK - atribui freqüências diferentes para a portadora em função do bit que é
transmitido. Portanto, quando um bit 0 é transmitido, a portadora assume uma
freqüência correspondente a um bit 0 durante o período de duração de um bit. Quando
um bit 1 é transmitido, a freqüência da portadora é modificada para um valor
19
3.6.1 Filtragem
De acordo com o Teorema de Nyquist, a quantidade de amostras por unidade
de tempo de um sinal, chamada taxa ou freqüência de amostragem, deve ser maior que
o dobro da maior freqüência contida no sinal a ser amostrado, para que possa ser
reproduzido integralmente sem erro. A metade da freqüência de amostragem é
chamada freqüência de Nyquist e corresponde ao limite máximo de freqüência do sinal
que pode ser reproduzido. Como não é possível garantir que o sinal não contenha
sinais acima deste limite (distorções, interferências, ruídos, enfim), é necessário filtrar
o sinal com um filtro passa baixo com freqüência de corte igual (ou menor) a
freqüência de Nyquist.
3.6.2 Amostragem do sinal
Como o sinal analógico é continuo no tempo e em nível, contem uma
infinidade de valores. E como o meio de comunicação tem banda limitada, obriga-se a
transmitir apenas uma certa quantidade de amostras deste sinal, como enunciado no
Teorema de Nyquist:
21
“Não é necessário que o sinal seja transmitido continuamente, mas apenas que sejam transmitidas
amostras regularmente espaçadas, desde que o sinal seja limitado em freqüência e a freqüência de amostragem,
fa=1/Ta, seja maior que o dobro da maior freqüência do espectro do sinal.”
3.6.3 Quantização
Com o sinal analógico amostrado, em forma de amostras, ainda analógicos,
precisa-se quantificar esta infinidade de valores possíveis em outros que passam ser
representados por uma quantidade finita de bits, para obter um sinal digital.
Esta conversão será feita por um circuito chamado conversor analógico-digital.
22
Figura 5 – Quantização
Para contornar este problema, que faz com que sinais fracos tenham baixa
relação sinal ruído, usam-se quantizações não lineares, onde os níveis de quantização
não são iguais como na figura acima, mas são muito pequenos para sinais pequenos e
maiores para sinais maiores, provocando o efeito de compressão.
23
3.6.4 Codificação
Os valores quantizados precisam ser codificados em seqüências de bits, pois
um sinal digital binário só pode ter dois valores diferentes "0" ou "1". Em binário puro,
a codificação seria como mostra a figura acima, que é um exemplo de um sinal digital
PCM (Pulse Code Modulation), onde cada pulso PAM ou amostra de amplitude
variável é transformado em uma seqüência de bits com amplitude fixa e valores 0 ou 1,
com um código tal que representa o valor do pulso PAM original, arredondado pelo
erro de quantização.
Este projeto tem por maior objetivo funcionar como controlador de repetidor
de sinal de voz, podendo ser configurado para controlar sinais digitais. Esta
configuração deverá ser feita através de jumper interno da placa.
24
3.7 Multiplexação
Multiplexar é enviar um certo número de canais através do mesmo meio de
transmissão. Os dois tipos mais utilizados são: multiplexação por divisão de
freqüências (FDM) e multiplexação por divisão de tempo (TDM).
O objetivo básico para a utilização desta técnica é economia, pois utilizando o
mesmo meio de transmissão para diversos canais economiza-se em instalações e
manutenções de infra-estruturas.
O problema em uma transmissão multiplexada é evitar a interferência entre os
vários canais que se está transmitindo. Cada técnica que será analisada a seguir utiliza
um método diferente para não deixar essa interferência ocorrer.
4 MONTAGEM E HARDWARE
detecção de erros e síncrono Half-duplex com clock externo (escravo) ou clock interno
(mestre). Nesse projeto foi trabalhado com a comunicação Assíncrona sem detecção de
erros, ou seja, foi configurada com 8 bits, sem bit de paridade.
4.1.2 Memória de Programa
A memória de programa do PIC16F877A utilizado é do tipo FLASH
EEPROM. Essa memória aceita dados gravados em blocos, o que traz maior
velocidade na fase de desenvolvimento. Sendo ideal para o desenvolvimento de
protótipos, e também é ótima para manter dados armazenados definitivamente. O
microcontrolador utilizado possui um total de 8K de memória, com palavra de 14 bits,
dividido em 4 bancos.
4.1.3 Memória de Dados
A memória de dados do microcontrolador é utilizada para armazenar dados de
8 bits, que não poderão ser perdidos na falta de energia. É muito utilizado na gravação
de senhas ou outros valores de entrada que deverão permanecer no PIC. No
PIC16F877A, temos um total de 256 registros de 8bits.
Essa memória foi utilizada no projeto para armazenar os valores dos códigos
de subtons e configurações do sistema.
4.1.4 Memória RAM
A memória RAM não serve apenas para armazenar variáveis que são criadas,
mas também armazenam uma série de registros que configuram e controlam o PIC.
Esses registros são configurados na inicialização do microcontrolador e se mantêm
quando o PIC está trabalhando.
4.2 O Controlador de sinal
O controlador de sinal é capaz de decodificar e codificar sinais analógicos
(CTCSS - Continuous Tone-Coded Squelch System) ou digitais (DCS – Digital Code
Squelch). Estes sinais são de baixa freqüência chamados de subtom ou subáudio.
São eles responsáveis pela separação de grupos num repetidor compartilhado.
O controlador de sinal decodifica o sinal de subtom e envia para o microcontrolador,
caso este subtom estiver registrado, o microcontrolador acionará o transmissor do
repetidor.
28
Nota-se que neste frame existe um bit de start, 8 bits de dados, um bit de
paridade e um bit de parada. A paridade pode ser par ou ímpar. Quando a paridade é
par o bit de paridade é gerado de modo que o número de 1’s resultante na palavra mais
o bit de paridade seja par.
32
Nome Função
TXD Dados transmitidos
pelo terminal
RXD Dados recebidos pelo terminal
RTS Requisição de envio
CTS Permissão de envio
DSR Dados prontos
DCD Detector de portadora
DTR Terminal de dados pronto
Tabela 5 – Pinos do MAX232
A figura abaixo mostra uma conexão simples entre dois dispositivos através da porta
serial assíncrona empregando os conversores de níveis 1488 e 1489.
4.4 O Hardware
Abaixo está demonstrado o diagrama esquemático do circuito por partes.
34
void ler_mx(){ //Esta função solicita o status do sinal processado pelo MX828
int8 reply; //Cria variável local
reply=129; //Comando que ler status do MX828
convert_bin(reply); //Chama função para converte dec para bin
output_low(_cdata); //Coloca a linha de dados da C-BUS na posição de partida
output_low(_csn); //Ativa comunicação com o MX828
send_cbus(); //Envia sinal pela C-BUS
topo=8; //Ajusta ponteiro de vetor
while(topo>0){ //Loop para receber os 8 bits (byte reply)
topo--; //Decrementa ponteiro de vetor
output_low(_serclk); //Coloca a linha de clock para nível “0”
if(bit_test(input_a(),1)){ //Testa se a linha de reply é “1”
pilha1[topo]=1; //Coloca nivel “1” no vetor
}
if(!bit_test(input_a(),1)){ //Testa se a linha de reply é “0”
pilha1[topo]=0; //Coloca nivel “0” no vetor
}
output_high(_serclk); //Coloca a linha de clock para nível “1”
}
Início
Aciona circuito de
Aguarde receptor link Aguarde receptor local alarme do sistema
S S
? Char w ou r
Aciona o TX local Aciona o TX local e Link
r?
N
w
Finalizou
recepção? Armazena Ler as configurações
configurações de de sistema e os
S sistema e os subtons subtons da memória
na memória do PIC do PIC
Envia beep de cortesia e
desativa o TX
0x01
Dados de identificação dos subtons
0x0F
0x3C
Dados Byte 1 subtom para o comando $84
0x4A
0x5A
Dados Byte 2 subtom para o comando $84
0x68
0x78
Dados Byte 1 subtom para o comando $83
0x86
0x96
Dados Byte 2 subtom para o comando $83
0xA4
0x96
Dados Byte 2 subtom para o comando $83
0xA4
0xC8
Configuração do sistema
0xC9
5 TESTES E RESULTADOS
Observe na figura acima, parte frontal do Protótipo, onde se tem quatro LED’s
indicadores de operação e um conector RJ-45 que faz a comunicação RS232 com o
PC. Para detalhes, leia a Manual de Operação.
Observe que a memória foi apagada. E então, mostrado o primeiro campo, que
aceita qualquer parâmetro de 0-256. Sendo que 4 e 5 ativará o modo de transmissão
CSQ (sem utilizar os TPL) e modo de dados, respectivamente. Qualquer outro
parâmetro multiplicado por 100 define o tempo de beep de cortesia.
O tempo inter-byte é de 225µs. Isto está dentro dos padrões do fabricante que
especifica que este tempo deve ser maior que 4µs. Tempo inter-byte é o intervalo entre
o final da transmissão de um byte e o início do próximo byte.
Com o sistema configurado, ao receber o sinal o receptor indicará para o
processador através de um sinal lógico “0”, chamado DET. O processador ativará o
CD4053 para a passagem do sinal deste receptor.
Após o sinal ser processado pelo MX828, o PIC solicitará o status deste sinal,
tal como: se tem subtom válido, qual subtom está presente, se sinal tem nível
suficiente para ser retransmitido.
O bit 4 deste byte recebido que informará se houve a decodificação do subtom
corretamente.
46
Quando o sinal processado for melhor que 12dB e se o subtom estiver correto
de acordo com as programações então o transmissor é acionado e o sinal do MX828 é
modulado com o áudio processado e com um subtom novo gerado pelo MX828.
A partir do Hiper Terminal pode-se monitorar o funcionamento do
Controlador. Na figura abaixo, se tem o momento de detecção de sinal no receptor
local. O PIC fez a varredura três vezes para encontrar o sinal válido. Isto gera um
delay de 80ms, que pode ser notado no início de uma conversação. Este delay se dá
pelo tempo de processamento do MX828 que é mais lento que o do PIC.
Após o reconhecimento do sinal o PIC fez o acionamento do transmissor local
e do link. Neste momento, o PIC inicia um contador, chamado TOT, que definirá um
tempo máximo (60s) que os transmissores poderão ficar acionados. Então, os
transmissores serão desativados após o fim da conversação ou estouro do contador.
1. O trimpot R5, que regula o nível de recepção do receptor local deve ser
ajustado para um valor de 0,336 V no pino 8 do CI-4;
2. O trimpot R8, que regula o nível de recepção do receptor do link deve ser
ajustado para um valor de 0,336 V no pino 8 do CI-4;
3. O trimpot R22, que regula o nível de áudio do transmissor local deve ser
ajustado para um valor de 3,5KHz de desvio de áudio verificado no monitor;
4. O trimpot R23, que regula o nível de áudio do transmissor do link deve ser
ajustado para um valor de 3,5KHz de desvio de áudio verificado no monitor;
5. O trimpot R34, que regula o nível de subáudio do transmissor local deve ser
ajustado para um valor de 600Hz de desvio de áudio verificado no monitor;
6. O trimpot R35, que regula o nível de subáudio do transmissor do link deve ser
ajustado para um valor de 600Hz de desvio de áudio verificado no monitor;
6 CONCLUSÃO
7 REFERÊNCIAS BIBLIOGRÁFICAS
ANEXO A - CÓDIGO
/***************************************** #define _hrx PIN_E0 //Habilita o
#include <16F877A.h> // Arquivo padrão da Multiplexador para RX Local
Microchip #define _hrx2 PIN_E1 //Habilita o
Multiplexador para RX Link
#use delay(clock=4000000,RESTART_WDT) //
Clock de 4 MHz // Pinos de controle dos LED's
#fuses
XT,WDT,PUT,NOPROTECT,BROWNOUT,NOLV #define _POWRED PIN_B5 //LED Power
P,NOCPD,NOWRT // Configuracoes Vermelho
#priority RDA, RB, TIMER2 // Prioridade das #define _POWGRE PIN_B6 //LED Power
Interrupcoes Verde
#define config_PortA 0x02 //00000010 1=Input #define _LOCGRE PIN_B4 //LED Local
0=output Verde
#define config_PortB 0x00 //00000000 1=Input #define _LINGRE PIN_D7 //LED Link
0=output Verde
#define config_PortC 0x91 //10010001 1=Input #define _ALAGRE PIN_B1 //LED
0=output Alarme Verde
#define config_PortD 0x3D //00111101 1=Input #define _ALARED PIN_D6 //LED
0=output Alarme Vermelho
#define config_PortE 0x04 //00000100 1=Input
0=output // Pinos de controle do Alarme
#use fast_io(A) // Controle de Todas as Portas #define _ALARMEINP PIN_D0
#use fast_io(B) //Entrada do Alarme (sinaliza alarme)
#use fast_io(C) #define _ALARMEOUT PIN_D1 //Saída
#use fast_io(D) do Alarme (Aciona Relé Externo)
#use fast_io(E)
#use // Definicoes para o pic 16f877
rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_ #define BUFFER_SIZE 2500//3645
C7,bits=8,restart_wdt,BRGH1OK) #define PROGRAM_MEMORY_SIZE
getenv("PROGRAM_MEMORY")
// Pinos de controle do MX828 #define BUFFER_END
PROGRAM_MEMORY_SIZE-1
#define _irqn PIN_E2 //IRQ (barrado) #define BUFFER_START
#define _csn PIN_A0 //Ativa o MX828 (PROGRAM_MEMORY_SIZE-
#define _serclk PIN_A3 //C-BUS serial clock BUFFER_SIZE)
#define _cdata PIN_A2 //C-BUS dados de comando #if defined(__PCM__)
#define _rdata PIN_A1 //C-BUS dados de resposta #if BUFFER_SIZE > 6144
#org BUFFER_START, BUFFER_END-
0x1800 {}
// Pinos de controle do Rádio #org BUFFER_END-0x17FF,
BUFFER_END-0x1000 {}
#define _ptt PIN_B3 //PTT switch do TX Local #org BUFFER_END-0xFFF,
#define _ptt2 PIN_B2 //PTT switch do TX Link BUFFER_END-0x800 {}
#define _cdet PIN_D2 //Detecta sinal do RX #org BUFFER_END-0x7FF,
Local BUFFER_END {}
#define _cdet2 PIN_D3 //Detecta sinal do RX Link #elif BUFFER_SIZE > 4096
51
} printf("\r\n");
} printf("1 -> Para beep curto.");
printf("\r\n");
//Escreve valores na memória EEPROM printf("2 -> Para beep medio.");
void writedata() printf("\r\n");
{ printf("3 -> Para beep longo.");
int8 cont; //Contador de endereço de memória do printf("\r\n");
MX828 printf("4 -> Para repeticao CSQ.");
cont = 0; printf("\r\n");
add_id=1; printf("5 -> Para repeticao de dados.");
add_BY1=60; printf("\r\n");
add_BY2=90; }
add_BY3=120;
add_BY4=150; //Interrupção da RS232
printf("Apagando memoria... \r\n"); #int_RDA
clear_eeprom(); RDA_isr() {
//printf("Pressione 'h' para help!"); char ch;
//printf("\r\n"); ch = getch();
printf("Config:>>"); switch (ch)
config = get_int(); {
printf("\r\n"); case 'r':
write_eeprom(200,config); readdata();
break;
while (cont<15){
printf("Grupo %u:>>", add_id); case 'w':
tpl = get_float(); writedata();
printf("\r\n"); break;
escreve();
converte10(cont); case 'h':
write_eeprom(add_id,(int8)tpl); ajuda();
write_eeprom(add_BY1,(int8)byte1); break;
write_eeprom(add_BY2,(int8)byte2); default:
write_eeprom(add_BY3,(int8)byte3); printf(" Press. 'h' para ler.\r\n");
write_eeprom(add_BY4,(int8)byte4); printf(" Press. 'r' para ler.\r\n");
//config_mx(); printf(" Press. 'w' para escrever.\r\n");
cont++; }
add_id++;
add_BY1++; }
add_BY2++;
add_BY3++; void pisca_led()
add_BY4++; {
} output_high(_POWGRE);
//config_mx(); delay_ms(200);
printf("ATENCAO: Reinicie o Repetidor! \r\n"); output_low(_POWGRE);
} delay_ms(200);
output_high(_POWRED);
void ajuda(){ delay_ms(200);
printf("\r\n"); output_low(_POWRED);
printf("Menu Ajuda-Configuracao"); delay_ms(200);
56
output_high(_LOCGRE); output_low(_csn);
delay_ms(200); send_cbus();
output_low(_LOCGRE); topo=8;
delay_ms(200); while(topo>0){
output_high(_LINGRE); topo--;
delay_ms(200); output_low(_serclk);
output_low(_LINGRE); if(bit_test(input_a(),1)){
delay_ms(200); pilha1[topo]=1;
output_high(_ALAGRE); }
delay_ms(200); if(!bit_test(input_a(),1)){
output_low(_ALAGRE); pilha1[topo]=0;
delay_ms(200); }
output_high(_ALARED); output_high(_serclk);
delay_ms(200); //printf("%u \r\n", pilha1[topo]);
output_low(_ALARED); }
}
output_high(_csn);
//Converte para decimal o endereço do subtom converte_dec();
decodificado }
void converte_dec()
{ //Configura o registrador $83
int8 Dvar; void carrega_83(){
int8 Dvar1; int8 command;
topo=0; int8 data1;
Dvar=0; int8 data2;
add_reply=0; command=131;
while(topo<4){ data1=read_eeprom(120+add_reply);
eleva=1; data2=read_eeprom(150+add_reply);
Dvar1=Dvar; convert_bin(command);
while(Dvar1!=0){ output_low(_cdata);
eleva=eleva*2; output_low(_csn);
Dvar1--; send_cbus();
} convert_bin(data1);
add_reply=add_reply+(pilha1[topo]*eleva); output_low(_csn);
Dvar++; send_cbus();
topo++; convert_bin(data2);
} output_low(_csn);
//printf("%u", add_reply); send_cbus();
} output_high(_csn);
command=128;
data1=128;
convert_bin(command);
//Ler TPL decodificado no MX828 output_low(_cdata);
void ler_mx() output_low(_csn);
{ send_cbus();
int8 reply; convert_bin(data1);
reply=129; output_low(_csn);
convert_bin(reply); send_cbus();
output_low(_cdata); output_high(_csn);
57
} pisca_led();
printf("SO OK\r\n");
//Final de transmissão printf("Testando Conexao RS232...");
void fim_tx(){ setup_wdt(WDT_2304MS);
int8 command; setup_timer_1(T1_INTERNAL|
int8 data1; T1_DIV_BY_8); // Configuracao do Timer 1
command=128; enable_interrupts(INT_RDA);
data1=132; //Ativa tx do beep delay_us(15);
convert_bin(command); printf("Cabo OK\r\n");
output_low(_cdata); printf("Inicializando Configuracao do
output_low(_csn); MX828...");
send_cbus(); config_mx();
convert_bin(data1); printf("OK\r\n");
output_low(_csn); //printf("MX828 OK\r\n");
send_cbus(); output_high(_POWRED);
output_high(_csn); restart_wdt();
delay_ms(100*config); printf("Pressione r >> Para ler
output_low(_ptt); configuracao.\r\n");
output_low(_ptt2); printf("Pressione w >> Para escrever
output_low(_hrx); configuracao.\r\n");
output_low(_hrx2); printf("Equipamento Operante. Aguardando
output_low(_LOCGRE); Sinal de Audio...\r\n");
output_low(_LINGRE); }
command=128;
data1=64; void main() {
convert_bin(command); int8 tot=0;
output_low(_cdata); set_tris_a(config_portA); // Inicializacao das
output_low(_csn); Portas
send_cbus(); set_tris_b(config_portB);
convert_bin(data1); set_tris_c(config_portC);
output_low(_csn); set_tris_d(config_portD);
send_cbus(); set_tris_e(config_portE);
output_high(_csn); inicializa();
printf("Finalizado transmissao.\r\n"); enable_interrupts(global);
} config=read_eeprom(200);
1. Introdução e Recursos
O controlador utiliza o microcontrolador PIC16F877A para controlar todas as
funções do sistema conseguindo-se com isso uma maior gama de recursos e flexibilidade.
O controlador torna uma repetidora normal com um só par de freqüências, em
uma repetidora com vários grupos de comunicação sem que um escute ou interfira com o
outro, sendo estes grupos separados por subtons programados nos rádios dos usuários do
sistema, e o controlador gerencia a entrada e saída destes subtons.
O controlador analisa o subtom que está recebendo, verifica se o mesmo está
programado e se positivo, aciona o transmissor do repetidor com o subtom cadastrado para
aquele grupo, como o controlador faz o trabalho de decodificar e o subtom de transmissão é
gerado novamente no controlador então, mesmo que o subtom de entrada esteja fraco o de
saída é totalmente novo e dentro dos padrões, o que proporciona maior facilidade de recepção
e decodificação dos rádios do sistema.
60
3. Programação do controlador
Siga os passos abaixo, configurando o terminal como mostrado na Figura
abaixo, que teve como exemplo a porta COM1:
Configuração do Hyperterminal para RS232
1. Execute o Hyperterminal, disponível nos acessórios de comunicações
de qualquer versão do Windows;
2. Escreva o nome da conexão, quando solicitado;
3. Em “Conectar usando” marque a porta que será conectada o cabo;
4. Nas propriedades da porta, configure para 9600 bits por segundo;
5. Em bits de dados, escolha 8;
6. Em paridade, escolha nenhum;
7. Em bits de parada, escolha 1;
8. Em controle de fluxo, escolha nenhum;
9. Dê OK;
10. Ligue o cabo ao controlador;
11. Aguarde a rotina de testes e verifique se cabo está OK.
Basta pressionar a tecla “w” para entrar no modo de programação. Digite o valor de
configuração, 1 a 5, tecle ENTER. Logo após digite os valores dos TPL que se deseja,
teclando ENTER ao final. Repita para os próximos grupos quando solicitado.
Se precisar confirmar os dados inseridos, basta apertar a tecla “r”, e os
mesmos aparecerão na tela. Para ajuda somente aperte a tecla “h”.
63
Conectando o Controlador no PC
A interligação é feita ligando o cabo (conforme esquema na próxima seção deste
manual) do lado RJ45 (conector transparente) na frontal do controlador no conector de
programação e o conector de 9 pinos (DB9) na porta serial de seu micro.
Tenha certeza dos conectores, principalmente o RJ45, estarem devidamente encaixados e
firmes na posição.
Após conectados, o controlador deverá estar alimentado, isto pode ser observado com
o LED de Power (conforme tabela de indicação de LEDs).
D C B A
LED Situação Status
A Ligado vermelho Sistema Operacional OK
A Piscando Vermelho Falha no sistema
B Ligado Vermelho Transmissor Local acionado
B Ligado Laranja Recebendo sinal local com subtom válido
B Piscando Verde Recebendo sinal local sem subtom válido
C Ligado Vermelho Transmissor Link acionado
C Ligado Verde Recebendo sinal link com subtom válido
C Piscando Verde Recebendo sinal link sem subtom válido
D Ligado Vermelho Detectado Alarme
Tabela 7 – Funções dos LEDs
65
6. Seqüência de Ajustes
Para ajuste do áudio de modulação Local é recomendado atuar Somente no trimpot
da frontal: Modulação – Áudio. Este ajustará o áudio (voz) de modulação do transmissor
Local. Vale lembrar que todos trimpots são do tipo multivoltas de precisão, ou seja, são
necessários mais de uma volta para uma mudança perceptível.
Para realinhamento completo, programar a interface com os valores padrões e
programar o monitor de serviços para a freqüência do repetidor com tom de 1Khz @ 3,5Khz
de desvio e gerando o Sub Tom de 77Hz @ 600Hz de desvio.
Ajustes dos Trimpots
Trimpot Função Descrição do ajuste
R5 Nível de recepção local Ajustar p/ 336mVrms no pino 8 de CI-4
R8 Nível de recepção link Ajustar p/ 336mVrms no pino 8 de CI-4
R22 Áudio TX local Ajustar para transmitir 3,5Khz desvio de áudio
R34 Sub áudio local Ajustar para transmitir 600hz desvio de Sub Tom
R23 Áudio TX link Ajustar para transmitir 3,5Khz desvio de áudio
R35 Sub áudio link Ajustar para transmitir 600hz desvio de Sub Tom