You are on page 1of 68

UNIEST - FACULDADE DE CARIACICA

CURSO DE ENGENHARIA ELÉTRICA


PROJETO DE GRADUAÇÃO

CONTROLE DE REPETIDORA EM SISTEMA DE


COMUNICAÇÃO POR RADIOFREQUÊNCIA

JOCIMAR LANGAMER DE OLIVEIRA

CARIACICA – ES
2008
JOCIMAR LANGAMER DE OLIVEIRA

CONTROLE DE REPETIDORA EM SISTEMA DE


COMUNICAÇÃO POR RADIOFREQUÊNCIA

Parte manuscrita do Projeto de Graduação


do aluno Jocimar Langamer de Oliveira,
apresentado ao Curso de Engenharia
Elétrica da Faculdade de Cariacica -
UNIEST, para obtenção do grau de
Engenheiro Eletricista.

CARIACICA – ES
2008
JOCIMAR LANGAMER DE OLIVEIRA

CONTROLE DE REPETIDORA EM SISTEMA DE


COMUNICAÇÃO POR RADIOFREQUÊNCIA

COMISSÃO EXAMINADORA:

___________________________________
Esp. Robert Mota de Oliveira
Orientador

___________________________________
Esp. Nilson Alves da Silva
Co-orientador

___________________________________
M.Sc. Edmilson Bermudes Rocha Junior
Examinador

Cariacica - ES, 08 de Julho de 2008


DEDICATÓRIA

Dedico este trabalho a Deus.

i
AGRADECIMENTOS

Agradeço a Deus, a minha família e meus amigos que me deram forças e me


ajudaram a seguir a diante.
Agradeço, principalmente, a minha esposa pelos incentivos, pela compreensão
e pelo apoio durante as dificuldades, em que esteve sempre presente para não me
deixar desistir.
A todos os amigos e colegas de trabalho pela compreensão, e os que vibraram
com os meus sucessos e me deram forças diante dos meus fracassos.
Agradeço à empresa CML Microcircuitos – USA, pelo fornecimento dos
componentes e informações necessárias.
Aos meus orientadores, Robert Mota e Nilson Alves, pela força que me deram.

ii
LISTA DE FIGURAS

Figura 1 – Modelo de sistema de radiocomunicação ..................................................13


Figura 2 – Fluxograma do repetidor de radiocomunicação .........................................13
Figura 3 – Modulação FSK..........................................................................................19
Figura 4 – Amostragem de sinal ..................................................................................21
Figura 5 – Quantização ................................................................................................22
Figura 6 – Sinal quantizado e codificado ....................................................................23
Figura 7 – Conceito de Multiplexador.........................................................................24
Figura 8 – Multiplexação de 3 canais FDM ................................................................25
Figura 9 – Multiplexação TDM ...................................................................................25
Figura 10 – Diagrama em bloco do MX 828...............................................................28
Figura 11 – Resposta do filtro passa-banda de áudio ..................................................28
Figura 12 – Comunicação C-BUS ...............................................................................30
Figura 13 – Formato do frame de envio de dados .......................................................31
Figura 14 – Diagrama de blocos do MAX232.............................................................32
Figura 15 - Conexão entre dois dispositivos usando porta RS232 ..............................33
Figura 16 – Buffers de entrada do sinal demodulado ..................................................34
Figura 17 – Amplificador de entrada do sinal demodulado ........................................35
Figura 18 – Amplificador de saída do sinal modulante...............................................36
Figura 19 – Diagrama da comunicação RS232 ...........................................................37
Figura 20 – Diagrama completo do Controlador.........................................................38
Figura 21 – Fluxograma do processo...........................................................................40
Figura 22 – O funcionamento do Sistema Repetidor ..................................................42
Figura 23 – Visão frontal do Protótipo ........................................................................42
Figura 24 – Resultado da rotina de testes ....................................................................43
Figura 25 – Configurando o modo de operação ..........................................................44
Figura 26 – Configurando os subtons ..........................................................................44
Figura 27 – Lendo a memória......................................................................................45
Figura 28 – Simulação do CLK e CDATA .................................................................45

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

Tabela 1 – Faixa de freqüência no espectro.................................................................17


Tabela 2 – Comparativo entre modulações .................................................................18
Tabela 3 – Comandos do MX 828 ...............................................................................29
Tabela 4 – Valores para o comando $84 .....................................................................30
Tabela 5 – Pinos do MAX232 .....................................................................................33
Tabela 6 – Organização da Memória EEPROM..........................................................41
Tabela 7 – Funções dos LEDs .....................................................................................64
Tabela 8 – Subtons Padrão EIA...................................................................................65
Tabela 9 – Seqüência de ajustes ..................................................................................65

v
SIMBOLOGIA

ADC Analog Digital Converter


A/D Conversor Analógico/Digital
ALU Arithmetic-Logic Unit
AO Amplificador Operacional
ASCII American Standard Code for Information Interchange
Bps Bits por segundo
CPU Central Process Unit
CTCSS Continuous Tone-Coded Squelch System
DPL Digital Tone Line
EEPROM Electrically Erasable Programmable Read-Only Memory
EIA Electronic Industries Alliance
FDM Frequency Division Multiplexing
Frame Bloco de caracteres
PAM Pulsos Modulados em Amplitude
Nibble Conjunto de 4 bits
RAM Random Access Memory
RMS Root Mean Square
PC Personal Computer
SCI Serial Communications interface
TDM Time Division Multiplexing
TPL Tone Private Line
UHF Ultra High Frequencies
USART Universal Synchronous Asynchronous Receiver / Transmitter (IC)
VHF Very High Frequencies

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

Neste trabalho é proposto o desenvolvimento de um controlador de repetidor


para sistemas de radiocomunicação. O controlador será capaz de filtrar o áudio e
decodificar o subtom de recepção, modular este sinal regenerado e codificado
juntamente com subtom no transmissor do repetidor.
O desenvolvimento deste trabalho baseou-se nos subtons, também chamados
de TPL ou CTCSS, que são transmitidos no canal de voz no sistema de
radiocomunicação. Subtom é uma freqüência modulada na faixa de 67Hz-251Hz.
Existe o padrão EIA que define uma tabela padrão para os subtons aplicados ao
sistema de radiocomunicação.
Estes subtons são decodificados e codificados pelo MX828 e o controle do
sistema é feito pelo microcontrolador PIC16F877A. Na memória EEPROM do
microcontrolador são armazenados os subtons que poderão ser transmitidos pelo
repetidor. Quando o receptor detecta sinal, este sinal é decodificado pelo MX828. O
MX828 se comunica com o microcontrolador, se este sinal contiver o subtom liberado
para transmissão, o microcontrolador acionará o transmissor e o MX828 codificará um
novo subtom e este será modulado juntamente com o áudio.
A programação dos parâmetros do controlador é feita pelo Hiper Terminal,
que se encontra instalado em qualquer sistema Windows.
No final deste documento encontra-se um manual detalhado para instalação,
ajustes e manutenção do protótipo.

ix
10

1 INTRODUÇÃO

O repetidor em um sistema de radiocomunicação é essencial para conseguir


uma maior abrangência da área coberta pelo sistema. Sabe-se que radiocomunicação é
um meio de comunicação por radiofreqüência muito utilizado em empresas de
segurança, polícia, indústrias, usinas, entre outros. O alcance de um sistema de
radiocomunicação é o indicativo da eficiência do repetidor. Mais especificamente, a
potência e a sensibilidade do repetidor são fatores importantíssimos para qualidade de
comunicação.
Para melhorar o controle de um repetidor e fazer com que vários grupos se
comunicam em um único sistema sem que um interfira na comunicação do outro foi
desenvolvido um protótipo baseado nos recursos disponíveis nos equipamentos
existentes no mercado. Este protótipo baseia-se em subtons enviados e recebidos pelos
rádios-transceptores.
Existem no mercado repetidores para utilização em grande escala. O preço
deste equipamento é muito elevado, às vezes inviabilizando a implantação do sistema
de radiocomunicação.
A idéia deste trabalho surgiu para implementar um repetidor utilizando dois
rádios-transceptores comuns. Um deles funcionando como receptor e o outro como
transmissor. Neste trabalho desenvolve-se um protótipo para fazer o controle destes
dois rádios tornando-os um repetidor com a eficiência de um repetidor profissional.
Existem no mercado, alguns modelos de controladores com deficiência de
operação, fazendo que a utilização destes sejam ineficientes para controle de sistemas.
A implantação de um repetidor baseado nesta idéia torna-se o sistema viável
para pequenas, médias e grandes aplicações. Desde um sistema somente para medição
de telemetria até um sistema de grande importância de comunicação de voz.
A apresentação deste trabalho está organizada em 9 capítulos, e um anexo, que
apresentam os seguintes assuntos:
O capítulo 1 apresenta a introdução, mostrando os motivos que levaram este
projeto a ser feito.
11

O capítulo 2 apresenta uma visão geral de radiocomunicação, descrevendo o


objetivo deste trabalho e a aplicação deste projeto em sistema de radiocomunicação.
O capítulo 3 apresenta a revisão bibliográfica do assunto.
O capítulo 4 apresenta o funcionamento e especificações dos principais
componentes utilizados no projeto. É descritos o funcionamento do microcontrolador
utilizado, o controlador de áudio (MX828) e os filtros de áudio e subáudio. São
apresentados os circuitos desenvolvidos para a implementação do fluxograma e como
o protótipo está interligado na rede. E também são apresentados o fluxograma do
software e a idéia do desenvolvimento do software.
No capítulo 5 são mostrados os resultados obtidos, de acordo com o propósito
inicial do projeto.
No capítulo 6 a conclusão deste trabalho.
No capítulo 7 está a referência bibliográfica.
O anexo A traz todo o código final elaborado para a execução das tarefas
abordadas.
No anexo B é apresentado o manual do usuário do controlador projetado.
Neste, há todos os procedimentos de calibração, programação e manutenção do
equipamento. Há dados de especificações do controlador e detalhes de como instalá-lo
e pô-lo em operação.

2 A COMUNICAÇÃO POR RADIOFREQÜÊNCIA

2.1 Uso do canal de comunicação por radiofreqüência


Os sistemas que têm a finalidade de troca de informações por radiofreqüência
dentro do espectro de VHF e UHF são conhecidos como radiocomunicação. Ou seja, é
a comunicação entre dois ou mais pontos, utilizando as ondas de rádio como meio de
transmissão.
Uma comunicação é dita half-duplex (também chamada semi-duplex) quando
temos um dispositivo transmissor e outro receptor, sendo que ambos podem transmitir
e receber dados, porém não simultaneamente, a transmissão tem sentido bidirecional.
12

Durante uma transmissão half-duplex, em determinado instante um dispositivo A será


transmissor e o outro B será receptor, em outro instante os papéis podem se inverter.
Com os avanços tecnológicos, os equipamentos de radiocomunicação vêm
migrando dos sistemas analógicos para digital. Esta migração deverá proporcionar
inúmeros benefícios para a sociedade, tais como criptografia, maior nitidez do sinal e
tráfego de dados em alta velocidade na rede privada.
Os sistemas de radiocomunicação são muito utilizados nas indústrias, nas
agroindústrias, nas empresas de pequeno e grande porte e no setor público.
Dentre muitas vantagens pode-se destacar algumas na utilização dos sistemas de
radiocomunicação:
• Canal privado diminuindo despesas com contas de telecomunicações
mensais;
• Econômico para curtas e longas distâncias (quando integrado a uma
repetidora);
• Agilidade e rapidez na comunicação e;
• Independência de redes das operadoras de telefonia fixa e móvel.
A partir destes fatores, a escolha da melhor tecnologia para fornecer
comunicação de voz ou dados para uma determinada empresa, deve-se considerar a
radiocomunicação como mais uma alternativa tecnológica, ao lado ou em combinação
com outras tecnologias e passa a ser uma questão de análise de custos e de serviços a
serem ofertados.
A figura abaixo demonstra um modelo de sistema de radiocomunicação
utilizando um repetidor. A freqüência de recepção é diferente da freqüência de
transmissão. Pelo ponto de vista do repetidor a freqüência de recepção é menor que a
transmissão em 4.6MHz. Este offset se faz necessário para que a transmissão e a
recepção do repetidor ocorram simultaneamente com garantia de que uma freqüência
não interfira na outra.
13

Figura 1 – Modelo de sistema de radiocomunicação

Um repetidor é um sistema composto basicamente por um receptor, um


transmissor, uma antena irradiante, um duplexador e um controlador. O receptor tem a
função de filtrar a informação importante para o sistema (voz ou dados) do sinal de
radiofreqüência (RF), ou seja, demodular o sinal. Por outro lado, o transmissor faz o
inverso, isto é, modula a informação no sinal de radiofreqüência, na portadora, para ser
transmitido para seu destino.
O duplexador assume funções importantíssimas no repetidor. A primeira é a
filtragem da freqüência de acordo com a calibração do mesmo. Isto evita que o sistema
receba interferência de outras fontes geradoras de RF. A segunda função é a junção de
duas freqüências, recepção e transmissão, em um único sistema irradiante.
Na figura abaixo pode ser visto o fluxograma de um repetidor para
radiocomunicação.
Antena

Receptor Duplexador Transmissor

Controlador

Figura 2 – Fluxograma do repetidor de radiocomunicação


14

O repetidor recebe sinais fracos e ou de baixa altitude e retransmite de um local


mais alto e ou com maior potência. Desta forma o sinal terá maior área de cobertura
sem perder a qualidade do sinal.
Um sistema de repetidora compartilhada baseia-se no princípio de que a
repetidora não é usada cem por cento do tempo por um determinado grupo. Partindo-se
deste princípio, pode-se colocar mais de um grupo utilizando-se o mesmo
sistema/repetidora. Em determinados casos, como o de locação de rádios-
transceptores, várias empresas podem utilizar a mesma repetidora sem que uma tenha
acesso e/ou interfira na comunicação da outra. Desta forma, todos estarão
compartilhando a mesma freqüência com uma melhor distribuição de recursos.
Para executar a separação entre os grupos, o controlador de repetidora
diferencia os diversos grupos através de sub-áudio – podendo ser analógico (CTCSS -
Continuous Tone-Coded Squelch System) ou digital (DCS – Digital Code Squelch) -
exclusivos de cada grupo. Quando o controlador de repetidora recebe este sub-áudio
reconhece se é válido ou não, caso válido, regenera e retransmite o sinal abrindo o
áudio somente dos rádios concernentes ao mesmo grupo. O número de grupos em um
sistema é determinado pelo controlador de repetidora podendo alcançar 154 grupos em
uma mesma freqüência ao mesmo tempo.
O sistema de repetidora compartilhada minimiza os gastos de aquisição de
diversas repetidoras, sistema irradiante e de freqüências, já que se agregam mais
usuários por repetidora. Alguns dos outros benefícios são citados abaixo:
 Manutenção centralizada;
 Otimização da faixa espectral de freqüências;
 Interconexão entre dois ou mais repetidores.
As estações terminais de sistema (rádios móveis, fixos e portáteis) devem
possuir a capacidade de gerar e decodificar sub-áudios analógicos ou digitais, que é
um recurso padrão em todos os rádios comerciais com este fim.
A fidelidade do áudio de retransmissão não depende apenas do controlador, mas
também da origem e bem como do destino da mensagem.
15

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

comunicação da empresa (recursos digitais não disponíveis quando operando em modo


analógico).

3 REVISÃO BIBLIOGRÁFICA

Neste capítulo se faz uma revisão bibliográfica do assunto abordado.


3.1 Características das ondas senoidais
A freqüência é o número de ciclos realizado em um certo intervalo de tempo,
sendo o tempo dado em segundos.
A amplitude é a intensidade da onda, sua amplitude é normalmente medida em
Volts, podendo ser em Volts RMS, de pico ou de pico a pico.
O período é o tempo gasto para a onda realizar um ciclo completo, sendo o
tempo dado em segundos.
O comprimento corresponde à distância entre dois picos máximos
consecutivos de uma onda. Sua unidade é dada em metros. O comprimento está
relacionado com a freqüência, pela seguinte fórmula matemática:
λ=c/f
onde λ= comprimento de onda, c = velocidade de propagação da luz no espaço livre
que corresponde a 3x108 m/s e f = freqüência em Hz.
3.2 Definição do espectro de freqüência
Definimos espectro, como o espaço onde estão posicionadas todas as
freqüências de um modo geral. O espectro é dividido em diversas faixas, e cada uma
delas recebe uma denominação própria como apresentado na Tabela abaixo.
O controlador projetado poderá controlar um repetidor que opere em quaisquer
dessas faixas de freqüências. Os sistemas de radiocomunicação, geralmente, estão
localizados dentro das faixas UHF e VHF.
17

Frequência Faixa Abrev. Comprimento


3 Hz a 30 KHz Very Low Frequencies VLF 10000Km a 10Km
30KHz a 300KHz Low Frequencies LF 10Km a 1Km
300KHz a 3MHz Médium Frequencies MF 1Km a 100m
4Hz a 30MHz High Frequencies HF 100m a 10m
0MHz a 300MHz Very High Frequencies VHF 10m a 1m
300MHz a 30000Mhz Ultra High Frequencies UHF 1m a 0.1m
3GHZ a 30GHz Super High Frequencies SHF 0.1m a 10cm
30GHz a 300GHz Extra High Frequencies EHF 10cm a 1cm
Tabela 1 – Faixa de freqüência no espectro

3.3 Definição de mensagem e portadora


Em um sistema de comunicação qualquer, via rádio, ligando dois ou mais
pontos, temos dois fatores muito importantes a serem considerados: um é a mensagem
e o outro é a portadora.
A mensagem é a informação que se quer transmitir, seja falada, escrita ou
codificada. A mensagem falada está posicionada dentro de espectro de baixa
freqüência, ou seja, freqüências audíveis em torno de 20Hz a 20KHz.
A portadora, por outro lado, localiza-se no espectro de freqüência de rádio RF
(radiofreqüência), ou seja, freqüências não audíveis.
3.4 Modulação
A mensagem está localizada no espectro de baixa freqüência. Nesta faixa a
propagação dos sinais através do espaço, torna-se muito difícil, por outro lado, o sinal
de RF tem excelente propagação, contudo inaudíveis. Para que a comunicação seja
realizada com êxito, associam-se as vantagens que oferecidas por cada uma delas. Isso
é efetuado, colocando-se a mensagem sobre a portadora de RF, a seguir ela é
transmitida através do espaço entre os dois pontos, e no final do sistema recupera-se a
mensagem transmitida. O processo físico pelo qual permite colocar a mensagem sobre
a portadora é conhecido como modulação.
18

3.4.1 Modulação Analógica e Modulação Digital


Os sistemas puramente analógicos, com modulação AM e/ou FM têm sido
substituídos gradativamente por sistemas digitais, que apresentam como vantagem
maior capacidade de transmissão, confiabilidade, e podendo ser produzidos a um
menor custo.
Atualmente, a informação útil pode estar disponível na forma digital (dados)
ou na forma analógica (áudio, vídeo) que devem ser então convertidos (conversão
A/D) antes do processo de modulação digital.
Em qualquer modulação existem três parâmetros do sinal da portadora que
podem ser alterados pelo sinal modulador (informação): amplitude, fase e freqüência.
Um ou mais desses parâmetros podem ser alterados simultaneamente, transportando,
assim a informação. É possível identificar similaridades entre alguns tipos de
modulações analógicas e digitais, como mostra a Tabela abaixo.
Parâmetro alterado Modulação Analógica Modulação Digital
na Portadora
Amplitude AM (Amplitude modulation) ASK (Amplitude Shift Keying)
Freqüência FM (Frequency modulation) FSK (Frequency Shift Keying)
Fase PM (Phase modulation) PSK (Phase Shift Keying)
Amplitude e Fase ****** QAM (Quadrature amplitude
modulation)
Tabela 2 – Comparativo entre modulações

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

correspondente a um bit 1 e analogamente, permanece nesta freqüência durante o


período de duração de 1 bit, como mostrado na figura a seguir.

Figura 3 – Modulação FSK

A modulação FSK apresenta o inconveniente de ocupar uma banda de


freqüência bastante alta, devido a estas variações bruscas de freqüência em função da
transição de bits, além de possibilitar taxas de transmissão relativamente baixas.
PSK – os símbolos zeros e uns são associados a mudanças na fase da
portadora, e a freqüência permanece constante.
ASK – consiste em representar os símbolos zeros e uns de um sinal digital
pela ausência ou pela presença do sinal de portadora. A fase e a freqüência da
portadora não se alteram.

3.5 Comunicação de dados

Esse capítulo descreve os princípios e aplicação de comunicação de dados.

“A comunicação de dados constitui o processo de comunicação de


informações em estado binário entre dois ou mais pontos.” (Held, 1999, p.18).

É desta forma que atualmente, as mais variadas formas de comunicação são


estabelecidas entre diversos pontos e equipamentos.

A comunicação de dados se estabelece, valendo-se de recursos físicos e


elétricos para levar de um ponto a outros sinais que, no conjunto, revelam um
dado/informação.
20

Na origem, de onde provêm os dados, há um processo que os transforma em


sinais e são transmitidos, que pode ser por RF até seu destino, onde ocorre um
processo inverso ao da origem. O sinal é, assim, transformado em dados.
Com estes processos, a comunicação à distância é estabelecida utilizando-se
a escrita, a voz e as imagens como sinais moduladores. Alcançando distâncias que
dependem da freqüência de RF onde o sinal é modulado, da potência do transmissor,
da sensibilidade do receptor, dos fatores climáticos, entre outros fatores.
Para se ter um maior alcance da comunicação utiliza-se sistemas de
repetidores. Neste projeto apresenta um protótipo de um controlador de repetidor
com a finalidade de comunicação de voz.
Neste protótipo não importa se a comunicação entre o repetidor e os pontos
de usuários é analógica ou digital.
3.6 Digitalização de um sinal analógico

Para digitalizar um sinal analógico, são necessárias no mínimo quatro etapas:


filtragem, amostragem, quantização e codificação.

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.”

Quanto maior a freqüência de amostragem, mais fácil será reproduzir o sinal,


mas haverá desperdício de banda ocupada sem nenhuma melhoria na qualidade.
A figura seguinte ilustra o princípio da amostragem:

Figura 4 – Amostragem de 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

Cada amostra será transformada em uma quantidade predefinida de n bits.


Por exemplo, com n = 8 bits é possível representar 256 valores diferentes (0 a 255).
Para facilitar, supõe-se que as amostras são limitados entre 0 e 255 Volts.
Um pulso qualquer pode ter como valor real 147,39 V, mas terá de ser quantizado
como tendo 147 V ou 148 V, pois não é possível representar 147,39 com 8 bits. O
valor quantizado depende dos valores dos níveis de decisão no projeto do ADC.
Tem-se então um erro, no caso de -0,39 V ou +0,61 V respectivamente,
chamado erro de quantização. Esta falta ou excesso no valor do sinal provoca o
surgimento de um sinal aleatório, chamado ruído de quantização.
A figura seguinte mostra o aspecto do erro ou ruído de quantização para um sinal
senoidal:

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

A figura seguinte mostra exemplo de um sinal senoidal quantizado e


codificado.

Figura 6 – Sinal quantizado e codificado

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.

Figura 7 – Conceito de Multiplexador

3.7.1 FDM – Multiplexação por divisão de freqüência


Em FDM, o espectro de freqüências é dividido em vários canais lógicos, com
cada usuário possuindo sua largura de banda própria. Dessa forma, cada canal
analógico é modulado em freqüências diferentes entre si, evitando a interferência. A
figura a seguir mostra uma multiplexação de 3 canais de telefone (faixa de freqüência
original de 0 a 4KHz) sendo multiplexados entre 12KHz e 24KHz. Nota-se que cada
canal continua com um espaço equivalente à sua largura de banda original (4KHz),
porém, deslocado em freqüência no espectro. A recuperação do sinal é semelhante,
com o demultiplexador deslocando o sinal para a faixa de freqüência original.
25

Figura 8 – Multiplexação de 3 canais FDM

3.7.2 TDM – Multiplexação por divisão de tempo


Na multiplexação por divisão de tempo, são amostrados ciclicamente os
diversos canais tributários e em cada amostragem é recolhida uma fatia de sinal (fatia
de tempo), que é utilizada na montagem de um quadro agregado, que corresponde às
amostragens de todos tributários durante um ciclo de amostragem.
Na figura abaixo é ilustrado o processo MUX/DEMUX de um sistema
multiplexador TDM.

Figura 9 – Multiplexação TDM


26

Um ponto importante a ser observado é que a velocidade necessária na linha


(Ta) deve ser, no mínimo, igual à soma das velocidades de todos os canais de entrada
(Tt), pois de outra forma não haveria tempo para amostrar e transmitir os sinais de
todos os canais.

4 MONTAGEM E HARDWARE

Neste capítulo mostra os componentes utilizados no projeto, suas


especificações, localização e funcionamento. Devido ao custo, acessibilidade de
compra, documentação e robustez foram escolhidas os componentes aqui citados.
4.1 O microcontrolador
Um microcontrolador é basicamente a integração de um microprocessador
com outros periféricos. Enquanto a maioria dos microprocessadores possui apenas a
CPU, ALU, linha para dados, linhas para endereços e linhas para controle e acesso de
memória externa, alguns microcontroladores possuem tudo isso e mais os periféricos
para comunicação serial, timers, Watchdog timer, interrupções, portas de entrada e
saída, entre outros. A escolha do microcontrolador PIC16F877A da Microchip foi feita
devido a algumas características interessantes e importantes ao projeto, as quais
destacamos:
• Baixo custo;
• É facilmente encontrado em lojas especializadas;
• Excelente documentação;
• Fácil gravação.
Dentre os periféricos que esse microcontrolador possui, destacamos os
utilizados: USART´s, Timers, Memória de programa (FLASH EEPROM), Memória
de dados (EEPROM) e memória RAM.
4.1.1 USART
A USART, também chamada de SCI, é um dispositivo interno utilizado para
fazer a comunicação serial com elementos externos ao chip, tais como: computadores,
modem, terminais, memórias, conversores, A/D e D/A, entre outros. A USART pode
ser configurada para trabalhar em 4 modos: assíncrono Full-duplex com ou sem
27

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

Quando o transmissor for acionado o controlador de sinal deverá codificar o


subtom para ser transmitido.
O controlador de sinal utilizado neste projeto é o MX828. Suas
funcionalidades serão descritas a seguir.
4.2.1 Descrição de funcionamento MX 828

Figura 10 – Diagrama em bloco do MX 828

A figura acima mostra o diagrama em blocos do MX828. O sinal demodulado


pelo receptor do repetidor é amplificado por um Amplificador Operacional (AOP),
onde este sinal amplificado seguirá para um filtro passa-faixa e será recuperado o
áudio e uma amostra será retirada por um filtro passa-baixa, onde será decodificado o
subtom. A figura abaixo mostra a resposta do filtro passa-faixa de áudio do MX828.

Figura 11 – Resposta do filtro passa-banda de áudio


29

4.2.2 Descrição de comandos MX 828


A tabela abaixo contém uma breve descrição dos comandos válidos no
MX828.
Estes comandos são enviados para o MX828 através de uma comunicação C-
BUS.
O C-Bus é um tipo de comunicação de dados que serve para ligar a unidade
principal (de comando) a outros componentes do sistema. Neste projeto utiliza-se
quatro linhas de comunicação C-BUS, são elas:
o CS – Habilita o MX828 para comunicação;
o CLK – Clock de comunicação;
o C-data – Envia os dados para o MX828;
o R-data – Recebe os dados enviados pelo MX828.

Tabela 3 – Comandos do MX 828


30

Abaixo se pode observar o funcionamento da C-BUS. Observe que para iniciar


a comunicação deve-se ativar o CS.

Figura 12 – Comunicação C-BUS

O comando que configura os subtons a serem decodificados no MX828 é o


$84. Como pode ser visto na tabela abaixo, ele é um comando de 2 bytes. Sendo os
quatro MSB bits do Byte 1 responsável pelo endereçamento dos subtons. Os outros
bits serão calculados conforme a fórmula na Tabela a seguir.

Tabela 4 – Valores para o comando $84


31

Onde n e r é o valor decimal inteiro que formará um número binário de seis


bits cada, FTONE é a freqüência que se deseja armazenar e FXTAL é a freqüência do
cristal. O valor deste cristal no projeto é de 4,032 MHz.
Abaixo pode-se ver um exemplo de cálculo para programar subtom de 100Hz:
n = INT (948982 *100 / 4.032 *10^ 6)
= INT (23,536) = 23
N = 010111(binário)
r = ((237245 / 4.032 *10^ 6) − (23 /(4 *100))) * 8400
= 11,26 = 11
R = 001011
12 − bits = 010111001011
O comando $83 é responsável pelo valor do subtom a ser codificado,
conforme fórmula:

4.3 Comunicação Serial Assíncrona – MAX232


A comunicação serial assíncrona é a forma mais usual de transmissão de
dados. Não existe a necessidade de sincronização entre os dispositivos, uma vez que os
caracteres são transmitidos individualmente e não em blocos como na comunicação
síncrona. A transmissão de cada caractere é precedida de um bit de start e terminada
por 1 (1/2 ou 2) bit(s) de stop. O microcontrolador usado possui internamente uma
USART, que foi configurada para trabalhar em modo assíncrono, em full-duplex, ou
seja, pode transmitir e receber dados simultaneamente.
Na figura abaixo é mostrado como é a forma de envio de um frame.

Figura 13 – Formato do frame de envio de dados

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

Por exemplo, se a palavra 10001010 está sendo transmitida ou recebida; o bit


de paridade deve ser 1, para que o conjunto palavra + bit de paridade tenha sempre um
número par de 1’s. Se a paridade usada for ímpar o bit de paridade no exemplo
anterior será zero. No processo de transmissão assíncrona, os dispositivos envolvidos
no processo de comunicação devem ter a mesma taxa de transmissão e recepção. Um
dos padrões mais conhecidos para comunicação serial assíncrona é o RS232. O padrão
define um nível de tensão diferente do TTL:
• Nível Lógico 0 +5 a +15 Volts
• Nível Lógico 1 -5 a –15 Volts
A conversão entre o nível TTL e RS232 pode ser feita pelo chip 1488 e do
nível RS232 para o TTL através do 1489. Estes dois chips precisam de alimentação
simétrica o que pode ser inconveniente em alguns projetos. O chip MAX232 da
MAXIM necessita apenas de fonte +5V e incorpora tanto o conversor TTL-RS232
como o RS232-TTL, conforme mostrado na figura abaixo.

Figura 14 – Diagrama de blocos do MAX232

A Tabela abaixo mostra os sinais típicos em um conector RS232. Muitos


destes sinais só são empregados em comunicação com dispositivos mais complexos,
como no caso do modem externo. Nos processos mais simples de comunicação apenas
os pinos TXD e RXD são utilizados.
33

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.

Figura 15 - Conexão entre dois dispositivos usando porta RS232

4.4 O Hardware
Abaixo está demonstrado o diagrama esquemático do circuito por partes.
34

Figura 16 – Buffers de entrada do sinal demodulado


A figura acima mostra o circuito de entrada do sinal para o controlador.
Existem duas origens de sinais: o receptor do link e o receptor local. Estes dois sinais
passam por AOP diferentes (LM324 – A e B) que está configurado como buffers, em
seguida entra num multiplexador (4053) que é controlado pelo microcontrolador.
O sinal de saída do multiplexador entra no AOP, figura abaixo, através do R9
e R10. Este amplificador tem um ganho de 2:
R13 + R12 47 + 47
Vs = *Vi ⇔ Vs = *Vi ⇔ Vs = 2Vi
R12 47
35

Figura 17 – Amplificador de entrada do sinal demodulado

A sinal de saída deste amplificador entra no controlador de sinal (MX828)


pelo pino 14 onde é feita a regeneração do áudio e a demodulação do subtom.
O controlador de sinal procura o subtom demodulado numa lista armazenada
em um registrador interno. Caso este sinal esteja nesta lista o controlador de sinal
enviará um sinal para o microcontrolador e este acionará a transmissão e responderá
para o controlador de sinal o valor correspondente deste subtom para codificação do
sinal.
O controlador de sinal entregará o sinal de áudio regenerado e codificado para
o amplificador de saída. Como a figura abaixo, o sinal poderá ser ajustado o nível de
amplitude para ser modulado no transmissor do repetidor. O ganho deste amplificador
é 2.
36

Figura 18 – Amplificador de saída do sinal modulante

O controle de todo o processo é feito pelo microcontrolador. Ele se comunica


com o controlador de sinal através de uma comunicação C-BUS e com o computador
através de uma comunicação RS232.
A comunicação com o computador se faz necessário para a programação dos
parâmetros de configuração e dos subtons que se deseja utilizar.
A figura abaixo apresenta o diagrama esquemático da comunicação RS232. O
conector fêmea RJ45-8vias faz a interface externa com o usuário para a conexão com o
computador.
37

Figura 19 – Diagrama da comunicação RS232

A seguir a listagem de componentes utilizados

Exported from Processador.sch at 16/03/2008 18:07:26 R29 1M R-EU_0207/7 0207/7 rcl 1


R30 15K R-EU_0207/7 0207/7 rcl 1
EAGLE Version 4.11 Copyright (c) 1988-2003 CadSoft R31 33K R-EU_0207/7 0207/7 rcl 1
R32 33K R-EU_0207/7 0207/7 rcl 1
Part Value Device Package Library Sheet R58 1K R-EU_0207/7 0207/7 rcl 1
R59 1K R-EU_0207/7 0207/7 rcl 1
ALARME DUOLED5MM DUOLED5MM led 1 R60 1K R-EU_0207/7 0207/7 rcl 1
C11 100p C-EU025-025X050 C025-025X050 rcl 1 R61 1K R-EU_0207/7 0207/7 rcl 1
C13 22uF CPOL-EUE2,5-6E E2,5-6E rcl 1 R62 1K R-EU_0207/7 0207/7 rcl 1
C14 10n C-EU025-025X050 C025-025X050 rcl 1 R63 1K R-EU_0207/7 0207/7 rcl 1
C15 10n C-EU025-025X050 C025-025X050 rcl 1 R64 1K R-EU_0207/7 0207/7 rcl 1
C16 22p C-EU025-025X050 C025-025X050 rcl 1 R65 1K R-EU_0207/7 0207/7 rcl 1
C17 22p C-EU025-025X050 C025-025X050 rcl 1 SV1 L03P L03P con-amp-mt 1
C18 100n C-EU025-025X050 C025-025X050 rcl 1 SV2 L02P L02P con-amp-mt 1
C19 1uF CPOL-EUE2,5-6E E2,5-6E rcl 1 SV3 L02P L02P con-amp-mt 1
C21 100n C-EU025-025X050 C025-025X050 rcl 1 SV4 L02P L02P con-amp-mt 1
C24 1uF CPOL-EUE2,5-6E E2,5-6E rcl 1 SV5 L02P L02P con-amp-mt 1
C25 1uF CPOL-EUE2,5-6E E2,5-6E rcl 1 X1 FTOP-8 FTOP-8 con-amp 1
C26 10uF CPOL-EUE2,5-6E E2,5-6E rcl 1
C27 10uF CPOL-EUE2,5-6E E2,5-6E rcl 1 Exported from Controle_Sinal.sch at 16/03/2008 18:14:55
IC1 PIC16F877P PIC16F877P DIL40 microchip 1
IC2 MX828P MX828P DIL24-6 cml-micro 1 EAGLE Version 4.11 Copyright (c) 1988-2003 CadSoft
IC8 MAX232 MAX232 DIL16 maxim 1
J1 J5MM J5MM 05 jumper 1 Part Value Device Package Library Sheet
J2 J2X5MM 05C jumper 1
J3 J2X5MM 05C jumper 1 C1 100n C-EU025-025X050 C025-025X050 rcl 1
J4 J5MM J5MM 05 jumper 1 C2 100n C-EU025-025X050 C025-025X050 rcl 1
LINK DUOLED5MM DUOLED5MM led 1 C3 10uF CPOL-EUE2,5-6E E2,5-6E rcl 1
LOCAL DUOLED5MM DUOLED5MM led 1 C4 100uF CPOL-EUE2,5-6E E2,5-6E rcl 1
POWER DUOLED5MM DUOLED5MM led 1 C6 2.2uF CPOL-EUE2,5-6E E2,5-6E rcl 1
Q1 4MHz CRYTALHC18U-V HC18U-V crystal 1 C7 2.2uF CPOL-EUE2,5-6E E2,5-6E rcl 1
Q6 4,032MHz CRYTALHC18U-V HC18U-V crystal 1 C10 1uF CPOL-EUE2,5-6E E2,5-6E rcl 1
R14 100K R-EU_0207/7 0207/7 rcl 1 C22 2.2uF CPOL-EUE2,5-6E E2,5-6E rcl 1
R16 10K R-EU_0207/7 0207/7 rcl 1 C23 2.2uF CPOL-EUE2,5-6E E2,5-6E rcl 1
38
C28 100n C-EU025-025X050 C025-025X050 rcl 1 R23 R-TRIMM64X RTRIM64X rcl 1
CON1 DB25M/90 D-25M/90 connect 1 R24 100K R-EU_0207/7 0207/7 rcl 1
IC3 LM324N LM324N DIL14 linear 1 R25 10K R-EU_0207/7 0207/7 rcl 1
IC4 LM324N LM324N DIL14 linear 1 R26 10K R-EU_0207/7 0207/7 rcl 1
IC5 78XXL 78XXL v-reg 1 R27 10K R-EU_0207/7 0207/7 rcl 1
IC6 4053N 4053N DIL16 40xx 1 R28 10K R-EU_0207/7 0207/7 rcl 1
Q2 BC337 BC337 TO92 transistor-npn 1 R33 47K R-EU_0207/7 0207/7 rcl 1
Q5 BC337 BC337 TO92 transistor-npn 1 R34 R-TRIMM64X RTRIM64X rcl 1
R1 1K R-EU_0207/7 0207/7 rcl 1 R35 R-TRIMM64X RTRIM64X rcl 1
R2 1K R-EU_0207/7 0207/7 rcl 1 R36 47K R-EU_0207/7 0207/7 rcl 1
R3 10K R-EU_0207/7 0207/7 rcl 1 R37 47K R-EU_0207/7 0207/7 rcl 1
R4 100K R-EU_0207/7 0207/7 rcl 1 R39 560R R-EU_0207/7 0207/7 rcl 1
R5 10K R-TRIMM43P RTRIM43P rcl 1 R40 47K R-EU_0207/7 0207/7 rcl 1
R6 10K R-EU_0207/7 0207/7 rcl 1 R41 47K R-EU_0207/7 0207/7 rcl 1
R7 100K R-EU_0207/7 0207/7 rcl 1 R42 47K R-EU_0207/7 0207/7 rcl 1
R8 10K R-TRIMM43P RTRIM43P rcl 1 R43 47K R-EU_0207/7 0207/7 rcl 1
R9 68K R-EU_0207/7 0207/7 rcl 1 R46 47K R-EU_0207/7 0207/7 rcl 1
R10 68K R-EU_0207/7 0207/7 rcl 1 R47 560R R-EU_0207/7 0207/7 rcl 1
R11 100K R-EU_0207/7 0207/7 rcl 1 R48 1K R-EU_0207/7 0207/7 rcl 1
R12 47K R-EU_0207/7 0207/7 rcl 1 R49 560R R-EU_0207/7 0207/7 rcl 1
R13 47K R-EU_0207/7 0207/7 rcl 1 SV1 L02P L02P con-amp-mt 1
R17 2.2K R-EU_0207/7 0207/7 rcl 1 SV2 L03P L03P con-amp-mt 1
R18 2.2K R-EU_0207/7 0207/7 rcl 1 SV3 L02P L02P con-amp-mt 1
R19 100R R-EU_0207/7 0207/7 rcl 1 SV4 L03P L03P con-amp-mt 1
R20 100R R-EU_0207/7 0207/7 rcl 1 SV5 L04P L04P con-amp-mt 1
R21 100K R-EU_0207/7 0207/7 rcl 1
R22 R-TRIMM64X RTRIM64X rcl 1

Figura 20 – Diagrama completo do Controlador


39

4.5 Fluxograma do processo


O processamento do controlador é feito pelo microcontrolador, que está
analisando o fluxo de informações que chegam e saem do controlador e outros
parâmetros. Para uma visualização do processamento do PIC, é apresentado na Figura
abaixo, o fluxograma de funcionamento do processo.
Quando o repetidor é ligado o PIC faz a inicialização do sistema. Nesta
inicialização é feita a configuração do sistema. É configurado o WDT, a habilitação de
interrupção da RS232 e as configurações do MX828.
O PIC faz a leitura da lista de subtons programados na sua memória EEPROM
e envia para o MX828 através da comunicação C-BUS.
Ao término destas configurações o sistema ficará aguardando o sinal de
entrada. Este sinal poderá ter origem do receptor local ou do receptor do link. Quando
é detectado sinal, o PIC envia uma solicitação para o MX828 para fazer uma varredura
na lista de subtons configurados. O MX828 responderá informando se existe o subtom
válido e ainda com o endereço em sua lista. Veja trecho do código abaixo:

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”
}

output_high(_csn); //Desativa comunicação com o MX828


converte_dec(); //Converte dados recebidos para dec
}
40

A partir do endereço informado pelo MX828 o PIC encontrará o subtom que


foi decodificado e enviará o comando de codificação para o MX828.
Então, o PIC acionará o transmissor local se o sinal tiver origem do receptor
do link ou acionará o transmissor local e link se tiver origem do receptor local, e
manterá o monitoramento destes até o final da conversação.

Início

Configuração do PIC e Aguarde alarme


do MX828

Aciona circuito de
Aguarde receptor link Aguarde receptor local alarme do sistema

N Sinal contém Sinal contém N


Aguarde por char pela
subtom válido subtom válido serial

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

Figura 21 – Fluxograma do processo

No final será enviado um comando para o MX828 acionar a transmissão do


beep de finalização de conversa.
A leitura serial ocorre por interrupção, ou seja, o microcontrolador não precisa
verificar no seu ciclo de trabalho se ele precisa ou não tratar esta atividade. A atividade
é automaticamente tratada quando ela acontece.
41

A monitoração de recepção é feita no programa principal. A função do código


é verificar quando o pino de detecção de sinal está ativado e, quando verdadeiro, o
programa chama uma rotina de tratamento.
4.6 Organização da Memória EEPROM
A memória EEPROM do PIC é organizada de acordo com as funções dos
bytes. É uma organização simples e a locação dos dados são estática.
Veja a tabela abaixo a forma de organização:

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

Tabela 6 – Organização da Memória EEPROM

A qualquer momento, pode-se fazer a leitura e a alteração dos dados


armazenados na memória através das teclas w (escrita) ou r (leitura) dentro do Hiper-
Terminal.
42

Após a alteração dos dados será solicitado a reinicialização do repetidor para


que os dados sejam alterados efetivamente.
Na figura abaixo se tem o diagrama de funcionamento comentado até agora.

Figura 22 – O funcionamento do Sistema Repetidor

5 TESTES E RESULTADOS

A partir dos estudos realizados chegou-se a um protótipo de um controlador


como visto na figura abaixo:

Figura 23 – Visão frontal do Protótipo


43

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.

5.1 Resultados obtidos


Aqui se tem o resultado comentado das funcionalidades do controlador
integrado no sistema de repetidor de voz.
Quando o sistema é ligado, o programa processará uma rotina de testes que
verificará as funcionalidades de todo sistema. Veja o resultado destes testes:

Figura 24 – Resultado da rotina de testes

Nesta rotina é feito o teste do Sistema Operacional, da conexão do cabo


RS232 e configurado o MX828. Enquanto se faz estes testes os LED’s frontais ficarão
piscando seqüencialmente.
A partir destas rotinas o programa ficará aguardando receber sinal do receptor
local ou do receptor do link.
Se for a primeira vez que o sistema é ligado, então, antes de prosseguir, deve-
se fazer a programação dos subtons para que o sistema possa operar. Basta digitar a
tecla “w” no Hiper Terminal (veja configuração no Manual de Operação) e aparecerá a
seguinte tela:
44

Figura 25 – Configurando o modo 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.

Figura 26 – Configurando os subtons

Na seqüência de programação devem-se colocar os 15 subtons. Neste campo


aceita valores da Tabela Padrão EIA. Quando quer programar uma quantidade de
subtons menor que 15, então, preenche apenas os que desejam inicialmente e o
restante coloca-se “0.00”. Depois de preenchido todos os campos se fazem necessário
reinicializar o sistema.
Para confirmar se foi programado corretamente basta ler a memória teclando
“r”. Serão mostrados todos subtons programados. Como pode ser visto na figura a
seguir:
45

Figura 27 – Lendo a memória

Na figura abaixo se pode notar como é feita a transmissão de dados do PIC


para o MX828. O tempo gasto para transmissão de um byte de dados é de 162.5µs.
Equivalente a 20.3125µs por bit, ou seja, 492.31bps.

Figura 28 – Simulação do CLK e CDATA

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.

Figura 29 – Monitoramento de funcionamento pelo Hiper Terminal


A partir dos testes realizados no laboratório de eletrônica, programando 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, chega-se as seguintes
grandezas físicas para melhor operação do controlador:
47

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;

Figura 30 – Monitor de serviço utilizado nos testes

5.2 Aplicação prática


Este protótipo foi apresentado como solução em uma rede de comunicação por
rádio em uma determinada empresa, onde está sendo avaliada a questão comercial.
A necessidade da empresa é a comunicação com seis grupos de conversação
na região Norte do estado do Espírito Santo e mais dois grupos na região Sul da Bahia.
Para esta solução utilizam-se três freqüências diferentes. Sendo duas em VHF,
para a comunicação com os repetidores locais e rádios móveis e portáteis e uma em
UHF para comunicação entre os repetidores (link).
Para colocar estas estações em funcionamento será necessário um projeto
junto a Anatel e este ser autorizado.
48

Veja a solução proposta usando o protótipo:

Figura 31 – Aplicação prática

6 CONCLUSÃO

Com esse trabalho, as empresas que necessitam de sistemas de


radiocomunicação estarão se beneficiando com as soluções propostas que
provavelmente chegará ao mercado. O custo de implantação de um repetidor se tornará
viável com a qualidade de um repetidor profissional. Tem-se uma grande facilidade de
programação, pois qualquer computador com Hiper Terminal poderá fazer as
configurações do sistema.
A utilização de um contador que determina o tempo de um transmissor
acionado por longas conversações garante a confiabilidade do sistema, fazendo a
proteção de superaquecimento dos Amplificadores de Potência (PA).
Com esses dados, novos estudos poderão ser feitos para aumentar a qualidade
do tratamento de sinal, multiplexação dos canais e monitoramento das variáveis
necessárias para o sistema operar (tensão de rede, alarmes, refletida de antena, entre
outras).
49

7 REFERÊNCIAS BIBLIOGRÁFICAS

BEZERRA, Francisco Filho. Modulação, transmissão e propagação das ondas


de rádios. Distribuidora de Livros Érica.
CARVALHO, Rogério Muniz. Princípios de Comunicações. 3. ed. Vitória:
Editado pelo Autor, 2003.
HELD, G. Comunicação de dados. Rio de Janeiro: Campus. 1999. 708 p.
Microchip. PIC16F87xx. Datasheet. Disponível em:
<http://www.microchip.com>. Acesso em 01 de Mar. de 2007.
Revista Mecatrônica Fácil N° 6; Setembro de 2002. Artigo: Construa seu
gravador para microcontroladores PIC. Págs.45-48.
SEDRA, Adel S.; Smith, Kenneth, C. Microeletrônica. São Paulo: Pearson
Makron Books, 2000.
TOCCI, Ronald J. Sistemas digitais: princípios e aplicações. 8. ed. São Paulo:
Pearson Prentice Hall, 2003.
VERGARA, Sylvia Constant. Projetos e relatórios de pesquisa em
administração. 5. ed. São Paulo: Atlas, 2004.
50

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

#org BUFFER_START, BUFFER_END-0x1000 printf("\r\nTabela de TPL: \r\n");


{} while (i_read<16) {
#org BUFFER_END-0xFFF, BUFFER_END- restart_wdt();
0x800 {} printf("Grupo %u :", i_read);
#org BUFFER_END-0x7FF, BUFFER_END {} printf("%u.x",read_eeprom(i_read));
#elif BUFFER_SIZE > 2048 i_read++;
#org BUFFER_START, BUFFER_END-0x800 printf("\r\n");
{} }
#org BUFFER_END-0x7FF, BUFFER_END {} printf("FIM");
#else printf("\r\n");
#org BUFFER_START, BUFFER_END {} i_read=0;
#endif }
#else
#org BUFFER_START, BUFFER_END {} //apaga dados da memória
#endif void clear_eeprom()
{
#include <stdlib.h> int8 i=0;
#include <input.c> while (i<255){
//#include <stdio.h> restart_wdt();
write_eeprom(i++,"");
float tpl; //Variável de leitura do TPL }
int8 pilha[20]; //Pilha para conversão DEC-BIN }
int8 pilha1[20]; //Pilha para conversão DEC-BIN
int8 topo = 0; //Variável de controle de pilha //Converte para binário o valor do registrador
int8 byte1; //Byte1 do registrador $84 $83
int8 byte2; //Byte2 do registrador $84 void converte2(long int vlr)
int8 byte3; //Byte1 do registrador $83 {
int8 byte4; //Byte2 do registrador $83 int temp1=1;
int8 add_reply; //Endereço de resposta $81 long int temp2=-1;
int8 add_id; //Endereço do indice do TPL topo=0;
int8 add_BY1; //Endereço do Byte1 do while (temp2!=0){
registrador $84 temp1 = vlr%2;
int8 add_BY2; //Endereço do Byte2 do temp2 = vlr/2;
registrador $84 vlr = temp2;
int8 add_BY3; //Endereço do Byte1 do pilha1[topo]=temp1;
registrador $83 topo++;
int8 add_BY4; //Endereço do Byte2 do }
registrador $83 while(topo<16){
int8 eleva; //Variável para auxiliar BIN-DEC pilha1[topo]=0;
int8 config; topo++;
}
//leitura dos dados gravados na memoria }
void readdata()
{ //Converte para decimal os valores do
int8 aux; registrador $83 e $84
int8 i_read; void converte10(int8 contx)
i_read = 1; {
printf("\r\nNivel de Configuracao: %u\r\n", int8 au1=1, au2=-1;
read_eeprom(200)); int8 vlr3;
52

int8 var; byte3=0;


int8 var1; while(topo<16){
int8 top1; eleva=1;
top1=12; var1=var;
topo=8; while(var1!=0){
var=0; eleva=eleva*2;
byte1=0; var1--;
vlr3=contx; }
while (au2!=0){ byte3=byte3+(pilha1[topo]*eleva);
au1 = vlr3%2; var++;
au2 = vlr3/2; topo++;
vlr3 = au2; }
pilha[top1]=au1;
top1++; topo=0;
} var=0;
while(top1<16){ byte4=0;
pilha[top1]=0; while(topo<8){
top1++; eleva=1;
} var1=var;
while(var1!=0){
while(topo<16){ eleva=eleva*2;
eleva=1; var1--;
var1=var; }
while(var1!=0){ byte4=byte4+(pilha1[topo]*eleva);
eleva=eleva*2; var++;
var1--; topo++;
} }
byte1=byte1+(pilha[topo]*eleva); }
var++;
topo++; //Gera codigo binário para o registrador $84
} void decoder(long int vlr1, long int vlr2)
{
topo=0; int aux1=1, aux2=-1;
var=0; int ax1=1, ax2=-1;
byte2=0; topo=0;
while(topo<8){ while (aux2!=0){
eleva=1; aux1 = vlr1%2;
var1=var; aux2 = vlr1/2;
while(var1!=0){ vlr1 = aux2;
eleva=eleva*2; pilha[topo]=aux1;
var1--; topo++;
} }
byte2=byte2+(pilha[topo]*eleva); while(topo<6){
var++; pilha[topo]=0;
topo++; topo++;
} }
while (ax2!=0){
topo=8; ax1 = vlr2%2;
var=0; ax2 = vlr2/2;
53

vlr2 = ax2; topo++;


pilha[topo]=ax1; }
topo++; }
}
while(topo<12){ //Envia dados para o MX828 C-BUS
pilha[topo]=0; void send_cbus()
topo++; {
} int8 pont;
//int8 Taux;
} restart_wdt();
pont=8;
//Calcula valores a serem escritos na memória while(pont>0){
void escreve() //Taux=pilha[pont];
{ pont--;
float n; //printf("%u", pilha[pont]);
double r; output_low(_serclk);
double ra; if(pilha[pont]==1){
double rb; output_high(_cdata);
long int ri; }
long int ni; if(pilha[pont]==0){
long int na; output_low(_cdata);
float A; }
n=(948982*tpl/4032000); output_high(_serclk);
ni=(long int)n; }
ra=(4*tpl); }
rb=(237.245/4032);
r=((rb-(ni/ra))*8400);
ri=(long int)r; //Configura o MX828
decoder(ri,ni); void config_mx()
A = (4032/(0.016*tpl)); {
na=(long int)A; int8 command;
converte2(na); int8 data1;
} int8 data2;
int8 control1;
void convert_bin(int valor) int8 control2;
{ int8 control3;
int8 tempo1=1; int8 control4;
int8 tempo2=-1; control1=60;
topo=0; control2=90;
while (tempo2!=0){ //Apaga configuração do MX828
tempo1 = valor%2; //printf("Apagando registradores internos...");
tempo2 = valor/2; command=01;
valor = tempo2; convert_bin(command);
pilha[topo]=tempo1; output_low(_cdata);
//printf("%u",tempo1); output_low(_csn);
topo++; send_cbus();
} output_high(_csn);
while(topo<8){ //printf("OK\r\n");
pilha[topo]=0;
54

//printf("Configurando registrador 'SIGNALLING output_low(_cdata);


CONTROL'..."); output_low(_csn);
//Configura o registrador $80 send_cbus();
command=128; //Reg $80 convert_bin(data1);
data1=64; //DATA 01000000 output_low(_csn);
convert_bin(command); send_cbus();
output_low(_cdata); convert_bin(data2);
output_low(_csn); output_low(_csn);
send_cbus(); send_cbus();
convert_bin(data1); output_high(_csn);
output_low(_csn); //printf("OK\r\n");
send_cbus(); //printf("Configurando registrador
output_high(_csn); 'SELCALL TX'...");
//printf("OK\r\n"); //Configura o registrador $8D
//printf("Configurando registrador 'SIGNALLING command=141; //REG $8D
SET-UP'..."); data1=04; //Frequencia de 930Hz
//Configura o registrador $82 data2=60;
command=130; //Reg $82 convert_bin(command);
data1=128; //DATA 10000000 output_low(_cdata);
convert_bin(command); output_low(_csn);
output_low(_cdata); send_cbus();
output_low(_csn); convert_bin(data1);
send_cbus(); output_low(_csn);
convert_bin(data1); send_cbus();
output_low(_csn); convert_bin(data2);
send_cbus(); output_low(_csn);
output_high(_csn); send_cbus();
//printf("OK\r\n"); output_high(_csn);
//printf("Configurando registrador 'GENERAL //printf("OK\r\n");
CONTROL'..."); //printf("Configurando registrador 'RX TONE
//Configura o registrador $88 PROGRAM'...");
command=136; //Reg $88 //Confogura o registrador $84 (15 TPL)
data1=221; //DATA 11011101 command=132;
convert_bin(command); while(control1<75){
output_low(_cdata); output_low(_cdata);
output_low(_csn); data1=read_eeprom(control1);
send_cbus(); data2=read_eeprom(control2);
convert_bin(data1); convert_bin(command);
output_low(_csn); output_low(_csn);
send_cbus(); send_cbus();
output_high(_csn); convert_bin(data1);
//printf("OK\r\n"); output_low(_csn);
//printf("Configurando registrador 'AUDIO send_cbus();
CONTROL'..."); convert_bin(data2);
//Configura o registrador $8A output_low(_csn);
command=138; //REG $8A send_cbus();
data1=63; //DATA 00111111 output_high(_csn);
data2=63; //DATA 00111111 control1++;
convert_bin(command); control2++;
55

} 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);

//Incializa funções do PIC for(;;)


void inicializa() {
{ restart_wdt();
printf("Inicializando Sistema..."); if (tot>29999){
setup_adc_ports(NO_ANALOGS); printf("Protecao do transmissor
output_low(_ptt); (TOT).\r\n");
output_low(_ptt2); delay_ms(20000);
output_low(_LOCGRE); }
output_low(_LINGRE); tot=0;
output_low(_POWGRE); //Função quando estiver recebendo pelo RX
output_low(_POWRED); local
output_low(_ALAGRE); if(!bit_test(input_d(),2)){
output_low(_ALARED);
58

printf("Detectado Sinal no RX Local.\r\n"); if(!(add_reply==15) || config==4 ||


output_low(_hrx2); config==5){
output_high(_hrx); //printf("Subtom valido, CSQ ou
output_high(_LOCGRE); dados: %u.x\r\n", read_eeprom(add_reply+1));
if(!bit_test(input_d(),2)){ carrega_83();
ler_mx(); printf("Transmissor local foi
if((pilha1[4]==1) || config==4 || config==5){ acionado.\r\n");
printf("Sinal contem subtom ou modo while(!(bit_test(input_d(),3)) &&
CSQ/Dados.\r\n"); (tot<30000)){
if(!(add_reply==15) || config==4 || //output_low(_LINGRE);
config==5){ output_high(_ptt);
//printf("Subtom valido, CSQ ou dados: restart_wdt();
%u.x\r\n", read_eeprom(add_reply+1)); //delay_ms(1000);
carrega_83(); tot++;
printf("Transmissor local e link foram }
acionados.\r\n"); fim_tx();
while(!(bit_test(input_d(),2)) && }else{printf("Subtom invalido.\r\n");}
(tot<30000)){ }else{printf("Sinal nao contem
//output_low(_LOCGRE); subtom.\r\n");}
output_high(_ptt); }
output_high(_ptt2); }
restart_wdt();
//delay_ms(1000);
tot++;
} if(!bit_test(input_d(),0)){
fim_tx(); output_high(_ALARMEOUT);
output_high(_ALAGRE);
}else{printf("Subtom invalido.\r\n");} printf("Alarme");
}else{printf("Sinal nao contem }
subtom.\r\n");} if(bit_test(input_d(),0)){
} output_low(_ALARMEOUT);
output_low(_ALAGRE);
}
} //delay_ms(1000);
restart_wdt();
restart_wdt(); output_low(_LOCGRE);
//Função quando estiver recebendo pelo RX link output_low(_LINGRE);
if(!bit_test(input_d(),3)){ }
printf("Detectado Sinal no RX Link.\r\n");
output_low(_hrx); }
output_high(_hrx2);
output_high(_LINGRE);
if(!bit_test(input_d(),3)){
ler_mx();
if((pilha1[4]==1) || config==4 || config==5){
printf("Sinal contem subtom ou modo
CSQ/Dados.\r\n");
59

ANEXO B – MANUAL DO USUÁRIO


Esse manual tem por objetivo esclarecer eventuais dúvidas na instalação e
operação do controlador bem como suas características, explicando passo a passo
como instalá-lo e operá-lo.
As características elétricas principais do equipamento são listadas abaixo:
• Sistema Microprocessado, PIC 16F877A da Microchip;
• Programação via Hiper Terminal;
• Sistemas de geração de alarmes;
• Soquetes em todos os Circuitos Integrados;
• Comunicação em RS232;
• Cabo para conexões de comunicação serial via PC/LapTop;
• Sensibilidade de decodificação melhor que 12dB;
• Níveis de saída ajustáveis de 0 à 3,5 Vpp;
• Níveis de recepção ajustáveis de 50mVpp à 5 Vpp;
• Ajustes independentes por rádio, áudio e subtom (transmissão);

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

Os circuitos de tratamento e silenciamento de áudio são do tipo flat-in-flat-out não


introduzindo praticamente nenhum ruído, distorção ou inversão de fase no áudio de
entrada/saída, garantido uma alta fidelidade no áudio transmitido.
A filtragem dos subtons de entrada é feita digitalmente sendo, o subtom de
entrada totalmente suprimido evitando que seja repassado diretamente ao transmissor
ocasionando degradação na sinalização transmitida.
O controlador tem a capacidade de controlar 3 rádios: o receptor, o transmissor e
o link, com isso podemos ter vários repetidores integradas formando uma rede multi-sítio com
grupos de conversação.
O controlador tem uns recursos bastante úteis, que é a capacidade de gerar beep
de cortesia. Estes beeps são tons que são transmitidos após o término de uma conversação.
Para proteção do site, o controlador possui entrada de alarme que aciona um relé
externo para ativar o sistema de segurança do local.
Recursos disponíveis:
• Até 15 grupos de conversação;
• Controla rádio para link de repetidores;
• Entrada de alarme;
• Três diferentes beeps de cortesia selecionáveis;
• Todos recursos programáveis por Hiper Terminal;
• Leds sinalizadores de transmissão, recepção, programação e alarme;
• Níveis de áudios ajustáveis;

2. Programação dos rádios


Para que o controlador reconheça os subtons e module no rádio transmissor é
necessário que eles sejam programados como “Flat”, ou seja, para que o rádio receptor
permita que o subtom recebido passe para o controlador através do conector de acessórios e
do controlador para o rádio transmissor.
A programação é simples e varia pouco de acordo com o rádio. Abaixo, veremos
como configurar os rádios da linha EM da Motorola.
Deverão ser configurados os pinos 3 e 8. Onde o pino 3 aciona o transmissor do
repetidor e o pino 8 ativa a detecção de recepção. O tipo de áudio de recepção deve ser não
filtrado e a origem de áudio de transmissão deve ser de áudio de transmissão não filtrado.
61

Configuração dos rádios EM200/EM400

Figura 32 – Configuração do rádio

Configuração dos conectores de acessórios

Figura 33 – Configuração dos pinos de acessórios


62

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

Figura 34 – Configurações da porta serial

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).

4. Ligação dos rádios


A conexão entre o transmissor, receptor e controlador deve ser feita através de
cabo conforme esquema abaixo.
64

Figura 35 – Diagrama de ligação dos cabos

Funções LEDs dos painéis frontais

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

5. Tabela de Subtons Padrão EIA

Tabela 8 – Subtons Padrão EIA

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

Tabela 9 – Seqüência de ajustes

You might also like