Giga de Teste para Rib

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 66

Universidade do Vale do Paraíba

Faculdade de Engenharias Urbanismo e Arquitetura


Curso de Engenharia Elétrica/Eletrônica

GIGA DE TESTES PARA RIB


Teste dos circuitos Óptico e Ethernet

GUILHERME CERON BENTO

Relatório do Trabalho de Conclusão de Curso


apresentado à Banca Avaliadora da Faculdade de
Engenharias Urbanismo e Arquitetura da
Universidade do Vale do Paraíba, como parte dos
requisitos para obtenção do Título de Bacharel em
Engenharia Elétrica/Eletrônica.

São José dos Campos – SP


Novembro 2014
GIGA DE TESTES PARA RIB

GUILHERME CERON BENTO

Banca Avaliadora

Presidente

Orientador Alessandro Corrêa Mendes

Membro A

Membro B

______________________________________
Alessandro Corrêa Mendes
Orientador Acadêmico

______________________________________
José Ricardo Abalde Guedes
Coordenador da Disciplina de TCC

Data:
Agradecimentos

Agradeço primeiramente a Deus, Senhor da


minha vida, que me fez a vocação para empregar e
desenvolver pelo estudo e pelo trabalho os dons
Dele recebidos. A Maria, minha Mãe, que me deu
paciência e sabedoria para nunca recuar perante o
cansaço e as dificuldades. A esta universidade, sеu
corpo docente, direção е administração quе
oportunizaram а janela pela qual hoje vislumbro
um horizonte superior. Aos meus pais e à minha
noiva, pelo amor, incentivo е apoio incondicional.
Meus agradecimentos também аоs amigos Fábio e
Marcos, companheiros dе trabalhos, sem os quais
este projeto não teria acontecido. A todos que
passaram pela minha vida acadêmica nestes cinco
anos, “muito obrigado!”.
Resumo
Foi desenvolvido um projeto de uma estação de teste para uma placa específica
da empresa Ericsson Telecomunicações S.A. de São José dos Campos, tendo o nome
técnico RIB (Placa de Interface de Rádio, do inglês “Radio Interface Board”). A RIB é
uma placa interna de uma RRU (Unidade de Rádio Remoto, do inglês “Remote Radio
Unit”) e tem como função realizar a interface de sinais analógicos e digitais entre a
RRU e a BTS (Estação Base de Transmissão, do inglês “Base Transceiver Station”). A
placa possui como principais conexões a Ethernet, transceptores ópticos, sinais de
alarmes externo e conectores usados somente em instalações e manutenções da RRU,
assim, através do microcontrolador da família MSP430 (Texas Instruments)
desenvolveu-se uma estação em que são testados funcionalmente os sinais de
comunicações e alarmes externos, e tendo como principais objetivos, abranger todos os
tipos de simulações possíveis semelhantes ao seu funcionamento em campo e ao mesmo
tempo minimizar o custo do projeto com soluções simples, porém eficaz. Neste projeto
serão abordados os testes nos circuitos Óptico e Ethernet da RIB.

Palavras-chave: Microcontrolador; MSP430; Ethernet; RIB; Fibra-óptica.


Abstract
Develops a design of a test station for a specific board of the company Ericsson
Telecommunications SA of São José dos Campos, the technical name is RIB (Radio
Interface Board). The RIB is an internal board of RRU (Remote Radio Unit) and has the
function to interface of analogue and digital signals between the RRU and BTS (Base
Transceiver Station). The board has as main connections to Ethernet, optical
transceivers, external alarm signals and connectors used only in installation and
maintenance of RRU, thus by the MSP430 microcontroller family (Texas Instruments)
developed a station where are functionally tested signals communications and external
alarms, and having as main objectives reach all similar functions like field operation
while minimizing possible simulations project cost with simple but effective solutions.
In this project will be covered the test in the RIB’s optical circuit and RIB’s Ethernet
circuit.

Keywords: Microcontroller; MSP430; Ethernet; RIB; Fiber-optics.


Sumário

BANCA AVALIADORA ............................................................................................... II

AGRADECIMENTOS ................................................................................................ III

RESUMO ....................................................................................................................... IV

ABSTRACT .................................................................................................................... V

ÍNDICE DE FIGURAS .............................................................................................VIII

ÍNDICE DE TABELAS ................................................................................................ IX

LISTA DE ABREVIAÇÕES......................................................................................... X

INTRODUÇÃO ............................................................................................................. 11

1.1 ANTECEDENTES .................................................................................................. 11

1.2 DESCRIÇÃO DO PROBLEMA ........................................................................... 12

1.3 OBJETIVO .............................................................................................................. 13

1.4 RESTRIÇÕES......................................................................................................... 13

1.5 ORGANIZAÇÃO O TRABALHO........................................................................ 13

EMBASAMENTO TEÓRICO .................................................................................... 14

2.1 CONHECIMENTOS BÁSICOS SOBRE A RIB ................................................. 14

2.2 CONCEITOS BÁSICOS ........................................................................................ 15


2.2.1 MSP-EXP430F5529LP ...................................................................................... 15
2.2.2 Redes .................................................................................................................. 16
2.2.3 Ethernet .............................................................................................................. 17

2.3 METODOLOGIA ................................................................................................... 21

DESENVOLVIMENTO ............................................................................................... 24

3.1 MATERIAIS ........................................................................................................... 24


3.1.1 Circuito Principal ............................................................................................... 24
3.1.2 Circuito Óptico ................................................................................................... 26
3.1.3 Circuito Ethernet ................................................................................................ 27

3.2 PROJETO DETALHADO ..................................................................................... 27

3.3 PROGRAMAÇÃO.................................................................................................. 32

3.4 FLUXOGRAMA ..................................................................................................... 33

RESULTADOS ............................................................................................................. 37
4.1.1 Teste Funcional .................................................................................................. 37

CONCLUSÕES ............................................................................................................. 42

REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................ 43

ANEXO 1 – ESQUEMA ELÉTRICO......................................................................... 44

ANEXO 2 – CÓDIGO MAIN ...................................................................................... 50


Índice de Figuras

Figura 1 – Desenho simplificado dos conectores da RIB ............................................... 14

Figura 2 - MSP-EXP430F5529LP LaunchPad ............................................................... 16

Figura 3 - Rede com Ethernet em uma arquitetura de barramento ................................. 18

Figura 4 - Comparação entre codificação binária e Codificação Manchester ................ 19

Figura 5 - Quadro Ethernet ............................................................................................. 20

Figura 6 – Diagrama esquemático da Giga de Teste da placa RIB ................................ 22

Figura 7 – Bloco Principal .............................................................................................. 29

Figura 8 - Bloco Óptico .................................................................................................. 30

Figura 9 - Bloco RS485 / Ethernet.................................................................................. 31

Figura 10 - PCB Circuito RS485/Ethernet (TOP) .......................................................... 39

Figura 11 - PCB Circuito RS485/Ethernet (BOT) .......................................................... 39

Figura 12 – Giga de Testes ............................................................................................. 40

Figura 13 - Redução do tempo de produção por lote ...................................................... 41

Figura 14 - Ganho em tempo .......................................................................................... 41


Índice de Tabelas

Tabela 1 - Estudo dos principais defeitos possíveis na RIB ........................................... 28

Tabela 2 - Resultados dos testes no circuito Ethernet ..... Erro! Indicador não definido.

Tabela 3 - Resultados dos testes no circuito Óptico ....................................................... 38


Lista de Abreviações

RIB Radio Interface Board


RRUS Remote Radio Unity
RBS Radio Base Station
BTS Base Transmission Station
HW Hardware
LED Light Emitting Diode
NC Not connected
OVP Over Voltage Protection
PCB Printed Circuit Board
RET Remote Electrical Tilt
SFP Small Form Pluggable transceiver
XALM External Alarm
CI Circuito integrado
AC Corrente Alternada
DC Corrente Contínua
MAC Media Access Control
LLC Logic Link Control
CSMA/CD Carrier Sense Multiple Access with Collision Detection
Capítulo 1
Introdução
1.1 Antecedentes
A RIB (Placa de Interface de Rádio, do inglês “Radio Interface Board”),
produzida atualmente na empresa Ericsson, é uma placa interna essencial das RRUS
(Unidades de Rádio Remoto, do inglês “Remote Radio Unity”), que, por sua vez, tem a
função de ampliar o alcance da RBS (Estação Rádio-Base, o inglês “Radio Base
Station”) em dezenas de quilômetros.
A RIB é um dos dispositivos que procuram solucionar a problemática do
crescente aumento de demanda de banda larga e tráfego de redes móveis. Segundo
Umehara e Villas-Bôas:
O tráfego de dados móveis atualmente já ultrapassou o de voz e
continua crescendo segundo as tendências globais. Em regiões como Oriente
Médio, África e América Latina o tráfego de banda larga móvel tem quase
que dobrado a cada ano e a projeção para os próximos anos indica um
crescimento exponencial [3]. A Ericsson prevê um aumento de dez vezes no
tráfego de dados até 2019 em relação aos dados de 2013, resultado de vários
fatores, como o crescimento global em dispositivos sem fio em redes, o
aumento no uso de “smartphones”, e a implantação de redes mais rápidas que
os padrões atuais 2G e 3G em todo o mundo [4].
Os serviços de 4G / LTE e 5G prometem a solução para o aumento
da demanda com a ampliação da largura de banda, o que de fato, é muito
importante, no entanto cada vez mais no meio técnico-científico tem crescido
também outra escola de pensamento que sugere como solução uma melhoria
na eficiência das redes e defende o uso de um modelo híbrido (redes
heterogêneas ou “Het Nets”), geralmente composto de várias tecnologias de
acesso de rádio, diferentes arquiteturas, soluções de transmissão e estações
rádio-base com vários níveis de potência de transmissão. As redes
heterogêneas fazem o “offload” da rede e favorecem a cobertura “indoor”,
pois funcionam com uma cobertura de pequenas células (“small cells”)
subjacente à cobertura de células macro e com a integração de tecnologia
Wi-Fi [5].
Para que se compreenda melhor o problema da ineficiência da rede
convém citar o exemplo recente quando na abertura da Copa do Mundo, na
partida entre Brasil e Croácia, segundo a SindiTelebrasil
(SINDITELEBRASIL, 2014), a tecnologia 3G teve picos de tráfego e
11
congestionamentos momentâneos devido a grande concentração de usuários
conectados num mesmo lugar [8]. E vale ressaltar que na arena de São Paulo,
a cobertura “indoor” contava com 337 antenas interligadas por 12
quilômetros de fibras ópticas e a área externa do estádio ainda foi reforçada
com mais 22 antenas móveis.
Para os sistemas públicos, especialmente ao ar livre e se a rede
macro existente é demasiado escassa para atender a demanda de tráfego e a
cobertura adequada, a implantação de nós de baixa potência ao ar livre é o
mais adequado, pois podem oferecer cobertura a uma vasta área com vários
edifícios e abranger vários locais fechados (“indoor”).
Existem vários tipos de nós de baixa potência, cada um com
exigências diferentes do “backhaul” (infraestrutura de conexão dos pontos de
concentração da rede de acesso com o núcleo de alta capacidade de
transmissão da rede, também conhecido como “backbone”). Para redes onde
o “backhaul” tem características de baixa latência e alta capacidade, a
implantação de RRUS é a abordagem mais praticada. (UMEHARA e
VILLAS-BÔAS, 2014) [6]

A RIB possui conectores utilizados na instalação e manutenção da RRU e tem


como principal função realizar a interface de sinais analógicos e digitais entre a RRU e
a BTS (Estação Base de Transmissão, do inglês “Base Transceiver Station”).

1.2 Descrição do problema


É indispensável que haja planos de amostragem e procedimentos para inspeção
por atributos dos lotes de RIBs devido à sua complexidade e à sua importância na RRU.
O teste de inspeção deve ser o mais simples possível para ser aplicado na linha de
produção; nesse teste a unidade de produto (uma placa amostral) seja classificada como
defeituosa ou não em relação a um dado requisito ou conjunto de requisitos.
Atualmente a inspeção de um lote na linha de produção da Ericsson é feita com a
montagem completa de uma RRU, e em seguida são feitos vários ensaios das principais
funções do dispositivo para verificar se a RIB não apresenta falhas.
Apesar de eficaz, este processo ocasiona minutos de linha parada enquanto se
espera o resultado do teste, e consequentemente, diminui a produtividade na linha.
Umehara e Villas-Bôas desenvolveram o projeto da Giga de Teste que não
possui concorrentes no mercado e também apresentou eficácia nos resultados [6]. Em

12
seu projeto foram estudados e testados alguns circuitos da RIB, mas ainda faltou o
circuito óptico e de Ethernet.

1.3 Objetivo
Projetar uma melhoria na estação de teste (Giga de Teste) sem comprometer o
baixo custo para simular e testar as funções dos circuitos Óptico e Ethernet da RIB.
Automatizar o processo de inspeção na linha de produção da RIB, apresentando
ao usuário o resultado do teste de maneira mais simples.
Obter resultados do teste de inspeção mais rapidamente para diminuir o tempo
de linha parada, aumentar a produtividade e reduzir o custo de fabricação da RIB.

1.4 Restrições
Este trabalho irá se dedicar somente ao estudo dos circuitos Óptico e Ethernet da
RIB, não se aprofundando nos testes de outros blocos da placa tais como os que já
foram apresentados por Umehara e Villas-Bôas [6].
Como já foi esclarecido, este projeto tem como finalidade a redução de custo no
processo de fabricação da RIB, portanto a principal restrição para este trabalho é que o
custo da Giga de Teste não prejudique sua viabilidade para a empresa.
Sob autorização das gerências da empresa, os estudos puderam ser realizados
nas dependências da Ericsson, algumas placas RIB puderam ser utilizadas para os testes
e a Giga de Teste pôde ser retirada da empresa para a apresentação deste trabalho.
Contudo, por motivo de sigilo empresarial, a empresa Ericsson não forneceu as
especificações (“datasheets”) da RIB, normas de processo, os documentos e
equipamentos envolvidos em seu processo de fabricação.

1.5 Organização o Trabalho


O capítulo 2 apresenta o embasamento teórico do funcionamento da RIB e da
Giga de Teste e os principais conceitos utilizados na solução do problema. O capítulo 3
apresenta os materiais e a metodologia utilizada no processo de teste dos circuitos
Óptico e Ethernet da RIB no projeto da Giga de Teste. O capítulo 4 apresenta os
resultados obtidos e faz uma discussão usando-se dos conhecimentos adquiridos. O
último capítulo traz as conclusões gerais sobre o projeto e apresenta as proposições para
novos estudos e futuros desafios.

13
Capítulo 2
Embasamento Teórico
2.1 Conhecimentos básicos sobre a RIB
A RIB tem como principal função realizar a interface de sinais analógicos e
digitais na instalação e manutenção da RRU, por isso trabalha com diferentes tipos de
sinais e níveis de tensão simultaneamente e possui vários conectores, que estão listados
a seguir e são mostrados na Figura 1:
 RJ-45 (8 pinos)
 RET (6 pinos)
 XALM (4 pinos)
 Conector de teste (24 pinos)
 SFP A (20 pinos)
 SFP B (20 pinos)
 Conector RIB (80 pinos)

Figura 1 – Desenho simplificado dos conectores da RIB

14
Para facilitar o seu estudo podemos dividir a RIB em quatro circuitos, de acordo
com os sinais e conectores envolvidos: circuito de sinal digital RS485, circuito de
comunicação no padrão Ethernet, circuito de comunicação óptica e circuito de sinal
analógico RET VCC.
O procedimento de inspeção da RIB na linha de produção deve testar cada um
destes quatro circuitos e o requisito para que a amostra e, assim também, o lote sejam
classificados como não defeituosos é que todos os quatro circuitos não apresentem
falha, ou seja, se um ou mais destes circuitos apresentar mau funcionamento, o lote deve
ser classificado como defeituoso e não pode ser liberado para a próxima fase.
Como já foi mencionado na introdução, este trabalho irá se dedicar somente ao
estudo de como serão testados na Giga de Teste os circuitos Óptico e Ethernet da RIB.
Este processo envolve como componentes principais dois microcontroladores da família
MSP430 (Texas Instruments), um CI que faz a medição indireta da corrente do circuito
mensurando o efeito hall e um módulo conversor de sinal digital RS232 / RS485.

2.2 Conceitos Básicos


2.2.1 MSP-EXP430F5529LP
O MSP-EXP430F5529LP LaunchPad ou simplesmente “F5529 LaunchPad”
ilustrado na Figura 2, é um kit de desenvolvimento para o microcontrolador USB
MSP430F5529 que oferece emulação “on-board” para programação e “debug” e dispõe
de LEDs para simplificar a interface com o usuário.
O microcontrolador 16-bit MSP430F5529 tem 128KB de memória “flash”, 8KB
RAM e velocidade de processamento de 25MHz, USB integrado e a possibilidade de
trabalhar com diversos periféricos, a critério do usuário. Sua tensão de operação é de
1,8V a 3,6V.

15
Figura 2 - MSP-EXP430F5529LP LaunchPad

Seus principais recursos são:


 Cinco “timers”
 Sistema de “clock” até 25MHz
 Possibilidade de trabalhar com até quatro interfaces de comunicação
serial (SPI, UART, I²C).
 Conversor analógico-digital (AD) de 12 bits
 Entradas analógicas e digitais com função de “pull up” e ”pull down”
internos.

2.2.2 Redes
Uma rede, em sua definição mais genérica, é um conjunto de dispositivos
interligados para enviar e receber dados. O uso das redes atualmente se tornou tão
comum que muitas vezes não são nem notadas; a comunicação entre um monitor e o
controle remoto, por exemplo, por mais simples que seja, consiste numa rede. Sem o
uso das redes é impossível para um dispositivo fazer compartilhamento de recursos,
16
enviar e receber informações de outros equipamentos, trabalhar com telecomunicação
ou acessar internet, por exemplo. A Internet é o maior exemplo de rede de
computadores, com milhões de máquinas interconectadas ao redor do mundo, por outro
lado as pequenas redes LAN desempenham um papel também importante no acesso
diário de informações [7].
As tecnologias de rede podem ser divididas em dois grupos básicos:
 Rede local, na qual as tecnologias LAN (Local Area Network) conectam
muitos dispositivos que estão relativamente próximos, geralmente num ambiente
fechado, ou no mesmo prédio.
 Rede de longa distância, na qual as tecnologias WAN (Wide Area
Network) conectam dispositivos que podem estar separados por milhares de
quilômetros.
Em comparação às WANs, as LANs são mais rápidas e confiáveis. A tecnologia,
porém, se desenvolve rapidamente, e as diferenças entre WAN e LAN estão cada vez
menores. Os cabos de fibra ótica permitem uma conexão de alta taxa de transferência
entre dispositivos separados por quilômetros de distância. Esses cabos também
melhoram a velocidade e a confiabilidade das redes WAN.
Com o desenvolvimento das redes cada vez mais foi se tornando necessário que
houvesse padronização dos meios de conexão, dos parâmetros elétricos dos sinais, dos
tipos de conectores e cabeamento, das estruturas de dados a serem enviados, etc. Aos
poucos as grandes organizações foram criando as normas, que depois se ajuntavam e
formavam protocolos.

2.2.3 Ethernet
A Ethernet é uma arquitetura de interconexão baseada na norma IEEE 802.3 que
define padrões de transmissão de dados e interconexões para redes locais (LAN) [2]. A
tecnologia surgiu em 1972 com uma largura de banda de 10Mbps e foi desenvolvido
pela Xerox, DEC (Digital Equipment) e Intel para arquiteturas tipo barramento, na qual
todos os dispositivos da rede estão conectados ao barramento principal, por onde
trafegam todos os pacotes de dados, conforme Figura 3.
Desde a década de 90 a Ethernet vem sendo a tecnologia de LAN mais
amplamente utilizada e tem tomado grande parte do espaço de outros padrões de rede
como Token Ring, FDDI e ARCNET. Inicialmente limitava-se a pequenas redes com

17
algumas centenas de metros e arquitetura de barramento, mas, com os avanços da
tecnologia, atualmente a Ethernet é capaz de oferecer cobertura para dezenas de
quilômetros e velocidades de 10/100/1000 Mbit/s (Fast Ethernet e Gigabit Ethernet),
com possibilidade de chegar até 10Gbit/s (10 Gigabit Ethernet), e utiliza uma topologia
em estrela, na qual cada nó (dispositivo) está conectado ao outro através de
equipamentos ativos de rede, tais como switches e roteadores [1].

Figura 3 - Rede com Ethernet em uma arquitetura de barramento

Esta tecnologia abrange uma série de padrões e, basicamente, consiste de três


elementos:
 LLC (Controle do Link Lógico, do inglês “Logic Link Control”):
conforme IEEE 802.2, inclui informações do protocolo de alto nível que
entregou o pacote de dados a ser transmitido. Possibilita que a máquina
receptora saiba para qual protocolo de alto nível ela deve entregar os
dados de um quadro que ela acabou de receber.
 MAC (Controle de Acesso ao Meio, do inglês “Media Access Control”):
conforme IEEE 802.3, monta o quadro de dados a ser transmitido pela
camada física, incluindo cabeçalhos próprios dessa camada aos dados
recebidos da camada de LLC.
 Física: Transmite os quadros entregues pela camada de MAC usando o
método CSMA/CD CSMA/CD (do inglês “Carrier Sense Multiple
Access with Collision Detection”). Define como os dados são
transmitidos através do cabeamento da rede e também o formato dos
conectores usados na placa de rede.

18
Uma característica importante do Ethernet é o modo de transmissão, que está na
subcamada MAC e pode ser de dois tipos:
 Half-duplex: cada estação transmite ou recebe informações, sem transmissão
simultânea;
 Full-duplex: cada estação transmite e/ou recebe, podendo ocorrer transmissões
simultâneas.

2.2.3.1 Codificação
As redes que funcionam com padrões semelhantes a Ethernet não usam uma
codificação direta, ou seja, com 0V (zero volt) para representar um bit 0 (nível lógico
baixo) e 5V (cinco volts) para representar um bit 1 (nível lógico alto), pois esta
codificação pode gerar ambiguidade: se uma estação enviar uma palavra “00010000”,
outras poderão interpretá-la erroneamente como “10000”, pois não conseguem discernir
entre uma estação inativa e um bit 0, porque ambas estão em 0V.
Esse problema poderia ser resolvido usando-se, por exemplo, +1V para
representar um bit 1 e −1V para representar um bit 0. Mesmo assim, o receptor pode ter
problemas para delinear o início e fim de cada bit.
A solução para estes problemas veio com o uso da Codificação Manchester
mostrada na Figura 4, em que os valores (alto e baixo) para o padrão 802.3
correspondem a +0,85V e −0,85V.

Figura 4 - Comparação entre codificação binária e Codificação Manchester

19
2.2.3.2 Endereçamento
O endereçamento da rede é feito através de uma numeração única de 6 bytes
para cada “host” conhecida como “endereço MAC”. Os primeiros três bytes são o
endereço OUI (“Organizationally Unique Identifier”) que serve para a identificação do
fabricante e os três bytes seguintes são controlados por cada fabricante de placa de rede,
normalmente usados para numeração sequencial.
O endereço MAC é representado em números hexadecimais. Cada algarismo em
hexadecimal equivale a um número de quatro bits. Dessa forma, um byte é representado
por dois algarismos em hexadecimal e, com isso, o endereço MAC é sempre
representado por um conjunto de 12 algarismos em hexadecimal.
O endereço MAC é um controle universal, pois o fabricante que quiser produzir
uma placa de rede deve se cadastrar no IEEE para ganhar o seu número OUI e cada
fabricante é responsável por controlar a numeração MAC das placas de rede que
produz.

2.2.3.3 Quadro Ethernet


O quadro ethernet é dividido em campos. Os principais campos podem ser
descritos como na Figura 5.

Figura 5 - Quadro Ethernet

20
 Preâmbulo: com 7 bytes que informa às estações receptoras que um frame está
começando;
 SFD (“Start Frame Delimeter”) ou SOF (“Start-Of-Frame”): campo de 1 byte
denominado delimitador de início de frame. Este byte termina com 2 bits “1”
(10101011) consecutivos que servem para sincronizar a parte de recepção de
frame de todas as estações da LAN.
 Endereço de Destino: campo de 6 bytes que contém o endereço MAC do
dispositivo de destino;
 Endereço de Origem: campo de 6 bytes que contém o endereço MAC do
dispositivo que enviou o pacote;
 Tamanho: campo de 2 bytes que indica o tamanho (em bytes) do campo de
dados;
 Dados: contém os dados a ser passados para a próxima camada; deve ter
tamanho mínimo de 46 bytes e máximo de 1500 bytes. No caso da IEEE 802.3,
o protocolo deve ser definido dentro do campo de dado. Se o dado no frame for
insuficiente para preencher o mínimo de 64bytes (somados do endereço de
destino até o campo FCS), são inseridos bytes de preenchimento para garantir o
número mínimo de bytes.
 FCS – Frame Check Sequence: Este campo de 4 bytes contém contém o valor de
CRC (Verificação de Redundância Cíclica, do inglês “Cyclic Redundancy
Check”). O CRC é criado pelo dispositivo transmissor e recalculado pelo
dispositivo receptor para verificar a integridade dos.

É importante observar que o endereço de origem (ou fonte) é sempre um


endereço “unicast” (nó único), enquanto o endereço de destino pode ser “unicast”,
“multicast” (a um grupo) ou “broadcast” (a todos).

2.3 Metodologia
Antes de iniciar o procedimento de inspeção da RIB com a Giga de Teste, o
operador liga a fonte alimentação (5V) para energizar os microcontroladores da estação
e encaixa a RIB que será testada.

21
Figura 6 – Diagrama esquemático da Giga de Teste da placa RIB

A Figura 6 apresenta o diagrama de blocos da Giga de Teste. Para dar início ao


teste pressiona-se o botão START. O microcontrolador chaveia o circuito do regulador
de tensão LM317 que energiza a RIB com 5V. Se houver curto-circuito o próprio
LM317, que possui proteção de sobrecorrente, abre o circuito instantaneamente.
Inicialmente, há o teste de corrente e dos circuitos DCDC e RS-485.
Logo em seguida inicia-se o teste do circuito Óptico da RIB. O MSP_B mede os
níveis de tensão aplicados pela RIB e pela Giga de Teste sobre os conectores A e B do
circuito óptico através dos pinos de entrada analógica P6.6 e P6.5, respectivamente.
Cada pino destes está ligado a um multiplexador, que por sua vez comuta o sinal de
treze pinos que vem de um dos conectores ópticos, ou seja, P6.6 e P6.5 verificam um
total de 26 pinos da RIB. O nível de tensão medido em cada pino é comparado ao
padrão de uma placa não defeituosa (placa “Master”). Caso haja alguma divergência nos
valores, o teste é encerrado e o LED “FAIL” é aceso. Se o teste não apresentar falhas,
conclui-se que o circuito Óptico não possui defeitos e passa-se para a próxima etapa de
teste.

22
O último teste realizado é o do padrão Ethernet. O MSP_A envia uma letra para
a placa RIB, passando pelo conector no padrão Ethernet, a Giga de teste provoca um
“backloop” e a RIB devolve instantaneamente o dado recebido para o microcontrolador.
Quando o MSP recebe o dado ele faz a verificação. Caso haja alguma divergência com
o dado recebido, ou se o tempo de espera tiver estourado, o teste é encerrado e o LED
“FAIL” é aceso. Se o dado foi enviado e voltou corretamente, termina-se o teste e
conclui-se que o circuito Ethernet não possui defeitos.
Ao final do teste, depois de todas as etapas, se em momento algum a amostra
não apresentar defeito, o LED “PASS” é aceso e o usuário pode remover a RIB da Giga
de Teste.
O botão RESET permite que o usuário reinicie um teste a qualquer instante.

23
Capítulo 3
Desenvolvimento
3.1 Materiais
O custo total deste projeto foi de R$440,00; no qual se incluem o custo dos
módulos e fretes dos componentes comprados no exterior e também o custo de
R$230,00 dos blocos para teste dos circuitos DCDC e RS485 conforme o projeto de
Umehara e Villas-Bôas [6].

3.1.1 Circuito Principal


O circuito principal já estava montado na Giga de Teste, no entanto é
conveniente citar mais uma vez os seus componentes principais e suas atualizações:

Peça Valor Dispositivo Ecapsulamento Descrição


C2 100nF C-EUC0402K C0402K CAPACITOR, European symbol
C3 100nF C-EUC0402K C0402K CAPACITOR, European symbol
C4 100nF C-EUC0402K C0402K CAPACITOR, European symbol
C5 100nF C-EUC0402K C0402K CAPACITOR, European symbol
DCDC 10PIN -2510
PAK100/2500- 3M (TM) Pak 100 4-Wall Header
10
DRIVER 10 PIN -2510 PAK100/2500- 3M (TM) Pak 100 4-Wall Header
S 10
IC2 4052N 4052N DIL16 Dual 4-channel ANALOG
MULTIPLEXER
IC3 4052N 4052N DIL16 Dual 4-channel ANALOG
MULTIPLEXER
JP1 ETH_LOOP_ JP1E JP1 JUMPER
0
JP2 ETH_LOOP_ JP1E JP1 JUMPER
1
JP3 UART_MSP JP2Q JP2Q JUMPER
430
JP4 CTRL_LED1 JP1E JP1 JUMPER
JP5 CTRL_LED2 JP1E JP1 JUMPER
JP8 SSW-102-02- SSW-102-02-S-D THROUGH-HOLE .025" SQ POST
S-D SOCKET
JP9 SSW-102-02- SSW-102-02-S-D THROUGH-HOLE .025" SQ POST
S-D SOCKET
LED1 UART_CTRL LEDCHIPLED_ CHIPLED_0805 LED
1 0805
LED2 UART_CTRL LEDCHIPLED_ CHIPLED_0805 LED
2 0805

24
OPTCO 20 PIN -2520 PAK100/2500- 3M (TM) Pak 100 4-Wall Header
_A 20
OPTCO 20 PIN -2520 PAK100/2500- 3M (TM) Pak 100 4-Wall Header
_B 20
PAINEL -2510 -2510 PAK100/2500- 3M (TM) Pak 100 4-Wall Header
10
R1 33 R-US_R0402 R0402 RESISTOR, American symbol
R4 33 R-US_R0402 R0402 RESISTOR, American symbol
R6 2k2 R-US_R0402 R0402 RESISTOR, American symbol
R7 2k2 R-US_R0402 R0402 RESISTOR, American symbol
R8 33 R-US_R0402 R0402 RESISTOR, American symbol
R11 1k R-US_R0402 R0402 RESISTOR, American symbol
R12 33 R-US_R0402 R0402 RESISTOR, American symbol
R13 33 R-US_R0402 R0402 RESISTOR, American symbol
R14 33 R-US_R0402 R0402 RESISTOR, American symbol
R15 33 R-US_R0402 R0402 RESISTOR, American symbol
R16 33 R-US_R0402 R0402 RESISTOR, American symbol
R17 33 R-US_R0402 R0402 RESISTOR, American symbol
R18 33 R-US_R0402 R0402 RESISTOR, American symbol
R19 33 R-US_R0402 R0402 RESISTOR, American symbol
R20 33 R-US_R0402 R0402 RESISTOR, American symbol
R21 33 R-US_R0402 R0402 RESISTOR, American symbol
R22 33 R-US_R0402 R0402 RESISTOR, American symbol
R37 1K R-US_R0402 R0402 RESISTOR, American symbol
R39 2K2 R-US_R0402 R0402 RESISTOR, American symbol
R40 1K R-US_R0402 R0402 RESISTOR, American symbol
R41 2K2 R-US_R0402 R0402 RESISTOR, American symbol
R53 1K R-US_R0402 R0402 RESISTOR, American symbol
R54 2K2 R-US_R0402 R0402 RESISTOR, American symbol
R55 1K R-US_R0402 R0402 RESISTOR, American symbol
R56 2K2 R-US_R0402 R0402 RESISTOR, American symbol
R57 47K R-US_R0402 R0402 RESISTOR, American symbol
R58 470 R-US_R0402 R0402 RESISTOR, American symbol
R59 470 R-US_R0402 R0402 RESISTOR, American symbol
R60 470 R-US_R0402 R0402 RESISTOR, American symbol
R61 470 R-US_R0402 R0402 RESISTOR, American symbol
U2 MSP430 MSP- MSP-EXP430F5529LP
EXP430F5529
LP
U4 MSP430 MSP- MSP-EXP430F5529LP
EXP430F5529
LP
X200 QSE-040-02 QSE-040-02 QSE-040-02 0,80mm HI-SPEED SOCKET QSE
Serie

25
3.1.2 Circuito Óptico
Part Value Device Package Description
IC1 MPC506AP MPC506AP DIL28 CMOS Analog Multiplexers
IC4 MPC506AP MPC506AP DIL28 CMOS Analog Multiplexers
OPTCO_A 20 PIN -2520 PAK100/2500-20 3M (TM) Pak 100 4-Wall Header
OPTCO_B 20 PIN -2520 PAK100/2500-20 3M (TM) Pak 100 4-Wall Header
OPTICO_A PIN 14 -2514 PAK100/2500-14 3M (TM) Pak 100 4-Wall Header
OPTICO_B PIN 14 -2514 PAK100/2500-14 3M (TM) Pak 100 4-Wall Header
R1 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R2 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R3 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R4 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R5 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R6 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R7 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R8 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R9 1K R-US_R0402 R0402 RESISTOR, American symbol
R10 1K R-US_R0402 R0402 RESISTOR, American symbol
R29 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R30 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R31 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R32 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R33 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R34 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R35 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R36 4,7K R-US_R0402 R0402 RESISTOR, American symbol
R38 1K R-US_R0402 R0402 RESISTOR, American symbol
R42 1K R-US_R0402 R0402 RESISTOR, American symbol

26
3.1.3 Circuito Ethernet
Peça Valor Dispositivo Ecapsulam Descrição
ento
C1 100nF C-EUC0402K C0402K CAPACITOR, European symbol
C2 100nF C-EUC0402K C0402K CAPACITOR, European symbol
C3 1uF C-EUC0603K C0603K CAPACITOR, European symbol
C4 1uF C-EUC0603K C0603K CAPACITOR, European symbol
C5 100nF C-EUC0402K C0402K CAPACITOR, European symbol
DRIVERS 10 PIN -2510 PAK100/25 3M (TM) Pak 100 4-Wall
00-10 Header
IC5 MAX3232C MAX3232CSE SO16 True RS-232 Transceivers 3.0V
SE to 5.5V, Low-Power
MODULE DB9 F09HP F09HP SUB-D
RS485
OPT1 FODM121 SFH6186-2 SMD4 Optocoupler, Phototransistor
Output, Low Input Current
OPT2 FODM121 SFH6186-2 SMD4 Optocoupler, Phototransistor
Output, Low Input Current
R1 220 R-US_R0402 R0402 RESISTOR, American symbol
R2 220 R-US_R0402 R0402 RESISTOR, American symbol
RET_CABLE DB9 F09HP F09HP SUB-D
RS232 CON1 53047-03 53047-03 CONNECTOR
RS232_RX/TX JP2Q JP2Q JUMPER
RS232/ETHE MODULE_RS232/ETHERNET
RNET MODULE_ETHERNET
UART_ETHERNET JP2Q JP2Q JUMPER
XALARM_CA F15 F15HDH HDF15H SUB-D
BLE

3.2 Projeto Detalhado


Para que se elaborem os procedimentos de inspeção de um produto, devem-se
conhecer antes de qualquer coisa os padrões de qualidade do produto a ser testado e os
principais defeitos que podem resultar num produto não conforme. Para isso estudou-se
os parâmetros de uma placa não defeituosa – comumente chamada na empresa de placa
“Master” – para que sirvam de referência.
Outro ponto importante a se observar quando se projeta uma estação de teste é
que a Giga de Teste deve ser capaz de “perceber” cada um dos defeitos, ainda que não
seja capaz de isolá-los, mas precisa garantir que a amostra, quando aprovada no teste, de
fato não possui nenhum defeito.
A seguir, na Tabela 1, o estudo de Umehara e Villas-Bôas sobre o assunto [6]:

27
Tabela 1 - Estudo dos principais defeitos possíveis na RIB
Causa Efeito Sintoma Teste
O componente com orien- O bloco do circuito Medição dos sinais de
Componentes tação / polaridade invertida onde o componente entrada e saída do
com orientação / irá se danificar e há pequena estiver não funcio- componente, em seguida
polaridade possibilidade de danificar nará corretamente. O verificação visual da
invertida outros componentes ligados sinal “morre” nele. serigrafia do componente.
diretamente a ele.
Perda de sinal. Sinais ligados aos Apenas realizar inspeção
terminais do compo- visual.
Componentes nente faltando apre-
Faltando sentarão variação nos
níveis de tensão ou
serão nulos.
Em terminais de sinais O bloco do circuito Identificar o circuito com
digitais, poderá danificar o onde o componente falha com um ohmímetro e
próprio componente com a estiver não funcio- realizar a inspeção visual
Ponte de Solda ponte de solda e em caso de nará corretamente e com um microscópio.
(“Solde bridge”) ponte de solda entre VCC e pode haver curto-
GND a placa entrará em circuito.
curto-circuito, danificando o
circuito da fonte.
O circuito pode apresentar Aparecimento de Identificar a região do
“mau-contato” e intermi- ruídos no circuito circuito que apresenta falha
Outros problemas tência. envolvido. através do multímetro e em
relacionados à seguida com auxilio de um
solda (Solda fria, microscópico realizar uma
insuficiência, etc) inspeção visual até
identificar o problema na
solda.
O circuito relacionado ao Sinais de entrada no Comparar os sinais de
componente defeituoso componente estarão entrada e saída do
Falha funcional apresentará mau funcio- funcionando perfei- componente e comparar os
do componente namento ou não funcionará. tamente, porém não valores com valores de
haverá sinal de saída. uma placa de referência
(placa Master).

Os autores mencionados estudaram as causas e efeitos dos diversos defeitos em


lotes não liberados na empresa Ericsson para poder listar todos as falhas possíveis na
RIB, seus sintomas, ou seja, os principais indícios de que o defeito está presente e quais
os tipos de testes que a Giga de Teste deveria ser capaz de realizar para garantir a
qualidade da RIB.
Excetuando-se a verificação de componentes com o microscópio e a inspeção
visual, os testes que a Giga de Teste deve realizar para os circuitos estudados são
simples: medição de tensão, comparando com os níveis de uma placa Master e o
envio/recebimento de um dado para verificar a integridade da comunicação Ethernet.
Os dois microcontroladores estarão conectados aos quatro circuitos de teste da
Giga, como mostra a Figura 7. O circuito RS 485 é representado junto ao de padrão

28
Ethernet por utilizar o mesmo multiplexador. No entanto, como já foi mencionado, os
objetos de estudo deste trabalho serão somente os testes dos circuitos Óptico e Ethernet.

MSP430_A MSP430_B
UART UART

UART

DCDC RS 485/Ethernet Óptico Painel LEDs

Figura 7 – Bloco Principal

Ao ligar a fonte de alimentação, a tensão é regulada em 5V pelo LM 317 para


energizar a Giga de Teste (seus microcontroladores). E ao ser pressionado o botão
START do microcontrolador, ele envia um sinal para um segundo LM317, que fecha o
circuito e alimenta a RIB que será testada. Os LM317 possuem proteção contra
sobrecorrente que abrem o circuito se a corrente extrapolar um limite, assegurando que
a RIB conectada à Giga de Teste não receba a corrente de curto.
Inicialmente, a Giga de Teste realiza os testes nos circuitos DCDC e RS-485.
Segundo Umehara e Villas-Bôas (2014):

“O MSP realiza uma medição da corrente que sai do LM317 e vai para a RIB
a fim de comparar com o valor da placa Master e detectar já nesse processo
inicial se há algum mau funcionamento na amostra e se esse for o caso,
encerra o teste e acende o LED ‘FAIL’”.

Em seguida, a Giga de Teste realiza o teste nos conectores ópticos, conforme


Figura 8. Foi utilizado um conector adaptador para que a Giga de Teste pudesse se
conectar aos conectores ópticos. A própria RIB internamente já energiza com 3V alguns
dos pinos dos conectores e possui resistores de “pull up” e “pull down”, a Giga de Teste
apenas completou os circuito de cada pino criando outro “pull down” ou “pull up”.
Cada um desses pinos está conectado internamente na RIB com um conector principal
(80 pinos), que por sua vez está ligado à Giga de Teste por meio de um multiplexador.
29
3V da RIB ou da
Giga de Teste

Divisor de
Tensão
Conector Conector

Sinal analógico
que vem dos
conectores

MSP430 Multiplex

ADDRESS

Figura 8 - Bloco Óptico

Na Giga de Teste são utilizados dois multiplexadores MPC 506, cada um comuta
a entrada de treze pinos do circuito óptico nas portas analógicas P6.6 e P6.5 do MSP_B.
Durante o teste, o “enable” dos multiplexadores fica em nível alto e o MSP envia para
eles o endereço (“4bit address”) de cada pino em que se fará a leitura.
O microcontrolador faz a litura e compara os valores obtidos com os padrões de
uma placa Master e se não houver grandes variações passa-se para a próxima etapa.
Finalmente, para o teste do circuito Ethernet, mostrado na Figura 9, foi utilizado
um conversor Ethernet/UART para que o MSP pudesse enviar uma palavra através do
conector da RIB em sobrecarregar o código da Giga de Teste.
A Giga de Teste quando conectada à RIB, estabelece um “backloop” na
extremidade interna do circuito Ethernet, fazendo com que ao enviar um dado à RIB, o
MSP receba-o de volta. Neste momento final do teste da RIB o microcontrolador
enviará uma letra através circuito Ethernet e vai esperar seu retorno. Se a RIB devolver
o dado sem danos e dentro do tempo padrão da placa Master, finaliza-se o ciclo de
testes da RIB e os LEDs indicativos irão informar que a placa não possui defeitos.

30
MSP430_A

UART

Multiplex
UART_A 4052 UART_B

Módulo
Placa RIB
Ethernet / RS232

Módulo RS
Placa RIB
232/485

MAX 232 Backloop

MSP430_B
UART

Figura 9 - Bloco RS485 / Ethernet

31
3.3 Programação
O programa inicia em um “loop” de Decisão, no qual aguarda o
BOTAO_START ficar em nível alto, que acontece quando o operador deseja iniciar o
teste da RIB e aciona o BOTAO_START;
Após acionado o BOTAO_START, é feito a leitura da corrente consumida pela
RIB através de uma porta analógica (I_SUPERV) do MSP_A, e se a corrente for menor
que 90d ou maior que 120d o teste é finalizado cortando a alimentação da RIB e
acionando o LED_FAIL(vermelho), e caso a corrente estiver entre 90d a 120d o teste
continua para próxima etapa;
Na etapa seguinte é testada a comunicação serial RS-485, na qual o MSP_A
configura o multiplexador para direcionar a saída serial do MSP_A para o módulo
conversor RS-232/RS485, através do “set”:A=0 e B=0; em seguida o MSP_A envia o
caracter “a” e aguarda uma resposta de um caracter “b” do MSP_B, nessa etapa o
MSP_B fica aguardando um caracter “a” via serial (interrupção) e em seguida envia um
caracter “b”. Ao receber o caracter “b”, o MSP_A deixa a porta de saída digital NEXT
em nível alto; caso não recebe o caracter “b”, o teste é finalizado indicando falha;
A seguir o MSP_B começa a atuar iniciando o teste de ETHERNET. O MSP_B
é iniciado em um “loop” de Decisão no qual aguarda a porta de entrada digital NEXT
ler um nível alto; logo após o MSP_B configura o multiplexador para o direcionamento
de sua saída UART para o módulo ETHERNET/UART, através do “set”: A=0, B=1.
Em seguida, o MSP_B envia o caracter “c” e aguarda o retorno do mesmo caracter
durante um tempo; caso exceda o tempo, o teste é finalizado indicando Falha, caso
contrário o teste passa para próxima etapa;
Nessa etapa o MSP_B testa os conectores do OPTICO_A e B, através de dois
multiplexadores de 1x16 e com duas portas analógicas; o MSP_B inicia o teste com um
“loop” de 13 repetições, na qual cada repetição é feita a comutação da saída do
multiplexador, uma leitura analógica e a comparação do valor lido com o limite de 1,5V
até 2,0V; caso todas 13 leituras estejam atendam o limite, essa etapa se repete para o
OPTICO_B e caso esteja também entre os limites, o teste é finalizado e aciona-se o
LED_PASS (verde) indicando aprovada. Se durante as 13 leituras de cada OPTICO o
valor esteja fora do limite de 1,5V até 2,0V, o teste é finalizado acionando o LED_FAIL
(vermelho) indicando NÃO aprovada.

32
3.4 Fluxograma

MSP430_A
INÍCIO

MSP430_B

BOTÃO_START =
1

DELAY_MS = 1000

LER I_SUPERV

90 <
I_SUPERV <
120

CALL FAIL A = 0; B = 0

UART_A_TX = “a”

33
CALL FAIL INTERRUPÇÃO UART_B

C=1; C<500; C++

RIB_ON/OFF = 0

UART_A_RX UART_B_RX
== “b” == “a”
LED_FAIL = 1

FIM
NEXT = 1 UART_B_TX = “b”

FIM FIM

34
INÍCIO

NEXT == 0

A = 0; B = 1

CALL FAIL UART_C_TX = “c”

C=1; C<500; C++

RIB_ON/OFF = 0

UART_C_RX
== “c”
LED_FAIL = 1

FIM

35
MULT_A=0;
MULT_A<12; MULT_A++

1,5V <
ANALOG_A
< 2V

CALL FAIL

MULT_B=0;
MULT_B<12; MULT_B++

1,5V <
ANALOG_B
< 2V

CALL FAIL

RIB_ON/OFF = 0

LED_PASS = 1

FIM

36
Capítulo 4
Resultados

4.1 Teste Conector Ethernet


4.1.1 Teste Funcional
O teste foi realizado utilizando a PCB mostrada nas Figuras 10 e 11 e
conectando a saída UART do MSP ao conector Ethernet enquanto no conector da RIB
foi conectado um loop, com este circuito loop montado enviamos um dado e o
recebemos no MSP via UART também. O teste baseia-se em comparar o dado enviado
ao dado recebido (deve ser o mesmo). Foram disponibilizadas outras 10 RIBs para
fazermos o teste e todas foram aprovadas.

4.1.2 Teste de Confiabilidade


Como também não é possível realizar este teste em bancada foi realizado o
seguinte teste: Não conectamos totalmente o cabo no conector Ethernet, simulando algum
problema de solda fria ou até mesmo falta de solda ou ainda a falta de um componente causando
problema na comunicação ou no recebimento do dado enviado, e a estação reprovou as
placas. Para confirmar os resultados fornecidos pela estação mostrada na Figura 12, as
placas testadas foram levadas para serem testadas em nível de rádio e todas foram
aprovadas.

37
4.2 Teste Conector Óptico
4.2.1 Teste Funcional
Este teste, devido a sua complexidade, foi projetado para trabalhar simplesmente
comparando tensões e com isso testando a continuidade do caminho percorrido pelo
dado enviado, como a nossa preocupação foi apenas verificar se havia empecilhos nesse
caminho, como por exemplo, a falta de solda em algum componente, ou até mesmo a
falta dele. Foram disponibilizadas outras 10 RIBs para realizarmos esse teste, e todas
foram aprovadas pela estação, conforme Tabela 3.

4.2.2 Teste de Confiabilidade


Devido à incapacidade de realizar este teste em bancada, em todas as placas
retiramos um resistor, deixando o caminho do dado impedido, assim simulando a falta
desse componente, e a estação respondeu bem a esse teste reprovando essas unidades.
Ainda assim montamos o resistor retirado e enviamos as unidades para o teste de
rádio, foram reprovadas três unidades do radio, que ao serem analisadas pelos técnicos
foi constatado falhas de processo produtivo em outros componentes do rádio, que não a
RIB, como demonstra a tabela abaixo.

Tabela 2 - Resultados dos testes no circuito Óptico

Resultado Teste Resultado do Resultado Teste


Observação Técnica
Ethernet teste (RIB) (RRU)
Pass Pass Pass
Pass Pass Pass
Pass Pass Pass
Pass Pass Pass
Pass Pass Pass
Componente deslocado na PAU (Power
Pass Pass Failed Amplifier Unit)
Pass Pass Pass
Componente faltando na TRX
Pass Pass Failed (Transciever)
Pass Pass Pass
Reconectaram os cabos e a unidade foi
Pass Pass Failed aprovada

38
4.3 Placas Confeccionadas
As Figuras 10, e 11 mostram a placa de circuito impresso do Bloco Ethernet.

A Giga de Teste já finalizada é mostrada na Figura 12.

Figura 10 - PCB Circuito RS485/Ethernet (TOP)

Figura 11 - PCB Circuito RS485/Ethernet (BOT)

39
Figura 12 – Giga de Testes

4.4 Redução de Custos


Tendo como exemplo um lote de 100 peças, conseguimos uma redução de tempo
de linha, de aproximadamente 34%, o que representaria um aumento de 55 peças com o
mesmo tempo de produção, como demonstrado na figura 13.
Segundo informações da empresa a hora da linha custa R$1100,00; fabricando
250 peças (quantidade média produzida atualmente por turno), obtém-se um ganho de
aproximadamente 140min, conforme a Figura 14, ou seja, mais de R$2560,00.

40
Figura 13 - Redução do tempo de produção por lote

Figura 14 - Ganho em tempo

41
Capítulo 5
Conclusões
Com este projeto os autores puderam estudar o funcionamento da RIB e
trabalhar no projeto da estação de teste (Giga de Teste), que chegou a ser testada na
linha de produção da empresa Ericsson. Os resultados mostraram que dispositivo
fabricado é capaz de simular e testar corretamente as funções dos circuitos Óptico e
Ethernet da RIB.

A Giga de Teste automatizou o processo de inspeção na linha de produção e


melhorou a metodologia do teste, possibilitando que o usuário obtenha resultados de
maneira mais simples.

O tempo do teste que antes durava cerca de 50 minutos foi reduzido para
aproximadamente 5 minutos, e pode diminuir mais com treinamento dos operadores.
Isso resultou em menos tempo de linha parada, maior produtividade e redução no custo
de fabricação da RIB.

Em suma, todos os objetivos pré-estabelecidos foram alcançados com êxito e o


dispositivo fabricado mostrou-se como uma inovação de baixo custo.

Este projeto conseguiu também ampliar a visão dos envolvidos sobre o processo
de inspeção da RIB, deixando oportunidades de melhoria para implementação futura
das quais se destaca a criação de uma interface no computador ou tela de LCD para
melhorar a apresentação dos resultados.

42
Referências Bibliográficas

[1] - AXIS COMMUNICATIONS. Rede local e Ethernet. Disponível em:


http://www.axis.com/pt/products/video/about_networkvideo/ip_networks.htm Acesso
em: 10 nov. 2014

[2] - CIANET. Tecnologia Ethernet. Disponível em:


http://www.cianet.ind.br/pt/produtos/tecnologias/tecnologia-ethernet/ Acesso em: 10
nov. 2014

[3] - CISCO. Cisco Visual Networking Index: Global Mobile Data Traffic Forecast
Update, 2013–2018 Disponível em:
http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-
index-vni/white_paper_c11-520862.html Acesso em: 27 set. 2014.

[4] - CNET. Ericsson predicts tenfold increase in mobile data traffic in five years.
Disponível em: http://www.cnet.com/news/ericsson-predicts-tenfold-increase-in-
mobile-data-traffic-in-five-years/ Acesso em: 28 set. 2014.

[5] - E-THESIS. Small cells: você ainda vai ter a sua... Disponível em:
http://www.e-thesis.inf.br/index.php?option=com_content&task=view&id=7912&Itemi
d=52 Acesso em: 4 out. 2014.

[6] - F. UMEHARA , M. P. VILLAS-BÔAS. Giga de testes para RIB: Teste dos


circuitos DCDC e RS485. 2014. Relatório do Trabalho de Conclusão de Curso para
obtenção do Título de Bacharel em Engenharia Elétrica/Eletrônica – UNIVAP –
Universidade do Vale do Paraíba, São José dos Campos.

[7] - PIDGEON, NICK. How Stuff Works. Como funciona a Ethernet. Disponível em:
http://tecnologia.hsw.uol.com.br/ethernet1.htm Acesso em: 10 nov. 2014

[8] - SINDITELEBRASIL, SINDICATO NACIONAL DAS EMPRESAS DE


TELEFONIA E DE SERVIÇO MÓVEL CELULAR E PESSOAL. Copa 2014: mais de
1 milhão de comunicação de dados no jogo do Brasil x Croácia. Disponível em:
http://www.sinditelebrasil.org.br/sala-de-imprensa/na-midia/2210-copa-2014-mais-de-
1-milhao-de-comunicacao-de-dados-no-jogo-do-brasil-x-croacia Acesso em: 5 out.
2014.

43
Anexo 1 – Esquema Elétrico

44
45
46
47
48
49
Anexo 2 – Código Main

MSP_A
#include <msp430f5529.h>

volatile unsigned int results[10]; // Needs to be global in this


example
// Otherwise, the compiler
removes it
// because it is not used for
anything.
unsigned int c;
int Analog;
int RS485_check = 0;
int Ethernet_check = 0;

void Pass(void)
{
unsigned int a;

P2OUT |= BIT7; // DESLIGA VCC_RIB


P1OUT |= BIT6; // SET UART MSPA=MSPB
P6OUT &= ~BIT6; // SET UART MSPA=MSPB
for(a=0; a<10000; a++); // delay

while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?


UCA1TXBUF = 'p'; // TX -> RXed character
}

void Fail(void)
{
unsigned int b;

P2OUT |= BIT7; //DESLIGA VCC_RIB


P1OUT |= BIT6; // SET UART MSPA=MSPB
P6OUT &= ~BIT6; // SET UART MSPA=MSPB
for(b=0; b<10000; b++); // delay

while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?


UCA1TXBUF = 'f'; // TX -> RXed character
}

int main(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop watchdogtimer

P2DIR |= BIT4; // MSP_A FINISHED, MSP_B START


P2OUT &= ~BIT4;

//Configuração portas
P2DIR |= BIT7; // RIB_ON/OFF
50
P2OUT |= BIT7; // DESLIGA

P3DIR &= ~BIT1; // START_BUTTON


P3REN |= BIT1; // ATIVA PULL UP/DOWN
P3OUT |= BIT1; // SET PULLUP

P6DIR &= ~BIT5; // I_SUPERV (ANALOGICO)

P1DIR |= BIT6; // UART SELECT = A


P6DIR |= BIT6; // UART SELECT = B

//Configuração UART
P3SEL = BIT3+BIT4; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSWRST; // **Put state machine in reset**
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 6; // 1MHz 9600 (see User's Guide)
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16; // Modln UCBRSx=0, UCBRFx=0,
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state
machine**
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt

__bis_SR_register(GIE); // interrupts enabled

//Configuração ADC
P6SEL = 0x0F; // Enable A/D channel inputs
ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_2; // Turn on ADC12, set sampling
time
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_1; // Use sampling timer, single
sequence
ADC12MCTL0 = ADC12INCH_0; // ref+=AVcc, channel = A0
ADC12MCTL1 = ADC12INCH_1; // ref+=AVcc, channel = A1
ADC12MCTL2 = ADC12INCH_2; // ref+=AVcc, channel = A2
ADC12MCTL3 = ADC12INCH_3+ADC12EOS; // ref+=AVcc, channel = A3, end
seq.
ADC12MCTL5 = ADC12INCH_5; // ref+=AVcc,
channel = A5

ADC12IE = 0x08; // Enable ADC12IFG.3


ADC12CTL0 |= ADC12ENC; // Enable conversions

while(1)
{
nok:
while((P3IN & BIT1)==0);// Aguarda o operador acionar o botão START
for(c=0; c<15000; c++); // Delay
P2OUT &= ~BIT7; // Acionada a alimentação da RIB
for (c=1; c<4000; c++); // Delay para a RIB estabilizar

// Leitura da corrente
ADC12CTL0 |= ADC12SC; // Start convn - software trigger

Analog = ADC12MEM5; // Leitura analogica do I_Superv


if ((90 < Analog) && (Analog < 150)) // Limites de corrente de
uma placa ok
goto ok;

else
51
{
Fail();
goto nok; // senão termina o teste
}
ok:
for(c=1; c<10000; c++); // delay

//Inicio do teste RS485


P1OUT &= ~BIT6; // SET UART RS485
P6OUT &= ~BIT6; // MSP_A = UART_A / MSP_B = UART_D

for(c=1; c<10000; c++); // delay

while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?


UCA1TXBUF = 'a'; // TX -> RXed character
for(c=1; c<20000; c++)
{
if(RS485_check == 1)
{
RS485_check = 0;
goto ok1; //RS485 ok!
}
}
Fail();
goto nok;
ok1:
// TESTE ETHERNET
for(c=1; c<10000; c++); // delay

P1OUT &= ~BIT6; // SET UART TO ETHERNET


P6OUT |= BIT6; // SET UART TO ETHERNET

for(c=1; c<10000; c++); // delay

while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?


UCA1TXBUF = 'e'; // TX -> RXed character
for(c=1; c<20000; c++)
{
if(Ethernet_check == 1)
{
Ethernet_check = 0;
goto ok2; // Ethernet ok!
}
}
Fail();
goto nok;
ok2:
for(c=1; c<10000; c++); // delay

P2OUT |= BIT4; // TEST MSP_A FINISHED, START MSP_B


P1OUT |= BIT6; // SET UART MSPA=MSPB
P6OUT &= ~BIT6; // SET UART MSPA=MSPB
for(c=1; c<30000; c++);
P2OUT &= ~BIT4;

}
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)


52
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(ADC12_VECTOR))) ADC12ISR (void)
#else
#error Compiler not supported!
#endif
{
switch(__even_in_range(ADC12IV,34))
{
case 0: break; // Vector 0: No interrupt
case 2: break; // Vector 2: ADC overflow
case 4: break; // Vector 4: ADC timing
overflow
case 6: break; // Vector 6: ADC12IFG0
case 8: break; // Vector 8: ADC12IFG1
case 10: break; // Vector 10: ADC12IFG2
case 12: // Vector 12: ADC12IFG3
results[0] = ADC12MEM0; // Move results, IFG is cleared
results[1] = ADC12MEM1; // Move results, IFG is cleared
results[2] = ADC12MEM2; // Move results, IFG is cleared
results[3] = ADC12MEM3; // Move results, IFG is cleared
results[5] = ADC12MEM5;
__bic_SR_register_on_exit(LPM4_bits); // Exit active CPU, SET
BREAKPOINT HERE
case 14: break; // Vector 14: ADC12IFG4
case 16: break; // Vector 16: ADC12IFG5
case 18: break; // Vector 18: ADC12IFG6
case 20: break; // Vector 20: ADC12IFG7
case 22: break; // Vector 22: ADC12IFG8
case 24: break; // Vector 24: ADC12IFG9
case 26: break; // Vector 26: ADC12IFG10
case 28: break; // Vector 28: ADC12IFG11
case 30: break; // Vector 30: ADC12IFG12
case 32: break; // Vector 32: ADC12IFG13
case 34: break; // Vector 34: ADC12IFG14
default: break;
}
}

// Echo back RXed character, confirm TX buffer is ready first


#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_A0_VECTOR))) USCI_A0_ISR (void)
#else
#error Compiler not supported!
#endif
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break; // Vector 0 - no interrupt
case 2: // Vector 2 - RXIFG
if(UCA1RXBUF == 'b') // RETORNO RS485
{
RS485_check = 1;
}
if(UCA1RXBUF == 'e') // TESTE ETHERNET
53
{
Ethernet_check = 1;
}
if(UCA1RXBUF == 'd') // DESLIGA VCC_RIB
{
P2OUT |= BIT7;
}
break;
case 4:break; // Vector 4 - TXIFG
default: break;
}
}

MSP_B

#include <msp430f5529.h>

volatile unsigned int results[10]; // Needs to be global in this


example
// Otherwise, the compiler
removes it
// because it is not used for
anything.
unsigned int c;
unsigned Analog_opt_A;
unsigned Analog_opt_B;

void Pass(void)
{
unsigned int a;

P1OUT |= BIT4; // on
for(a=10000; a>0; a--); // delay

while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?


UCA1TXBUF = 'd'; // TX -> RXed character
}

54
void Fail(void)
{
unsigned int a;

P1OUT |= BIT5; // on
for(a=10000; a>0; a--); // delay

while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?


UCA1TXBUF = 'd'; // TX -> RXed character
}

int main(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer

P2DIR &= ~BIT4; // START TEST MSP_B


P2REN |= BIT4;
P2OUT &= ~BIT4; // PULDOWN SET

//Configuração portas
P1DIR |= BIT4; // LED_PASS
P1OUT &= ~BIT4; // APAGA

P1DIR |= BIT5; // LED_FAIL


P1OUT &= ~BIT5; // APAGA

// OPTICO CONTROL
P4DIR |= BIT1; // CTRL A0
P4DIR |= BIT2; // CTRL A1
P3DIR |= BIT2; // CTRL A2
P2DIR |= BIT7; // CTRL A3

P8DIR |= BIT1; // CTRL B0


P3DIR |= BIT3; // CTRL B1
P2DIR |= BIT6; // CTRL B2
P3DIR |= BIT1; // CTRL B3

//Configuração UART
P3SEL = BIT3+BIT4; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSWRST; // **Put state machine in
reset**
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 6; // 1MHz 9600 (see User's Guide)
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16; // Modln UCBRSx=0, UCBRFx=0,
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt

__bis_SR_register(GIE); // interrupts enabled

//Configuração ADC
P6SEL = 0x0F; // Enable A/D channel inputs
ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_2;
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_1;
ADC12MCTL5 = ADC12INCH_5; // ref+=AVcc, channel = A5
ADC12MCTL6 = ADC12INCH_6; // ref+=AVcc, channel = A6

ADC12IE = 0x08; // Enable ADC12IFG.3


ADC12CTL0 |= ADC12ENC; // Enable conversions
55
while(1)
{
while((P2IN & BIT4)==0); // inicia TESTE EM MSP_B
for(c=15000; c>1; c--); // Delay

//************ Inicio teste optico_A *****************************


//start Optico_A test => 0
P4OUT &= ~BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>0; c--); // Delay

//start Optico_A test => 1


P4OUT |= BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V


=> 3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 2


P4OUT &= ~BIT1; // CTRL A0
P4OUT |= BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

56
if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V
=> 3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 3


P4OUT |= BIT1; // CTRL A0
P4OUT |= BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V


=> 3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 4


P4OUT &= ~BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT |= BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 5


P4OUT |= BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT |= BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay
57
if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>
3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 6


P4OUT &= ~BIT1; // CTRL A0
P4OUT |= BIT2; // CTRL A1
P3OUT |= BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software
trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 7


P4OUT |= BIT1; // CTRL A0
P4OUT |= BIT2; // CTRL A1
P3OUT |= BIT2; // CTRL A2
P2OUT &= ~BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software
trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 8


P4OUT &= ~BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT |= BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
58
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 9


P4OUT |= BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT |= BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 10


P4OUT &= ~BIT1; // CTRL A0
P4OUT |= BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT |= BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 11


P4OUT |= BIT1; // CTRL A0
P4OUT |= BIT2; // CTRL A1
P3OUT &= ~BIT2; // CTRL A2
P2OUT |= BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
59
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_A test => 12


P4OUT &= ~BIT1; // CTRL A0
P4OUT &= ~BIT2; // CTRL A1
P3OUT |= BIT2; // CTRL A2
P2OUT |= BIT7; // CTRL A3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_A = ADC12MEM6; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_A < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//***************** Fim do teste Optico_A *************************

//************ Inicio teste optico_B *****************************


//start Optico_B test => 0
P8OUT &= ~BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 1


P8OUT |= BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3

60
for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 2


P8OUT &= ~BIT1; // CTRL B0
P3OUT |= BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software
trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 3


P8OUT |= BIT1; // CTRL B0
P3OUT |= BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 4


P8OUT &= ~BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT |= BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3
61
for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 5


P8OUT |= BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT |= BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 6


P8OUT &= ~BIT1; // CTRL B0
P3OUT |= BIT3; // CTRL B1
P2OUT |= BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 7


P8OUT |= BIT1; // CTRL B0
P3OUT |= BIT3; // CTRL B1
P2OUT |= BIT6; // CTRL B2
P3OUT &= ~BIT1; // CTRL B3
62
for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 8


P8OUT &= ~BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT |= BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 9


P8OUT |= BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT |= BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 10


P8OUT &= ~BIT1; // CTRL B0
P3OUT |= BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT |= BIT1; // CTRL B3
63
for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 11


P8OUT |= BIT1; // CTRL B0
P3OUT |= BIT3; // CTRL B1
P2OUT &= ~BIT6; // CTRL B2
P3OUT |= BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//start Optico_B test => 12


P8OUT &= ~BIT1; // CTRL B0
P3OUT &= ~BIT3; // CTRL B1
P2OUT |= BIT6; // CTRL B2
P3OUT |= BIT1; // CTRL B3

for(c=15000; c>1; c--); // Delay

// Leitura analog
ADC12CTL0 |= ADC12SC; // Start convn - software trigger
Analog_opt_B = ADC12MEM5; // Leitura analogica
for(c=15000; c>1; c--); // Delay

if (!(1168 < Analog_opt_B < 1490)) // Limites 1,45V ~ 1,85V =>


3,3V/2 = 1,65
Fail();

for(c=15000; c>1; c--); // Delay

//***************** Fim do teste Optico_B *************************

Pass();

}
64
}

// Echo back RXed character, confirm TX buffer is ready first


#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_A0_VECTOR))) USCI_A0_ISR (void)
#else
#error Compiler not supported!
#endif
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break; // Vector 0 - no interrupt
case 2: // Vector 2 - RXIFG
if(UCA1RXBUF == 'a') // RS485 TEST
{
while (!(UCA1IFG&UCTXIFG)); // USCI_A0 TX buffer ready?
UCA1TXBUF = 'b';
}
if(UCA1RXBUF == 'p') P1OUT |= BIT4; // LED_PASS ON

if(UCA1RXBUF == 'f') P1OUT |= BIT5; // FAIL_PASS ON

break;
case 4:break; // Vector 4 - TXIFG
default: break;
}
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)


#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(ADC12_VECTOR))) ADC12ISR (void)
#else
#error Compiler not supported!
#endif
{
switch(__even_in_range(ADC12IV,34))
{
case 0: break; // Vector 0: No interrupt
case 2: break; // Vector 2: ADC overflow
case 4: break; // Vector 4: ADC timing
overflow
case 6: break; // Vector 6: ADC12IFG0
case 8: break; // Vector 8: ADC12IFG1
case 10: break; // Vector 10: ADC12IFG2
case 12: // Vector 12: ADC12IFG3
results[5] = ADC12MEM5; // ANALOG OPTCO_B
results[6] = ADC12MEM6; // ANALOG OPTCO_A
__bic_SR_register_on_exit(LPM4_bits); // Exit active CPU, SET
BREAKPOINT HERE
case 14: break; // Vector 14: ADC12IFG4
case 16: break; // Vector 16: ADC12IFG5
case 18: break; // Vector 18: ADC12IFG6
65
case 20: break; // Vector 20: ADC12IFG7
case 22: break; // Vector 22: ADC12IFG8
case 24: break; // Vector 24: ADC12IFG9
case 26: break; // Vector 26: ADC12IFG10
case 28: break; // Vector 28: ADC12IFG11
case 30: break; // Vector 30: ADC12IFG12
case 32: break; // Vector 32: ADC12IFG13
case 34: break; // Vector 34: ADC12IFG14
default: break;
}
}

66

Você também pode gostar