90
Maycon Rodrigo Moreira Projeto de Interface de Telefonia Anal´ ogica USB para sistemas VoIP ao Jos´ e – SC Fevereiro/2015

Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

  • Upload
    others

  • View
    32

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Maycon Rodrigo Moreira

Projeto de Interface de Telefonia Analogica USBpara sistemas VoIP

Sao Jose – SC

Fevereiro/2015

Page 2: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Maycon Rodrigo Moreira

Projeto de Interface de Telefonia Analogica USBpara sistemas VoIP

Monografia apresentada a Coordenacao doCurso Superior de Tecnologia em Sistemasde Telecomunicacoes do Instituto Federal deSanta Catarina para a obtencao do diploma deTecnologo em Sistemas de Telecomunicacoes.

Orientador:

Prof. Roberto de Matos, M. Eng.

Co-orientador:

Prof. Marcelo Maia Sobral, Dr. Eng.

CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS DE TELECOMUNICACOES

INSTITUTO FEDERAL DE SANTA CATARINA

Sao Jose – SC

Fevereiro/2015

Page 3: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Monografia sob o tıtulo “Projeto de Interface de Telefonia Analogica USB para sistemas

VOIP”, defendida por Maycon Rodrigo Moreira e aprovada em 24 de fevereio de 2015, em Sao

Jose, Santa Catarina, pela banca examinadora assim constituıda:

Prof. Roberto de Matos, M. Eng.Orientador

Prof. Marcelo Maia Sobral, Dr.Coorientador

Prof. Eraldo Silveira e Silva, Dr.IFSC

Prof. Sandro Carlos Lima, M. Eng.IFSC

Page 4: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Olho por olho,

e o mundo acabara cego.

M. Gandhi

Page 5: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Agradecimentos

Aquela que tornou tudo isso possıvel, agraceco imensamente a minha mae. A toda minha

famılia, que nunca deixou qualquer dificulade me abalar. Agradeco tambem a paciente e sempre

presente minha namorada. Aos meus verdadeiros amigos, que impulsionaram essa tarefa da

forma mais prazerosa possıvel, muito obrigado. Imposıvel esquecer meu professor e orientador,

Roberto de Matos, que mostrou o caminho certo durante todo o trabalho, alem da confianca

depositada. Meus sinceros agradecimentos tambem ao meu professor Marcelo Maia Sobral,

que me fez crer neste projeto. Agradeco a todas as outras pessoas que nao foram citadas aqui.

Muito obrigado a todos.

Page 6: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Resumo

Atualmente, o uso da Internet para transmitir voz esta consolidado, seja nas comunicacoesutilizando puramente voz sobre o protocolo da Internet (VoIP) ou mascarado por sistemas quefazem a conversao entre a telefonia analogica e VoIP. No segundo cenario, um dos grandes ato-res sao os sistemas que fazem a integracao dos sistemas analogicos com as centrais telefonicasIP. Esses sistemas podem ser equipamentos proprietarios ou computadores, de capacidade com-putacional elevada, equipados de dispositivos com interfaces analogicas, os quais sao interli-gados via os complexos barramentos internos. Tudo isso sugere que esses equipamentos fi-quem dedicados a funcao de gateway de telefonia, atendendo de forma satisfatoria empresasde todos os portes. Entretanto, para uso domiciliar e em pequenos escritorios o custo parainstalacao de tais equipamentos pode ser proibitivo, nao permitindo que esse seguimento faca ouso dos diversos servicos implementados em software nas centrais telefonicas IP. Dessa forma,a implementacao de dispositivos que disponibilizem interfaces analogicas via o barramentoUSB, torna possıvel a implementacao de gateways telefonicos em sistemas compartilhados,como notebook pessoal, ou em sistemas de baixo poder computacional e custo reduzido, comopor exemplo, a placa Raspberry Pi1. A proposta deste trabalho e estudar os conceitos compu-tacionais e de telefonia necessarios para implementar um dispositivo com interface USB quepermita a integracao entre a rede comutada de telefonia brasileira e rede IP, de forma a permitirque mesmo sistemas simples, com uma porta USB disponıvel, sejam transformados em umacentral telefonica IP de pequeno porte.

1Raspberry Pi e um computador do tamanho de um cartao de credito. Todo o hardware e integrado numa unicaplaca com custo de US$35

Page 7: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Abstract

Currently, the use of the Internet to transmit voice is consolidated, either in communicationsusing purely voice over Internet protocol (VoIP) or masked by systems that make the conver-sion between analog and VoIP telephony. In the second scenario, the big actors are the systemsthat make the integration of analog systems to IP telephone exchanges. The systems may beproprietary equipment or computers, high computing power, equipped devices with analog in-terfaces, which are interconnected via the complex internal buses. All this suggests that thesedevices remain dedicated to the gateway function telephony, given satisfactorily companies ofall sizes. However, for home use and small office the cost for installation of such equipmentmay be prohibitive, not allowing that follow make use of the various services implemented insoftware in the IP telephone exchanges. Thus, the implementation of devices that provide ana-log interfaces via a USB bus, makes possible the implementation of telephone gateways sharedsystems such as notebook personal, or low computational power and low cost systems, such asplate Raspberry Pi. The purpose of this study is to assess computing and telephony conceptsnecessary to implement a device with USB interface allowing integration between the switchednetwork of brazilian and IP telephony network in order to allow both simple systems with anavailable USB port, be transformed into a small telephone exchange IP

Page 8: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Sumario

Lista de Figuras

Lista de Tabelas

1 Introducao p. 14

1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.2 Organizacao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16

2 Fundamentacao teorica p. 17

2.1 Conceitos de telefonia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

2.1.1 Sinalizacao acustica . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

2.1.2 Sinalizacao de discagem . . . . . . . . . . . . . . . . . . . . . . . . p. 18

2.1.3 Alimentacao do circuito . . . . . . . . . . . . . . . . . . . . . . . . p. 18

2.1.4 Interfaces FXO e FXS . . . . . . . . . . . . . . . . . . . . . . . . . p. 19

2.2 Digitalizacao da voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2.2.1 Processo de amostragem . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2.2.2 Processo de quantizacao . . . . . . . . . . . . . . . . . . . . . . . . p. 21

2.2.3 Processo de codificacao . . . . . . . . . . . . . . . . . . . . . . . . p. 21

2.3 Rede de telefonia publica integrada a rede IP . . . . . . . . . . . . . . . . . p. 21

2.3.1 Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

2.3.2 Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

2.3.3 Digium Asterisk Hardware Device Interface - (DAHDI) . . . . . . . p. 23

2.4 Subscriber Line Interface Circuit - (SLIC) . . . . . . . . . . . . . . . . . . . p. 24

Page 9: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.4.1 SLIC Microsemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24

2.4.2 SLIC Silicon Labs . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.5 Interface Universal Serial Bus . . . . . . . . . . . . . . . . . . . . . . . . . p. 26

2.5.1 Metodos de transferencias . . . . . . . . . . . . . . . . . . . . . . . p. 26

2.5.2 Metodo Isochronous . . . . . . . . . . . . . . . . . . . . . . . . . . p. 29

2.6 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 29

3 Estudo dos componentes e kits de desenvolvimento p. 30

3.1 Estrutura do SLIC si32179 . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30

3.1.1 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 33

3.1.2 PCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.2 Kits de desenvolvimento si32179 . . . . . . . . . . . . . . . . . . . . . . . . p. 38

3.2.1 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 38

3.2.2 Software utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 40

3.2.3 Proslic Application Programming Interface - (API) . . . . . . . . . . p. 42

3.3 Estrutura do LPC-1768 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

3.3.1 Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 46

3.3.2 Serial Peripheral Interface . . . . . . . . . . . . . . . . . . . . . . . p. 50

3.3.3 Interface USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51

3.3.4 Outros perifericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54

3.4 Kit de desenvolvimento LPC-1768 . . . . . . . . . . . . . . . . . . . . . . . p. 56

3.4.1 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57

3.4.2 Biblioteca NXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 58

3.4.3 Projeto MBED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60

3.4.4 Discussao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62

3.5 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 63

Page 10: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

4 Arquitetura e Projeto Logico p. 64

4.1 Arquitetura dos Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64

4.1.1 Sistema Basico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64

4.1.2 Sistema de utilizacao de recursos externos . . . . . . . . . . . . . . . p. 65

4.1.3 Sistema de utilizacao de compartilhamento de recursos . . . . . . . . p. 65

4.2 Projeto Logico do Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66

4.2.1 Elaboracao do projeto logico . . . . . . . . . . . . . . . . . . . . . . p. 67

4.3 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 67

5 Experimento p. 69

5.1 Experimentos Primeira Etapa - Placa Filha no Modo Hospedeiro . . . . . . . p. 70

5.1.1 Experimento 1 - Utilizacao do software ProSLIC Voice GUI.3.4.0 . . p. 70

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone . . . . . . . . . p. 73

5.2.1 Experimento 1 - Avaliacao da interface USB . . . . . . . . . . . . . p. 73

5.2.2 Experimento 2 - Avaliacao da interface SPI . . . . . . . . . . . . . . p. 74

5.2.3 Experimento 3 - Avaliacao do barramento PCM . . . . . . . . . . . . p. 78

5.3 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 82

6 Conclusoes p. 84

6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 85

Referencias Bibliograficas p. 86

Anexo A -- Email Representante da Microsemi p. 88

Page 11: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Lista de Figuras

2.1 Exemplo de utilizacao da interface FXO (3CX, 2014). . . . . . . . . . . . . . p. 19

2.2 Exemplo de utilizacao da interface FXS (3CX, 2014). . . . . . . . . . . . . . p. 20

2.3 Processo de digitalizacao da voz (PINHEIRO, 2005). . . . . . . . . . . . . . p. 20

2.4 Interligacao entre PSTN e telefonia VoIP (LAMARAO; ALVAO, 2005). . . . p. 22

2.5 Arquitetura Asterisk (CUNHA et al., 2012). . . . . . . . . . . . . . . . . . . p. 23

2.6 Famılia de SLICs Microsemi (MICROSEMI, 2015). . . . . . . . . . . . . . . p. 25

2.7 Famılia de SLICs Silicon Laboratories (Figura cedida por cortesia pela Sili-

con Labs www.silabs.com). . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26

2.8 Arquitetura logica da conexao USB (SASAKI; CAIXETA, 2006). . . . . . . p. 27

3.1 Diagrama de blocos do si32919 e interligacao por metodo capacitivo com o

CI si32919 (Figura cedida por cortesia pela Silicon Labs www.silabs.com). . p. 31

3.2 Escrita no registrador com dado de 8 bits (Figura cedida por cortesia pela

Silicon Labs www.silabs.com). . . . . . . . . . . . . . . . . . . . . . . . . . p. 34

3.3 leitura no registrador com dado de 8 bits (Figura cedida por cortesia pela

Silicon Labs www.silabs.com). . . . . . . . . . . . . . . . . . . . . . . . . . p. 34

3.4 Escrita na RAM com dado de 16 bits (Figura cedida por cortesia pela Silicon

Labs www.silabs.com). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 34

3.5 Leitura na RAM com dado de 16 bits (Figura cedida por cortesia pela Silicon

Labs www.silabs.com). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.6 Exemplo dos sinais PCLK, FSYNC, DRXa e DTXa de um timeslot, utili-

zando o modo Short FSYNC (Figura cedida por cortesia pela Silicon Labs

www.silabs.com) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 37

Page 12: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.7 Exemplo dos sinais PCLK, FSYNC, DRXa e DTXa de um timeslot, utili-

zando o modo Long FSYNC (Figura cedida por cortesia pela Silicon Labs

www.silabs.com) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 37

3.8 Kit de desenvolvimento da Silicon Laboratories VMB2 REV 2.0. . . . . . . . p. 39

3.9 Kit de desenvolvimento da Silicon Laboratories Si32179BFB11SL0EVB. . . p. 40

3.10 Software ProSLIC Voice GUI.3.4.0. . . . . . . . . . . . . . . . . . . . . . . p. 41

3.11 Software Proslic api config tool. . . . . . . . . . . . . . . . . . . . . . . . . p. 43

3.12 Arquitetura Proslic API (Figura cedida por cortesia pela Silicon Labs www.silabs.com). p. 43

3.13 Arquitetura Proslic API (Figura cedida por cortesia pela Silicon Labs www.silabs.com). p. 44

3.14 Estrutura basica da CMSIS (MIYADAIRA, 2012). . . . . . . . . . . . . . . . p. 47

3.15 Diagrama de bloco do ARM Cortex-M3 (NXP, 2015a). . . . . . . . . . . . . p. 48

3.16 Mapa de memoria do processador ARM Cortex-M3 (MIYADAIRA, 2012). . p. 49

3.17 Barramento SPI (MIYADAIRA, 2012). . . . . . . . . . . . . . . . . . . . . p. 50

3.18 Transferencia de um dado de 8 bits (MIYADAIRA, 2012). . . . . . . . . . . p. 52

3.19 Barramento USB para o modo device (NXP, 2015b). . . . . . . . . . . . . . p. 53

3.20 Kit de desenvolvimento MBED LPC-1768 (NXP, 2015a). . . . . . . . . . . . p. 57

3.21 Ambiente MBED, tela principal. . . . . . . . . . . . . . . . . . . . . . . . . p. 61

3.22 Ambiente de escolha da plataforma. . . . . . . . . . . . . . . . . . . . . . . p. 62

4.1 Arquitetura sistema Basico. . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64

4.2 Arquitetura do sistema de utilizacao de recursos externos. . . . . . . . . . . . p. 65

4.3 Arquitetura sistema de utilizacao de compartilhamento de recursos. . . . . . . p. 66

4.4 Diagrama do sistema proposto pelo projeto. . . . . . . . . . . . . . . . . . . p. 67

4.5 Projeto logico do dispositivo de telefonia. . . . . . . . . . . . . . . . . . . . p. 67

5.1 Configuracao fısica do cenario para o experimento da placa filha no modo

hospedeiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 70

5.2 Reproducao de um segundo de audio enviado via USB. . . . . . . . . . . . . p. 74

5.3 Sinais SCLK (canal 1) e SS (canal 2). . . . . . . . . . . . . . . . . . . . . . p. 75

Page 13: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.4 Escrita REG 14. Sinais SCLK (canal 1) e MOSI (canal 2). . . . . . . . . . . p. 75

5.5 Escrita REG 14. Sinais SCLK (canal 1) e MOSI (canal 2) ampliados. . . . . . p. 75

5.6 Escrita REG 14. Sinais SCLK (canal 1) e MISO (canal 2). . . . . . . . . . . p. 76

5.7 Leitura REG 3. Sinais SCLK (canal 1) e MOSI (canal 2). . . . . . . . . . . . p. 76

5.8 Leitura REG 3. Sinais SCLK (canal 1) e MOSI (canal 2) ampliados. . . . . . p. 77

5.9 Leitura REG 3. Sinais SCLK (canal 1) e MISO(canal 2). . . . . . . . . . . . p. 77

5.10 Leitura REG 3. Sinais SCLK (canal 1) e MISO (canal 2) ampliados. . . . . . p. 77

5.11 Configuracao fısica do cenario para a avaliacao do barramento PCM. . . . . . p. 79

5.12 Sinais PCLK (canal 1) e FSYNC (canal 2). . . . . . . . . . . . . . . . . . . p. 80

5.13 Sinais PCLK (canal 1) e FSYNC (canal 2), ampliados. . . . . . . . . . . . . p. 80

5.14 Fluxograma de avaliacao para o barramento PCM. . . . . . . . . . . . . . . . p. 81

5.15 Sinai PCLK (canal 1) e sinal FSYNC (canal 2) com 16KHz. . . . . . . . . . p. 82

A.1 Contato representante da Microsemi. . . . . . . . . . . . . . . . . . . . . . . p. 89

Page 14: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Lista de Tabelas

2.1 Conjunto de frequencias DTMF. . . . . . . . . . . . . . . . . . . . . . . . . p. 18

3.1 Byte CONTROL (Tabela cedida por cortesia pela Silicon Labs www.silabs.com). p. 34

3.2 Registrador MSTRSTAT (Tabela cedida por cortesia pela Silicon Labs www.silabs.com). p. 36

Page 15: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

14

1 Introducao

Varios servicos hoje fazem uso da rede de computadores, tais como os de seguranca eletronica

e controle de acesso. Com a telefonia nao e diferente. Usar a internet para efetuar chamadas

locais ou chamadas de longa distancia e uma realidade. O que torna isso possıvel e o uso do

VoIP. Esse acronimo ja e de uso cotidiano, assim como o termo telefonia IP. VoIP e o acronimo

em ingles para Voice Over Internet Protocol (voz sobre o protocolo internet), tecnologia que usa

a rede mundial de computadores (comutacao de pacotes) para transmitir voz. Essa tecnologia

foi desenvolvida ao longo da decada de 1990, nascendo de duas vertentes: a digitalizacao do

trafego entre as centrais telefonicas e para a comunicacao de voz pela Internet, possibilitando

custos menores em ligacoes de longa distancia.

Entretanto, a Rede Publica de Telefonia Comutada (PSTN, do ingles Public Switched Te-

lephone Network) ainda tem um papel muito forte nas comunicacoes de voz. Dessa forma, e

necessario o uso de equipamentos para integracao entre os sistemas VoIP e a telefonia con-

vencional (ARAUJO; BRAGA, 2009). O responsavel por essa integracao e o gateway que

executa a conversao de mıdia em tempo real (sinal analogico para sinal digital) e a conversao de

sinalizacao para as chamadas telefonicas que entram e saem da rede VoIP (LAMARAO; AL-

VAO, 2005). Para tal integracao os gateways devem prover interfaces padronizadas FXO (do

ingles Foreign Exchange Office) e FXS (do ingles Foreign Exchange Station).

FXS e FXO sao interfaces utilizadas nos sistemas telefonios analogicos. Mais detalhada-

mente, a FXS e a interface que fornece os padroes eletricos e logicos de uma linha telefonica,

responsavel por alimentar o circuito, verificar a ocupacao do sistema, interpretar os dıgitos pro-

vidos pelo telefone e gerar corrente de toque para o sistema. Ja a FXO e a interface que recebe

a linha analogica. Essa interface e responsavel por inserir uma carga (resistencia eletrica) na via

de transmissao (um par de fios), a fim de circular corrente no circuito e informar ao terminal re-

moto que foi solicitada a ocupacao dele. A interface FXO tambem e responsavel por interpretar

a corrente de toque que o sistema remoto envia, com o objetivo de indicar que uma ligacao esta

sendo solicitada.

Page 16: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

1.1 Objetivos 15

Uma opcao muito comum para a criacao de gateways VoIP e o uso de software de codigo

livre, como por exemplo, o Asterisk (CUNHA et al., 2012), que implementa os recursos en-

contrados em uma central telefonica convencional, utilizando a arquitetura de um computador

pessoal (PC), sem a necessidade de grandes sistemas proprietarios. Entretanto, para habilitar

a funcionalidade de gateway e necessario o uso de placas providas com portas FXO e FXS, as

quais normalmente utilizam os barramentos internos do PC por possuırem varias portas e ter

seu foco no mercado corporativo.

Essa mistura de software livre, uso da arquitetura estabelecida do PC e diminuicao dos altos

custos de telefonia fizeram o mercado corporativo impulsionar comercialmente a evolucao da

telefonia IP. Essa evolucao tornou as centrais telefonicas em software com servicos modulares,

escalaveis e altamente atrativos, inclusive para uso no seguimento residencial e de pequenos es-

critorios (SOHO, do ingles Small Office and Home office ). Entretanto o hardware ainda e muito

focado para solucoes corporativas, o que encarece e dificulta as solucoes nesse seguimento de

mercado. Dessa forma, um dispositivo que contenha interfaces FXS e FXO e integre a central

telefonica/gateway implementada em software via USB, viabilizaria o uso de solucoes VoIP nas

residencias e pequenos escritorios.

Considerando complexo e extenso o estudo, projeto e implementacao do hardware, firmware

e drivers para uma interface de telefonia analogica USB, provida de uma FXO e uma FXS,

decidiu-se limitar o trabalho sem fugir do contexto discutido. O trabalho atual almeja servir

de base para guiar uma futura implementacao completa e compreende o estudo e avaliacao dos

componentes comerciais e suas placas de desenvolvimento, uma proposta de projeto logico de

hardware e implementacoes de experimentos que validam o projeto proposto.

1.1 Objetivos

O objetivo deste trabalho e o estudo dos componentes comerciais no intuito de projetar

uma interface de telefonia USB com um par de portas analogicas, uma FXO e uma FXS, para

integracao futura com uma central telefonica/gateway VoIP implementada em software.

Como objetivos especıficos define-se:

- Estudo e selecao de componentes comerciais para as interfaces analogicas;

- Estudo e avaliacao das placas de desenvolvimento;

- Projeto logico de hardware;

Page 17: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

1.2 Organizacao do texto 16

- Implementacao de blocos de firmware para validar o projeto logico.

1.2 Organizacao do texto

O texto esta organizado da seguinte forma: no capıtulo 2 e apresentada a fundamentacao

teorica do trabalho. Esse capıtulo traz os conceitos necessarios para o desenvolvimento de sis-

temas de telefonia analogica/digital. Em seguida, e feita uma abordagem sobre dispositivos

comerciais que implementam interfaces FXS e FXO. O capıtulo 3 abordara o estudo de dispo-

sitivos especıficos, como o circuito integrado si32179 e o LPC-1768, como forma de avaliar

se suas caracterısticas atendem as necessidades de desenvolvimento de um dispositivo de tele-

fonia. Ainda nesse capıtulo, serao avaliadas as placas usadas nos testes e o desenvolvimento

para o projeto. O capıtulo 4 apresenta a descricao do projeto do sistema. Esse capıtulo visa

demonstrar a arquitetura geral do sistema, alguns cenarios de uso e o projeto logico do sistema

proposto. No capıtulo 5 serao descritos os experimentos feitos com os componentes para averi-

guar a possibilidade de sua utilizacao na proposta. Ao final do capıtulo apresenta-se uma analise

de viabilidade para utilizacao dos componentes para o sistema proposto. Por fim, no capıtulo 6

sao apresentadas as conclusoes e possibilidades de trabalhos futuros.

Page 18: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

17

2 Fundamentacao teorica

O escopo deste capıtulo e a apresentacao das tecnicas utilizadas para a criacao da inter-

face de telefonia. Assim, passa-se a discorrer sobre os fundamentos teoricos necessarios para

alcancar os objetivos.

2.1 Conceitos de telefonia

Para que um sistema opere conforme as necessidades dos usuarios, e necessario que sejam

estabelecidos padroes de comunicacao, implementacao e operacao. No ambito da telefonia

brasileira, os padroes sao definidos pela Agencia Nacional de Telecomunicacoes (ANATEL).

Para a operacao basica do sistema telefonico, e tomado como exemplos a sinalizacao acustica,

a sinalizacao de discagem e a alimentacao do circuito.

2.1.1 Sinalizacao acustica

A sinalizacao acustica adotada no Brasil e especificada pela pratica Telebras STP 210-110-

704 [Tel96a]. Em relacao a sinalizacao acustica, valem as seguintes definicoes e caracterısticas

(JESZENSKY, 2004):

• Tom de discar (TD) e o sinal enviado ao terminal chamador apos a ocupacao do circuito

de linha associado, para que seja iniciada a marcacao dos algarismos do telefone do as-

sinante chamado ou o acesso a programacao de um servico suplementar. A frequencia

utilizada deve ser de (425 ± 25) Hz. O regime de emissao do tom de discar deve ser

contınuo.

• Tom de ocupado (TO) e o sinal enviado ao terminal chamador indicando que o terminal

chamado esta na condicao de ocupado. O sinal deve ser enviado diretamente pelo circuito

de linha do assinante. A frequencia utilizada deve ser (425 ± 25) Hz. O TO deve ser um

Page 19: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.1 Conceitos de telefonia 18

sinal com a seguinte cadencia: perıodo de tom de 250 ms ± 10%; perıodo de silencio de

250 ms ± 10 %.

• Corrente de toque (CT) e o sinal enviado ao aparelho telefonico do assinante chamado,

indicando que ha uma ligacao dirigida a ele. A frequencia utilizada e de (25 ± 2,5) Hz. A

forma de onda desse sinal deve ser senoidal, tolerando-se uma distorcao de ate 15% para

geradores dinamicos e ate 10% pra geradores estaticos, medida na saıda do equipamento

gerador de CT. A cadencia da corrente de toque deve ser: perıodo de toque de 1.000 ms

± 10%; perıodo de silencio de 4.000 ms ± 10%. A CT deve ser interrompida tao logo

o assinante chamado atenda, de forma que ele nao ouca atraves da capsula receptora.

Tolera-se um atraso maximo de 300 ms em relacao ao instante de atendimento. A tensao

do sinal, sem carga, em regime de emissao contınua, na saıda do respectivo gerador, deve

ser de (80 ± 10) Vrms, sobreposta a um potencial de (-48 ± 4) Vdc.

2.1.2 Sinalizacao de discagem

Os sistemas publicos de telefonia fazem uso de um esquema de sinalizacao denominado

dual tone multi frequency (DTMF). Esses sinais sao utilizados para codificar os dıgitos de dis-

cagem de um aparelho telefonico em sinais analogicos, de forma que possam ser transmitidos

por meio de uma rede de telefonia ate uma central, onde os sinais sao decodificados e trata-

dos. O sistema DTMF utiliza oito frequencias diferentes, as quais sao combinadas e transmi-

tidas em pares, podendo assim representar dezesseis numeros, sımbolos ou letras distintas. As

frequencias DTMF sao mostradas na tabela 2.1.

Tabela 2.1: Conjunto de frequencias DTMF.

Hz 1.209 1.336 1.477 1.633697 1 2 3 A770 4 5 6 B852 7 8 9 C941 * 0 # D

2.1.3 Alimentacao do circuito

O fornecimento de energia para o circuito telefonico e proveniente do sistema de comutacao

da operadora que fornece o link. O nıvel deve ser medido em regime de emissao contınua nos

pontos indicados com tensao nominal de alimentacao de -48 VCC, em quaisquer condicoes de

trafego a que se submeta a central (ANATEL, 1996).

Page 20: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.1 Conceitos de telefonia 19

2.1.4 Interfaces FXO e FXS

Foreign Exchange Office (FXO) e uma interface que recebe sinalizacao da operadora (STFC)

ou de uma central telefonica PABX. E o plugue do aparelho telefonico que deve ser conectado

a interface Foreign Exchange Station (FXS) para funcionar. Portanto, todo telefone ou fax a

possui. A interface FXS, tal como um plugue femea, e a que permite o acesso do telefone a

rede da operadora de telefonia. As interfaces FXO e FXS sao compostas por dois fios (o par

telefonico ou par metalico ou, ainda, linha telefonica) e conectores, usualmente no padrao RJ-

11. Essa linha segue, atraves de um cabo telefonico ou outro tipo de meio de transmissao, ate

a central telefonica, responsavel por enviar os tons (linha, ocupado etc.), energizar o aparelho

telefonico, reconhecer os dıgitos discados e enviar e receber a voz e demais sons compreendidos

pelo espectro sonoro entre 300 Hz a 3.400 Hz (CUNHA et al., 2012).

FXO

A interface FXO foi projetada para receber um ramal de um PABX externo. Opera como

um aparelho telefonico analogico quando uma ligacao chega a ele, oriunda da rede VoIP. E

capaz de reagir a correntes de toque e reconhecer chamadas originadas do PABX (GALRAO,

2007). A figura 2.1 ilustra um exemplo de utilizacao da porta FXO.

Figura 2.1: Exemplo de utilizacao da interface FXO (3CX, 2014).

FXS

Ja a interface FXS foi projetada para ser diretamente ligada a um aparelho telefonico

analogico e, entao, a qualquer posicao de tronco analogico de um PABX. Opera como uma

central telefonica, fornecendo alimentacao, tons e reconhecendo discagens DTMF. Gera toque

Page 21: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.2 Digitalizacao da voz 20

de campainha quando uma ligacao vinda da rede chega a ele (GALRAO, 2007). A figura 2.2

ilustra um exemplo de utilizacao da porta FXS.

Figura 2.2: Exemplo de utilizacao da interface FXS (3CX, 2014).

2.2 Digitalizacao da voz

A digitalizacao da voz foi projetada pelo Bell System na decada de 50. O projeto original da

digitalizacao da voz foi o empacotamento de dois ou mais canais de audio para ser transmitido

em um par de fios (PINHEIRO, 2005). O processo de digitalizacao da voz e ilustrado na figura

2.3. A conversao de voz analogica para sinal digital passa por tres passos:

• Processo de amostragem;

• Processo de quantizacao; e

• Processo de codificacao.

Figura 2.3: Processo de digitalizacao da voz (PINHEIRO, 2005).

2.2.1 Processo de amostragem

A amostragem do sinal e feita por intervalos de tempos periodicos. Quanto maior a quanti-

dade de amostras, mais fiel sera a reproducao do sinal na decodificacao. Por outro lado, a maior

Page 22: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.3 Rede de telefonia publica integrada a rede IP 21

quantidade de amostras exigira uma maior largura de banda para transmissao do sinal codifi-

cado. Para chegar a uma quantidade de amostras que nao degradasse a qualidade da voz e nem

usasse muita largura de banda, foi usado o Teorema de Nyquist. O referido teorema especifica

que, para que um sinal arbitrario transmitido seja reconstruıdo pelo receptor, e necessario que a

quantidade de amostras por segundo seja o dobro da maior frequencia do sinal transmitido.

Apesar de a voz humana ter o espectro de frequencia de 20 Hz a 20 KHz, para uma boa

reproducao em canais telefonicos foi admitida uma faixa de 300 a 3.400 Hz. Arredondando

para cima, a maior frequencia do sinal de voz para canal telefonico entao e de 4.000 Hz. A

saıda da amostragem e um sinal modulado em amplitude de sinal.

2.2.2 Processo de quantizacao

E a classificacao das amplitudes das amostras em uma escala de valores para que eles sejam

transmitidos. Ha duas formas de fazer a quantizacao. A primeira e a forma linear, em que toda

a escala tem valores e tamanhos iguais. A outra maneira e a forma logarıtmica, em que a escala

tem valores diferentes, comportando-se de forma semelhante ao ouvido humano.

2.2.3 Processo de codificacao

E a transformacao dos valores decimais criados pela quantizacao em valores binarios para

serem transmitidos em um canal digital.

2.3 Rede de telefonia publica integrada a rede IP

Apesar de a PSTN estabelecer chamadas de voz entre dois terminais de forma eficiente, ha

uma grande demanda por novas funcionalidades e de menor custo. Isso esta levando inumeras

empresas a mudarem seus sistemas de telefonia tradicionais para uma tecnologia baseada em

comutacao de pacotes, o VoIP (CUNHA et al., 2012). Com a intervencao do VoIP e possıvel, em

residencias, escritorios ou pequenas empresas, fazer uso de novas facilidades. Pode-se imaginar

equipamentos interagindo com atuais e estaticos PABXs disponibilizando servicos que estes

nao agregavam. Chamadas telefonicas de longa distancia feitas a custo de chamadas locais,

utilizacao remota (acesso a distancia) das linhas telefonicas da PSTN e facil implementacao de

correio de voz sao exemplos dessa integracao.

Um equipamento crucial para que tal integracao ocorra e o gateway. Este equipamento

comumente utiliza o software livre Asterisk. Um exemplo de como a rede PSTN e a telefonia

Page 23: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.3 Rede de telefonia publica integrada a rede IP 22

IP encontram-se atualmente pode ser visto na figura 2.4.

Figura 2.4: Interligacao entre PSTN e telefonia VoIP (LAMARAO; ALVAO, 2005).

2.3.1 Gateway

Gateway (GW) e a funcionalidade responsavel pela interoperabilidade entre a rede VoIP e

a rede de telefonia publica. Para que o gateway execute sua funcao, ele necessita de interfaces

que tratem toda a sinalizacao da PSTN e tambem a digitalizacao da voz. Quando implementado

em um Personal Computer (PC), geralmente sao utilizadas interfaces FXO, FXS, E1 ou T1 em

placas com interface Peripheral Component Interconnect (PCI) para integracao com a rede de

telefonia tradicional. O Asterisk e um software muito requisitado para implementar a funcao de

gateway (CUNHA et al., 2012).

2.3.2 Asterisk

Asterisk e um software livre que disponibiliza o servico de um PABX completo utilizando

tecnologia VoIP. Inicialmente ele foi desenvolvido pela empresa Digium, mas atualmente e

mantido por meio de contribuicoes de desenvolvedores e usuarios espalhados pelo mundo. O

Asterisk permite a utilizacao de todas as funcoes das centrais telefonicas convencionais, como

Page 24: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.3 Rede de telefonia publica integrada a rede IP 23

unidades de resposta automatica (URAs), correio de voz, conferencia, distribuicao automatica

de chamadas, entre outras. A arquitetura do Asterisk e apresentada na figura 2.5, que exem-

plifica algumas aplicacoes disponibilizadas ao usuario. Os canais consistem em modulos de

interfaces de comunicacao logica (CUNHA et al., 2012).

Figura 2.5: Arquitetura Asterisk (CUNHA et al., 2012).

2.3.3 Digium Asterisk Hardware Device Interface - (DAHDI)

O Asterisk Hardware Device Interface (DAHDI) e um driver utilizado para controlar, ori-

ginalmente, as placas de interface da Digium (CUNHA et al., 2012). A conexao estabelecida

por meio do DAHDI e denominada Span e utiliza o protocolo TDM over Ethernet) (TDMoE)

para realizar transferencia de dados (CUNHA et al., 2012). O DAHDI e tanto um pacote de

modulos para o kernel (drivers) quanto um middleware que faz a comunicacao do channel dri-

ver do Asterisk com os drivers das placas de hardware. Portanto, ao instalar o pacote DAHDI,

sao instalados todos os modulos das placas compatıveis com essa arquitetura e um processo

(middleware) que faz a comunicacao dos componentes. Resumindo, o DAHDI e responsavel

por toda a comunicacao entre a aplicacao (channel driver) e o hardware de telefonia (interface

FXO e FXS).

Page 25: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.4 Subscriber Line Interface Circuit - (SLIC) 24

2.4 Subscriber Line Interface Circuit - (SLIC)

Subscriber Line Interface Circuit (SLIC) e uma interface que fornece um circuito integrado

especialista em tratar os sinais de telefonia. E uma denominacao comercial e muito utilizado no

projeto de sistema telefonicos. O circuito e responsavel por fazer a conversao AD/DA seguindo

padroes de codificacao ITU. O SLIC possui integrado a ele um processador digital de sinais

(DSP), que apos converter o sinal analogico para digital, manipula e trata essas informacoes

para serem disponibilizadas a um hardware externo. Esse processo permite que as amostras dos

sinais sejam manipuladas para serem utilizadas em aplicacoes especıficas.

Sao funcoes basicas de um SLIC:

• Fazer a conversao analogica/digital da voz;

• Gerar corrente DC para o circuito (FXS);

• Gerar corrente de toque ring (FXS);

• Gerar tons de progressao de chamadas (FXS);

• Gerar impedancia para sinalizacao de ocupacao do circuito (FXO);

• Interpretar corrente de toque (FXO); e

• Gerar DTMF para sinalizacao do numero de destino (FXO).

No mercado podemos encontrar alguns fabricantes para esse tipo de dispositivo, com vari-

adas funcoes e desempenhos, as quais devem ser observadas para cada tipo de aplicacao. Dois

fabricantes que se destacam nesse tipo de tecnologia, a Silicon Laboratories 1 e a Microsemi 2.

2.4.1 SLIC Microsemi

O VE8911 e um SLIC altamente integrado e de baixo custo, com uma interface FXS e uma

interface FXO. E uma solucao otimizada para gateways VoIP residenciais, tais como modems

DSL com interface de telefone, set-top boxes e adaptadores de terminal analogico. No lado

digital, o chipset VE8911 fornece uma interface padrao MPI e uma interface PCM para um

processador VoIP.

1http://www.silabs.com/2http://www.microsemi.com

Page 26: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.4 Subscriber Line Interface Circuit - (SLIC) 25

O VE8911, juntamente com a VoicePath API-II (VP API-II), oferece aos desenvolvedores

de softwares recursos de programacao e controle do hardware. O codigo VP API-II-C e usado

como abstracao dos dispositivos para o aplicativo, proporcionando funcoes para controlar, su-

pervisionar e testar um conjunto de linhas de assinantes.

O bloco de funcoes do VE8911 pode ser vista na figura 2.6

Figura 2.6: Famılia de SLICs Microsemi (MICROSEMI, 2015).

2.4.2 SLIC Silicon Labs

A Silicon Laboratories possui a famılia de SLICs de baixo custo, denominada ProSLIC

si3217x. Essa famılia oferece uma completa interface de telefonia analogica, ideal para empre-

sas, escritorios e aplicacoes em centrais. A ProSLIC si3217x pode ser facilmente configurada

com requisitos especıficos de cada paıs, tais como impedancia AC, frequencia, cadencia e de

formato de onda do ring, usando um design de hardware unico.

Todos os parametros do SLIC sao configuraveis usando registradores de configuracao acessıveis

por barramento serial digital. API Silicon Labs acelera e simplifica o desenvolvimento do soft-

ware de controle com um conjunto de funcoes prontas e comuns a toda famılia ProSLIC.

Alguns dispositivos da famılia podem suportar uma interface FXS e uma interface FXO

integrada. O diagrama de blocos da famılia ProSLIC si3217x pode ser vista na figura 2.7.

Page 27: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.5 Interface Universal Serial Bus 26

Figura 2.7: Famılia de SLICs Silicon Laboratories (Figura cedida por cortesia pela SiliconLabs www.silabs.com).

2.5 Interface Universal Serial Bus

O padrao Universal Serial Bus (USB) foi desenvolvido sob a optica do conceito plug and

play (expressao inglesa para ligue e divirta-se), que permite a conexao de perifericos sem a

necessidade de desligar o computador. Alem disso, a USB facilitou a implementacao de novos

dispositivos, minimizando o trabalho em relacao ao suporte por parte dos sistemas operacio-

nais (OLIVEIRA; ZANATTA; SANTOS, 2007). A primeira versao foi a 1.0, com velocidade

de 1,5 Mbps (low-speed). Logo em seguida foi concebida a versao 1.1, com velocidade que

varia de 1,5 Mbps a 12 Mbps. Essa versao e conhecida como full-speed. No final de 2000

foi lancada a versao 2.0 (high-speed), compatıvel com as versoes anteriores, mas com alguns

aperfeicoamentos que vao desde a topologia a velocidade de trafego de dados, chegando ao

extremo de 480 Mbps, equivalente a cerca de 60 MBps (60 milhoes de bytes por segundo)

(OLIVEIRA; ZANATTA; SANTOS, 2007).

Segundo a estrutura criada para o padrao USB, um dispositivo host consome ou cria dados

para aplicacoes distintas (SASAKI; CAIXETA, 2006). Todos os dispositivos USB tem de ter

o mesmo padrao para fazer a traducao dos dados consumidos. Como e possıvel uma grande

variedade de aplicacoes, foi preciso ter uma estrutura logica bem definida para os dados criados

ou consumidos. Na figura 2.8, temos um exemplo da arquitetura logica da conexao USB.

2.5.1 Metodos de transferencias

O padrao USB e um barramento compartilhado e que pode ser utilizado, simultaneamente,

por varios dispositivos. O driver cliente comunica ao driver USB que deseja efetuar uma trans-

ferencia do/para o seu dispositivo correspondente. Algumas dessas transferencias consistem em

Page 28: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.5 Interface Universal Serial Bus 27

Figura 2.8: Arquitetura logica da conexao USB (SASAKI; CAIXETA, 2006).

Page 29: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.5 Interface Universal Serial Bus 28

blocos maiores de dados, os quais precisam ser quebrados em varias transacoes. A transferencia

de dados e feita em intervalos regulares denominados frames. Um frame e composto de uma

ou mais transacoes que devem ser executadas dentro de 1 ms (ZUQUIM, 2007). Abaixo, sao

mostrados os metodos de transferencias.

• Control - Metodo de transferencia utilizado pelo host para fazer requisicoes ao dispo-

sitivo. E nesse tipo de transferencia que e feita a leitura dos descritores, por exemplo.

Nele acontece tambem a verificacao de erros. Transferencias do tipo Isochronous e Inter-

rupt tem uma maior prioridade em relacao as outras quando distribuıdas em um frame.

Transferencias do tipo Bulk so serao executadas quando houver disponibilidade de espaco

dentro de um frame (ZUQUIM, 2007).

• Bulk - Esse metodo de transferencia e utilizado para blocos maiores de dados, para o

qual a taxa de transferencia nao e fator relevante. O que e importante nesse tipo de

transferencia e o grau de correcao com o qual os dados chegarao ao destino, sendo in-

dispensavel a verificacao de erros. Possui um payload de dados de 8, 16, 32 ou 64 bytes

por frame. A largura de banda disponıvel para esse tipo de transferencia varia de acordo

com a disponibilidade. Um bom exemplo de um dispositivo que utiliza esse tipo de trans-

ferencia sao as impressoras (ZUQUIM, 2007).

• Interrupt - O objetivo desse metodo de transferencia e verificar se algum dispositivo

necessita transferir algum dado para o host. Esse processo ocorre de tempos em tempos e

o intervalo e denominado Polling Interval. Dessa forma, o host “sonda”os devices e, caso

seja necessario, a transferencia e feita. Nesse metodo tambem e realizada a verificacao

de erros. Possui um payload de dados de 64 bytes/frame. Exemplo de dispositivos que

utilizam este tipo de transferencia sao o teclado e o mouse (ZUQUIM, 2007).

• Isochronous - Taxa de transmissao de dados constante. O foco desse metodo de trans-

ferencia e garantir a entrega dos dados dentro de um determinado tempo, sendo dis-

pensavel a verificacao de erros. Nao pode ocorrer distorcao no envio dos dados e o

sincronismo e o foco deste tipo de transferencia. Portanto, so e suportada por disposi-

tivos de alta velocidade (12 Mb/s). E unidirecional e possui um payload de dados de

1023 bytes/frame. Exemplos de dispositivos que utilizam esse tipo de transferencia sao

microfones e demais dispositivos de som de uma maneira geral (ZUQUIM, 2007).

Page 30: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

2.6 Conclusoes 29

2.5.2 Metodo Isochronous

Para aplicacoes nas quais e necessario um fluxo constante de dados, seja vıdeo ou audio,

e interessante que nao haja retransmissao destes. Nas interfaces de hardware em que serao

implementadas as portas FXO e FXS, o metodo de transferencia utilizado e o Isochronous. Por

se tratar de um metodo de transferencia sem transacoes de pacotes de handshake, ele se torna o

metodo mais apropriado para a troca de streaming de audio, pois um dado atrasado e tao inutil

quanto dado nenhum nesse tipo de aplicacao, e para aplicacoes de streaming em tempo real,

retransmissoes nao sao aceitas.

2.6 Conclusoes

Neste capıtulo foram explorados conceitos e fundamentos, que servem de base para avaliar

os componentes e as tecnologias associadas ao desenvolvimento de um dispositivo de telefonia.

Em particular, um estudo sobre os conceitos de telefonia, a fim de avaliar possıveis disposi-

tivos especialistas nos padroes de telefonia utilizados no Brasil, de forma que esses atendam

aos requisitos necessarios. Apos os estudos sobre os conceitos de telefonia, uma pesquisa de

dispositivos comerciais se fez necessaria. Tal pesquisa teve foco em duas grandes fabricantes

de semicondutores nesse tipo dispositivo, a Silicon Laboratories e a Microsemi.

Outro estudo, porem mais brando, foi sobre a forma com que a rede PSTN interage com

a rede mundial de computadores. Esse estudo pode dar uma visao de como o dispositivo de

telefonia poderia servir as aplicacoes do gateway de telefonia, que no futuro podera ser utilizado

em uma solucao SOHO.

Tambem foi abordado alguns conceitos sobre a interface USB e seus metodos de trans-

ferencias. Sobre a interface USB, foi dado destaque ao metodo de transferencias isochronous

que, potencialmente, pode vir ser o metodo de transferencia mais apropriado.

No capıtulo seguinte serao apresentados os estudos efetuados nos kits e softwares escolhi-

dos, os quais serao utilizados para um futuro dispositivo de interface de telefonia.

Page 31: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

30

3 Estudo dos componentes e kits dedesenvolvimento

O presente capıtulo tem a finalidade de apresentar os estudos realizados nos componentes

selecionados nesse trabalho para o projeto da interface de telefonia USB. Para um melhor en-

tendimento, primeiro foi abordado o SLIC si32179 da Silicon Laboratories, que implementa as

interfaces FXO e FXS, detalhando seu funcionamento e barramentos. Na sequencia, o capıtulo

incluı detalhes sobre os kits de desenvolvimento VMB2 REV 2.0 e Si32179BFB11SL0EVB e,

tambem, os softwares utilizados para explorar o seus funcionamentos. Essas ferramentas, for-

madas pelos kits e pacote de softwares, tem a finalidade de facilitar o estudo e desenvolvimento

do SLIC si32179, tornando mais agil o desenvolvimento de novos produtos.

O capıtulo aborda ainda o componente LPC-1768 da NXP, componente selecionado para

fazer o controle do SLIC e a interface USB com o sistema principal. Alem disso, os estudos

efetuados no kit de desenvolvimento para o LPC-1768 e relatado. Por fim, ha uma discussao

sobre os estudos dos dispositivos, kits e softwares selecionados, para compreensao dos motivos

que levaram a cada selecao.

3.1 Estrutura do SLIC si32179

O si32179 pertence a famıla si3217x de SLICs da fabricante Silicon Laboratories que im-

plementam uma interface FXS completa. Essa famılia traz uma solucao completa em acordo

com as especificacoes ITU e European Telecommunications Standards Institute (ETSI). Algu-

mas pecas da famılia de produtos tambem implementam a tecnologia de isolamento capacitivo

patenteado pela Silicon Laboratories para permitir a conexao perfeita com um circuito integrado

do lado da linha (Si3291x) para formar uma interface FXO. O si32179 fornece uma banda de

voz padrao de 200 Hz ate 3.4 KHz no codec de audio e, tambem, tem a opcao de uma banda de

voz entre 50 Hz ate 7 KHz.

Esses componentes atendem as necessidades de aplicacoes muito utilizadas nas telecomunicacoes,

Page 32: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 31

dentre elas:

• Ideal para aplicacoes de curto e medio de prazo, incluindo voz sobre IP (VoIP);

• Gateways a cabo: Endereco MAC do Adaptador do Terminal (EMTA);

• Gateways DSL integrated access devices (IAD);

• FTTH optical network terminals (ONT);

• Terminal de voz WiMax;

• Wireless Fixed Terminals (WFT); e

• Adaptador de terminal analogico (ATA).

A figura 3.1 ilustra o diagrama de bloco dos circuitos si32179 e si32919. Nessa, tambem

pode ser vista a forma de interligacao capacitiva usada pela Silicon Laboratories.

Figura 3.1: Diagrama de blocos do si32919 e interligacao por metodo capacitivo com o CIsi32919 (Figura cedida por cortesia pela Silicon Labs www.silabs.com).

Caracterısticas do si32179

O sub-sistema FXS contem um processador DSP integrado que executa as seguintes funcoes

para o canal FXS:

• Caracterısticas de alimentacao DC (DC Feed Characteristics) - circuitos de alimentacao

de linha interno do SLIC, fornecem caracterısticas de alimentacao DC completamente

programaveis. Quando no estado ativo, o SLIC opera em uma das tres regioes de operacao

de alimentacao DC de linha: uma regiao de tensao constante, uma regiao de corrente

constante, ou uma regiao de resistencia. A regiao de tensao constante tem uma resistencia

baixa, tipicamente 160 Ω. A regiao de corrente constante aproxima resistencia infinita;

Page 33: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 32

• Estados de operacao de avanco de linha (Linefeed Operating States) - a interface de

alimentacao de linha inclui oito diferentes estados de operacao de registo programavel;

• Monitoramento da tensao e corrente da linha (Line Voltage and Current Monitoring)

- o SLIC monitora continuamente o TIP, RING, tensoes de bateria e correntes atraves de

um ADC no chip e armazena os valores resultantes em locais individuais na RAM;

• Monitoramento de energia e deteccao de falhas de energia (Power Monitoring and

Power Fault Detection) - funcao de monitoramento do Si32179 utilizada para proteger

continuamente contra as condicoes em que ha energia excessiva. Se o Si3217x detecta

uma condicao de falha ou sobre carga, o dispositivo automaticamente esse se volta para

um estado aberto e gera uma interrupcao, indicando um alarme;

• Desligamento de sobrecarga termica (Thermal Overload Shutdown) - ao exceder atin-

gir uma temperatura de juncao, o dispositivo automaticamente e desativado. A tempera-

tura de juncao tıpica (TJmax) e de 145 graus celsius;

• Gerador de ring (Ringing Generation) - o si32179 prove um sinal de ring com formato

de onda senoidal ou trapezoidal, com um deslocamento (offset) DC. A frequencia, forma

de onda e cadencia sao totalmente programaveis;

• Inversao de polaridade (Polarity Reversal) - o SLIC pode monitorar o comportamento

da linha, caso haja alguma alteracao da polaridade ele pode informar sobre o progresso

da chamada;

• Gerador de tons (Tone Generators) - o Si32179 inclui dois geradores de som digitais

que permitem uma grande variedade de frequencia simples ou duplo tom e junto com

combinacoes de amplitude;

• Deteccao de DTMF (DTMF Detection) - no DTMF, dois tons gera um dıgito DTMF.

Um tom e escolhido a partir de quatro tons possıveis de uma linha, e um tom e escolhido

a partir de outros quatro tons possıveis de uma coluna. A soma destes tons constitui um

dos possıveis 16 dıgitos DTMF;

• Controle DC-DC (DC-DC Controller) - o si3217x integra um controlador de DC-DC,

que opera a partir de uma unica entrada DC positiva. O controlador gerencia dinami-

camente um circuito conversor DC-DC externo para gerar a tensao da bateria ideal para

cada estado de funcionamento; e

• Largura de banda do audio (Wideband Audio) - atraves de programacao e possıvel

fazer o si32179 operar em uma banda larga de audio (50 Hz–7 kHz) ou em uma bada

Page 34: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 33

estreita (200 Hz–3.4 kHz). O SLIC ainda permite uma taxa de amostragem de 16 kHz

16-bit para uma maior qualidade de audio, mantendo a compatibilidade de audio padrao

de telefonia. As amostras de audio sao transmitidos e recebidos na interface PCM usando

dois quadros consecutivos de 8 kHz.

Para programar todas as caracterısticas (features), a Silicon Laboratories disponibiliza um

software para testes do dispositivo e outro software para desenvolvimento das aplicacoes ne-

cessarias. Dessa forma, o desenvolvimento tem uma velocidade melhorada e com maior confi-

abilidade, ja que podem ser feitos testes em todos os blocos logicos e comparar com o desen-

volvimento proprietario.

Principais barramentos

O SLIC si32179 possui uma interface PCM e uma interface SPI. A interface PCM im-

plementa um barramento de audio, que possibilita a transferencia das amostras de audio ja

codificadas entre o SLIC e o host. A interface de controle SPI (slave) permite a configuracao

do SLIC atraves de um dispositivo master. E por meio da interface SPI que o host inicializa e

programa as funcoes do SLIC para que esse opere conforme desejado.

3.1.1 SPI

O metodo SPI utilizado no SLIC si32179 e o metodo 3 (CPOL = 1 e CPHA = 1), por meio

do qual o primeiro bit de dado (bit 7) e encaminhado para o barramento na primeira borda do

sinal de clock e amostrado na borda de subida. Quando nao ha atividade no barramento, o

Master coloca o sinal SCLK em nıvel logico 1 (um).

Para transmitir ou receber dados do SLIC, seja da random access memory (RAM) ou do

registrador (REG), e preciso antes enviar uma palavra de controle (byte CONTROL). Sua funcao

e descrita na tabela 3.1. O documento AN340.pdf, que esta protegido sob NDA 1, traz todas as

informacoes sobre os metodos de escrita e leitura do SLIC.

Alem da palavra de controle, e preciso indicar qual endereco, da RAM ou REG, sera afe-

rido. Para isso, logo apos enviar a palavra de controle, 1 byte e enviado, informando qual

o endereco da memoria ou do registrador sera escolhido. Assim, sao disponibilizados 256

possıveis enderecos para cada operacao. Outro byte que se faz uso e o dado propriamente dito.

No entanto, e possıvel enviar 1 ou 2 bytes e isso e feito enviando uma sequencia de 2 bytes

1NDA (Non-Disclosure Agreement) e um acordo de nao divulgacao

Page 35: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 34

Tabela 3.1: Byte CONTROL (Tabela cedida por cortesia pela Silicon Labs www.silabs.com).

7 BRDCST Este bit indica uma operacao em broadcast, ou seja, transmissao ourecepcao para todos os canais.

6 R/W Bit de leitura ou escrita: 0 = operacao de escrita; 1 = operacao de leitura.5 REG/RAM Bit de Acesso a RAM/REG: 0 = acesso a RAM; 1 = acesso ao REG.4:0 CID[4:0] Estes 5 bits indicam qual canal sera acessado.

apos ter sido enviada a palavra de endereco. As figuras 3.2, 3.3, 3.4 e 3.5 mostram exemplos de

operacoes utilizados pelo SLIC si32179:

Figura 3.2: Escrita no registrador com dado de 8 bits (Figura cedida por cortesia pela SiliconLabs www.silabs.com).

Figura 3.3: leitura no registrador com dado de 8 bits (Figura cedida por cortesia pela SiliconLabs www.silabs.com).

Figura 3.4: Escrita na RAM com dado de 16 bits (Figura cedida por cortesia pela Silicon Labswww.silabs.com).

Page 36: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 35

Figura 3.5: Leitura na RAM com dado de 16 bits (Figura cedida por cortesia pela Silicon Labswww.silabs.com).

3.1.2 PCM

Pulse Code Modulation (PCM) e a tecnica de modulacao por codigo de pulso, por meio

da qual os sinais analogicos sao codificados em taxas de 64 Kbps (ARAUJO; BRAGA, 2009).

Comumente, para a transmissao dos codigos obtidos mediante essa tecnica (pedacos da voz), e

utilizada a tecnica de transmissao (Time Division Multiplex) (TDM), que e a multiplexacao dos

dados em perıodos de tempo, denominados timeslots. Essa tecnica e largamente utilizada no

sistema telefonico (ROSA; BONATELLI, 2008).

Em todo sistema telefonico digital que faz uso do TDM e preciso inserir, pelo menos, duas

fontes de sincronismo. Uma para ditar a taxa de transferencia do sistema e outra para marcar o

inıcio de cada timeslot. A interface PCM utilizada no si32179 prove os padroes que os disposi-

tivos de telefonia usam na industria. Esses padroes sao descritos no documento AN340.pdf. A

documentacao especifica como a transferencia de dados e controladas, utilizando entradas dos

sinais de sincronismo PCLK e FSYNC e os sinais de dados DRXa e DTXa. O SLIC si32179

pode assumir algumas variantes, tanto nas taxas de transferencias quanto na forma de marcacao

de cada timeslot.

Sinais PCLK e FSYNC

O sinal PCLK e utilizado para especificar a taxa de transferencia do barramento PCM.

O SLIC si32179 pode operar com taxas a partir de 512 KHz, podendo ser incrementado em

potencias de 2 ate o valor de 8.192 MHz. Com essas especificacoes, a interface PCM pode

assumir de 4 ate 128 timeslots com 8 bits cada (Documentacao cedida por cortesia pela Silicon

Labs www.silabs.com).

As definicoes para o sinal PCLK sao configuradas por intermedio do registrador REG 11

(PCMODE), que define qual o modo PCM sera utilizado, que sao tres:

Page 37: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 36

• PCM utilizando a-law;

• PCM utilizando u-law; e

• PCM utilizando 16-bits linear.

Os registradores REG 12 e REG 15 (PCMTXHI/PCMTXLO e PCMRXHI/PCMRXLO) sao

responsaveis por determinar, para a interface FXS, em que posicao as amostras serao inseridas

no quadro PCM.

Para a interface FXO, e utilizado o registrador REG 33 para determinar qual modo PCM

(idem ao FXS). E para determinar em que posicao serao inseridas as amostras da interface FXO,

sao utilizados os registradores REG 34 e REG 37.

O sinal FSYNC atua sincronizado com o sinal PCLK, marcando o inıcio de cada quadro

no barramento PCM. Caso o sinal PCLK seja estipulado em 512 KHz, o sinal FSYNC pode

ser obtido por meio de 64 pulsos de PCLK. Como PCLK possui frequencia de 512 KHz, seu

perıodo e de 1,953125 us (1,953125 microsegundos). Por sua vez, como o FSYNC possui

frequencia de 8 KHz, seu perıodo e de 125 us (125 microsegundos). A quantidade de pulsos

pode ser mediante a equacao 3.1:

numeroPulsos =125×10−6

1,953125×10−6 => 64pulsos (3.1)

Para a avaliacao dos sinais PCLK e FSYNC, o REG 3 (MSTRSTAT) e responsavel por

indicar se os valores estao de acordo com a funcionalidade do SLIC. Segundo a documentacao

AN340.pdf, espera-se que contenha o valor 0x1F (0001 1111), o que indica que os valores

de PCLK e FSYNC gerados no barramento PCM estao corretos. Os bits do registrador estao

disponıveis na tabela 3.2 e devem ser observados os valores de D4 ate D0 (Documentacao

cedida por cortesia pela Silicon Labs www.silabs.com).

Tabela 3.2: Registrador MSTRSTAT (Tabela cedida por cortesia pela Silicon Labswww.silabs.com).

Bit D7 D6 D5 D4 D3 D2 D1 D0Nome PLL FAULT FS FAULT PCLK FAULT SRAN CLR PLL LOCK FS DETECT FS VALID PCLK VALIDTipo Sticky1 Sticky1 Sticky1 R R R R R

Sinais DRXa e DTXa

A transferencia das amostras de audio sao feitas pelos sinais DRXa e DTXa. Para receber

uma amostra de audio, e utilizado o sinal DRXa. Para se transmitir uma amostra de audio, e uti-

Page 38: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.1 Estrutura do SLIC si32179 37

lizado o sinal DTXa. Esses dois sinais sao compartilhados entre a interface FXS e FXO, sendo

alocados em um determinado pulso no sinal PCLK, conforme configuracao dos registradores

REG 12 (PCMTXLO) e REG 13 (PCMTXHI) para a interface FXS e REG 34 e REG 37 para a

interface FXO.

As formas de onda dos sinais descritos podem ser observadas nas figuras 3.6 e 3.7. A figura

3.6 mostra o metodo com um pulso curto do sinal FSYNC e a figura 3.7 15 mostra o metodo

com um pulso longo do sinal FSYNC.

Figura 3.6: Exemplo dos sinais PCLK, FSYNC, DRXa e DTXa de um timeslot, utilizando omodo Short FSYNC (Figura cedida por cortesia pela Silicon Labs www.silabs.com)

Figura 3.7: Exemplo dos sinais PCLK, FSYNC, DRXa e DTXa de um timeslot, utilizando omodo Long FSYNC (Figura cedida por cortesia pela Silicon Labs www.silabs.com)

Page 39: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 38

3.2 Kits de desenvolvimento si32179

Para iniciar o desenvolvimento do dispositivo si32179 e se inteirar das funcoes que ele

implementa, a Silicon Laboratories fornece dois kits de desenvolvimento o VMB2 REV 2.0

e Si32179BFB11SL0EVB. Esses dois kits podem atuar de forma conjunta ou separada. O

VMB2 REV 2.0 e uma placa mae com conectores para o kit Si32179BFB11SL0EVB e uma

interface USB, a qual permite a conexao a um computador e controle total do componente

si32179 utilizando um software disponibilizado pela empresa. O kit VMB2 REV 2.0 ainda

pode ser utilizado como uma simples fonte de energia para kit Si32179BFB11SL0EVB, isso

permite que o controle do si32179 seja efetuado por um controlador externo ligado nas portas

SPI e PCM do SLIC.

3.2.1 Estrutura

Ambos os kits tem funcoes importantes para os testes, o desenvolvimento e diagnosticos do

projeto. Entender como sua estrutura funciona, proporciona um melhor resultado na evolucao

final, alem de acelerar o processo de desenvolvimento.

Kit VMB2 REV 2.0

O kit VMB2 REV 2.0 e uma placa mae que pode atuar em dois modos:

• Placa mae - esse modo permite que um segundo kit seja integrado a ele. Assim e possıvel

o acesso ao SLIC sem a necessidade de um hardware gernerico para efetuar o controle; e

• Fonte de energia - esse modo e uma alternativa para fornecer os nıveis DC a um kit que

sera controlado por um hardware e software de terceiros.

Sao partes integrantes do kit, como mostra a figura 3.8:

• Interface USB - essa interface implementa a comunicacao entre a unidade de controle e

o computador portador do software que faz seu gerenciamento;

• Conector DC - fornece os nıveis DC para o kit hospedeiro no modo placa mae e no modo

fonte de energia;

• Conector SPI - permite a conexao fısica do barramento SPI para o kit hospedeiro no

modo placa mae;

Page 40: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 39

• Conector PCM - permite a conexao fısica do barramento PCM para o kit hospedeiro no

modo placa mae;

• Unidade de controle - responsavel pela comunicacao entre a interface USB e o compu-

tador portador do software que faz seu gerenciamento. Essa unidade faz uma interface

entre o software de desenvolvimento e os barramentos do kit que e hospedado por ele no

modo placa mae; e

• Conector fonte - conexao de entrada de nıvel DC 12 V 2A, que gera os nıveis de

alimentacao para o kit.

Figura 3.8: Kit de desenvolvimento da Silicon Laboratories VMB2 REV 2.0.

Kit Si32179BFB11SL0EVB

O kit Si32179BFB11SL0EVB e responsavel pela implementacao do circuito de telefonia, e

nele que esta disponıvel o SLIC si32179 e o circuito integrado si32919. Esse kit permite efetuar

a conexao de um hardware externo e controlar o si32179 por um software proprietario, isso o

torna o mais importante entre os kits. Ele dispoe de todas as conexoes fısicas para se ter acesso

aos barramentos do si32179, o que tambem torna facil a analise dos sinais individualmente.

O kit Si32179BFB11SL0EVB pode atuar em dois modos:

• Modo hospedeiro - esse modo permite kit VMB2 REV 2.0 faca o controle de suas

funcoes.

Page 41: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 40

• Modo Standalone - esse modo permite que o kit seja controlado por um hardware e um

software de terceiros.

Sao partes integrantes do kit, como mostra a figura 3.9:

• Conectores RJ-11 - fornece conexao fısica para a rede PSTN e terminal telefonico;

• Conector DC - recebe os nıveis DC fornecidos pela placa mae ou outra fonte quando

controlado por um hardware externo;

• Conector SPI - fornece conexao fısica do barramento SPI para o kit quando no modo

placa mae e/ou quando controlado por um hardware externo;

• Conector PCM - fornece conexao fısica do barramento PCM para o kit quando no modo

placa mae e/ou quando controlado por um hardware externo;

• Si32179 - SLIC responsavel pelas implementacoes de telefonia (interface FXS e interface

FXO);

• Si32919 - circuito integrado auxiliar para a implementacao da interface FXO;

• Pontas de prova - fornece conexoes de facil acesso a todos os sinais do barramento SPI,

barramento PCM, nıveis DC e conectores RJ-11.

Figura 3.9: Kit de desenvolvimento da Silicon Laboratories Si32179BFB11SL0EVB.

3.2.2 Software utilizados

Para auxiliar o desenvolvimento de sistemas que utilizam o si32179, a Silicon Laboratories

fornece junto aos kits dois softwares: O ProSLIC Voice GUI.3.4.0 e o Proslic api config tool.

Page 42: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 41

Cada um deles possui funcoes especıficas e sao exclusivos para o sistema operacional Win-

dows. Alem desses dois softwares de aplicacao, ha tambem o software driver CP210x, que e

responsavel por fazer a comunicacao do kit VMB2 REV 2.0 com computador, controlando a

interface USB que acompanha o kit VMB2 REV 2.0.

ProSLIC Voice GUI.3.4.0

O software ProSLIC Voice GUI.3.4.0 e parte integrante da plataforma de desenvolvimento

da Silicon Laboratories, sua finalidade e controlar o kit VMB2 REV 2.0 atraves de uma porta se-

rial emulada via USB. Com o software e possıvel ter acessos a todos os registradores e memorias

RAM do si32179. Tudo atraves de uma interface grafica amigavel, como pode ser observado

na figura 3.10.

Figura 3.10: Software ProSLIC Voice GUI.3.4.0.

Um script (Si32179FB.txt) de inicializacao correspondente ao SLIC utilizado e fornecido

junto ao software, ele torna possıvel uma facil inicializacao com algumas configuracoes ja de-

finidas. Apos a inicializacao a partir do script, o sistema permite uma sequencia de testes de

todas as features do si32179. Outra utilizacao do software e verificar se o kit esta operando

dentro das condicoes normais, alem de efetuar testes mais especıficos como:

• Checar circuito de ring;

• Gerar tons DTMF;

Page 43: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 42

• Identificar tons DTMF gerados a partir de um terminal;

• Medicoes de pulso;

• Geracao de sinais Frequency-shift keying (FSK);

• Configuracao do canal PCM;

• Alimentacao DC;

• Efetuar diagnosticos do sistema; e

• Ferramentas para manipulacao do audio.

A interface grafica traz na primeira tela, de forma organizada, os mnemonicos de todos os

registradores e memoria RAM, cada qual, com os respectivos valores tornando facil a compre-

ensao, em tempo real, do que ocorre no si32179 para cada acao tomada.

Proslic api config tool

Para o desenvolvimento de um projeto ter uma velocidade maior, o Proslic api config tool

pode atuar como acelerador. Ele permite, de forma organizada, configurar os valores iniciais

dos registradores e memoria RAM para aplicar ao SLIC.

Todas as caracterısticas do SLIC estao disponıveis em uma tela, como se fossem checklist,

onde cada configuracao e feita passo-a-passo, como pode ser observada na figura 3.11.

Apos editar os valores de cada item para uma aplicacao proprietaria, o Proslic api config tool

disponibiliza uma funcao capaz de gerar o codigo fonte para ser utilizado em um determi-

nado projeto. Os codigos fontes gerados sao na linguagem C e seguem a nomenclatura No-

meSclic constants.c, NomeSclic constants.h, vdaa constants.c, vdaa constants.h. Para ter uma

maior efecacia na utilizacao do Proslic api config tool, recomenda-se o estudo da Proslic Ap-

plication Programming Interface (API), ja que essa descreve como os blocos funcionais do

si32179 devem ser construıdos.

3.2.3 Proslic Application Programming Interface - (API)

Assim como outros grandes fabricantes de semicondutores, a Silicon Laboratories fornece

uma API de desenvolvimento para ser aplicada aos projetos de seus chips. A Proslic API e

um conjunto de padroes estabelecidos pela Silicon Laboratories, que estrutura a utilizacao das

caracterısticas do si32179 para o desenvolvimento de um software que ira controla-lo.

Page 44: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 43

Figura 3.11: Software Proslic api config tool.

A ideia da API definir uma camada de interface abstrata entre o codigo aplicativo do usuario

e os drivers de dispositivo especıfico ProSLIC, proporcionando ao usuario acesso total aos re-

cursos do dispositivo ProSLIC usando uma estrutura padrao. A figura 3.12 ilustra o modelo de

arquitetura da Proslic API.

Figura 3.12: Arquitetura Proslic API (Figura cedida por cortesia pela Silicon Labswww.silabs.com).

O fluxo de controle da estrutura Proslic API pode ser observada na figura 3.13, que traz um

exemplo da rotina de troca do estado do ring.

Page 45: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.2 Kits de desenvolvimento si32179 44

Figura 3.13: Arquitetura Proslic API (Figura cedida por cortesia pela Silicon Labswww.silabs.com).

ProSLIC API - Software de configuracao

A API ProSLIC utiliza as suas proprias estruturas de dados para manter a ligacao entre o

hardware do sistema e os drivers de dispositivo ProSLIC. Tres tipos de estrutura de dados deve

ser criado e inicializado para fornecer os drivers ProSLIC com essa ligacao hardware:

• Interface objeto de controle ProSLIC (controlInterfaceType):

– Fornece ponteiro void (vazio) para o controle do objeto;

– Fornece ponteiros de funcao aos recursos do sistema (reset, timers, SPI); e

– Uma instancia por interface de controle (ou seja, por chip select).

• Interface objeto do dispositivo ProSLIC (proslicDeviceType):

– Fornece ponteiro controle para interface objeto do dispositivo ProSLIC;

– Itens de informacoes especıficas do dispositivo ProSLIC (tipo, revisao); e

– Uma instancia fısica por dispositivo.

• Interface objeto do canal ProSLIC (proslicChanType):

– Fornece ponteiro para a interface objeto do canal ProSLIC;

– Armazena opcoes de status do canal (enable, error, BOM options); e

– Uma instancia por canal criado.

Page 46: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 45

ProSLIC - inicializacao do dispositivo

A ProSLIC API fornece chamadas de funcoes para realizar uma inicializacao basica do

dispositivo ProSLIC.

O driver inicia o dispositivo ProSLIC, executa todas as calibracoes obrigatorias, e imple-

menta todas as personalizacoes feitas e os parametros gerais de configuracoes.

ProSLIC - configuracao do dispositivo

O dispositivo ProSLIC pode ser configurado para atender os requisitos de concepcao do

utilizador apos que sua inicializacao se complete.

A API ProSLIC fornece chamadas de funcao para carregar “presets”do usuario, que sao

gerados usando a ferramenta de configuracao API ProSLIC.

A API ProSLIC permite funcoes que podem ser chamadas a qualquer momento apos a

inicializacao do dispositivo, dessa forma ela permite que, dinamicamente, o dispositivo possa

atender as necessidades de aplicacao.

ProSLIC - controle do dispositivo

Uma vasta biblioteca de funcoes de controle sao definidos na API ProSLIC para simplificar

o controle de aplicacao do dispositivo ProSLIC conjunto de recursos ricos. Esta biblioteca

permite ao usuario implementar funcoes de telefonia padrao com pouca sobrecarga do software

pelo desenvolvedor.

Alem dessas especificacoes citadas, a Proslic API tambem descreve como o software Pros-

lic api config tool pode ser melhor aproveitado

3.3 Estrutura do LPC-1768

O LPC-1768 e um microcontrolador de 32 bits fabricado pela NXP, baseado na tecnologia

Reduced Instruction Set Computer (RISC), que surgiu com a uniao de forcas da Acorn Cumpu-

ter Groupe, VLSI Technology Inc. e a Apple Computer onde deu origem a ARM Ltd. Dessa

uniao criou-se a arquitetura Acorn RISC Machine, mais tarde batizada de Advanced RISC Ma-

chine (ARM-TM) (MIYADAIRA, 2012). A tecnologia ARM e utilizada em uma grande va-

riedade de aplicacoes, como telefones celulares, roteadores, sistemas de trava para veıculos,

Page 47: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 46

aparelhos MP3, cameras, driver de HD, TV digital e varios outros equipamentos.

Microcontroladores com tecnologia ARM, possuem um nucleo com processadores da famılia

Cortex-A (A5, A7, A8, A9 e A15), que e a famılia aplicacao, famılia Cortex-M (M0, M0+, M1,

M3 e M4), que e a famılia microcontrolador, e a famılia Cortex-R (R4 e R5), que e a famılia

tempo real (MIYADAIRA, 2012). O LPC-1768 e baseado nos processadores Cortex-M3 e as

principais caracterısticas desses processadores sao:

• Enderecamento de memoria fixo de 4 GB;

• Bit-banding;

• Arquitetura Load/Store (carga/armazenamento);

• Conjunto de instrucoes Thumb-TM2;

• Pipeline de tres estagios e uma unidade de pre-busca (prefetch);

• Multiplicador de 32 bits x 32 bits;

• SysTick timer;

• Non-Maskable Interrupt (NMI);

• Nested Vectored Interrupt Controller (NVIC);

• Memory Protection Unit; e

• Modos de operacao do processador. Thread mode ou Handler mode

O LPC-1768 e constituıdo de uma CPU com frequencia maxima de 100 MHz de operacao.

Ainda dispoe de uma memoria flash com 512 KB e uma Static Random Access Memory (SRAM)

de 64 KB. Ao todo sao 70 pinos de entrada/saıda para uso em aplicacoes gerais e interfaces de

controle e transferencia como Ethernet, USB, SPI, PWM, entre outras.

3.3.1 Cortex-M3

De maneira geral, ARM Cortex-M3 e um microprocessador de 32 bits, que oferece alto

desempenho com um baixo consumo de energia. O ARM Cortex-M3 oferece muitos recur-

sos, incluindo um conjunto de instrucoes Thumb-2, estado automatico para salvar e restaurar

interrupcoes, controlador de interrupcao totalmente integrado com controlador de interrupcao

de wake-up, e varios barramentos centrais com acessos simultaneos.

Page 48: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 47

No ARM Cortex-M3 e empregada tecnicas de canalizacao de modo que todas as partes dos

sistemas de processamento e de memoria pode operar continuamente. Normalmente, quando

uma instrucao esta sendo executado, o seu sucessor esta sendo decodificado, e uma terceira

instrucao esta sendo obtido a partir da memoria.

Organizacao do nucleo

Pensando em simplificar a portabilidade/reaproveitamento de codigo entre processadores

da serie Cortex-M, a empresa ARM Ltd. estabeleceu uma camada de software padronizada, de-

nominada Cortex Microcontroller Software Interface Standard (CMSIS) visıvel na figura 3.14.

Figura 3.14: Estrutura basica da CMSIS (MIYADAIRA, 2012).

A CMSIS pode ser dividida nas seguintes camadas:

• Camada de acesso aos perifericos do processador;

• Camada de acesso aos perifericos do microcontrolador; e

• Camada de acesso middleware.

O nucleo do Cortex-M3 traz um barramento Multi-layer AHB Matrix e um Advanced

Peripheral Bus. O AHB-Matrix constitui em um barramento de alto desempenho entre as

memorias SRAM e FLASH e a CPU. Ja o APB, faz o barramento dos perifericos com o AHB-

Matrix e, apesar do APB ser um barramento de 32 bits, permite que alguns perifericos atuem

com menos de 32 bits, dependendo da necessidade de cada periferico, por exemplo, o periferico

DAC, que atua com 10 bits, os dois barramentos sao ilustrados na figura 3.15.

Page 49: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 48

Figura 3.15: Diagrama de bloco do ARM Cortex-M3 (NXP, 2015a).

Organizacao da memoria

Os processadores ARM Cortex-M3 possuem um espaco de enderecamento de memoria fixo

de 4 GB (MIYADAIRA, 2012), conforme ilustado na figura 3.16.

O mapeamento de memoria esta dividido em sete regioes, sendo:

• Codigo (Code): Regiao da memoria onde o programa e normalmente armazenado, contem

512 MB;

• SRAM (SRAM): Regiao da memoria onde os dados volateis sao armazenados. Esta

regiao suporta o bit-banding (tecnica que permite ao processador acessar um bit direta-

mente), contem 512 MB;

• Periferico (Peripheral): Regiao da memoria onde os registros dos perifericos do micro-

controlador estao localizados. Esta regiao suporta o bit-banding, contem 512 MB;

• RAM externa (External RAM): Regiao da memoria dedicada ao acesso da memoria

RAM externa, contem 1 GB;

• Dispositivo externo (External Device): Regiao da memoria dedicada ao acesso de dis-

positivos externos, contem 1 GB;

• Barramento de periferico particular (PPB - Private Peripheral Bus): Regiao da memoria

que contempla o barramento PPB, contem 1 MB; e

Page 50: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 49

Figura 3.16: Mapa de memoria do processador ARM Cortex-M3 (MIYADAIRA, 2012).

• Sistema (System): Regiao da memoria especıfica para aplicacoes do fabricante, contem

511 MB.

O LPC-1768 e capaz de manipular dados de 8 bits (byte), 16 bits (half-word) e 32 bits

(word), ja que tem uma visao da memoria como um conjunto linear de bytes numerados de

forma ascendente (MIYADAIRA, 2012).

Conjunto de instrucoes

A tecnologia Thumb-2 possui novas instrucoes de 32 bits e, ao mesmo tempo integra a

antiga tecnologia Thumb. O uso dessa tecnologia torna desnecessario o uso do interworking,

pois permite num so modo instrucoes de 16 bits e 32 bits, tornando possıvel gerar codigos sem

alterar a performance (MIYADAIRA, 2012). O interworking e uma tecnica que subdivide o

codigo entre ARM e Thumb, para se obter uma alta densidade de codigo sem comprometer a

performance. Por sua vez, Thumb e um subconjunto de instrucoes ARM de 32 bits compri-

midas em 16 bits, e depois que essas instrucoes entram em execucao sao descomprimidas em

instrucoes ARM.

Page 51: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 50

3.3.2 Serial Peripheral Interface

O LPC-1768, traz uma interface Serial Peripheral Interface (SPI) nativa. Essa interface e

massivamente utilizada nos estudos para o desenvolvimento do dispositivo de telefonia, por isso

ela tem destaque dentre as outras.

A SPI, interface desenvolvida pela Motorola, e um sistema serial sıncrono que utiliza uma

alta taxa de transferencia e barramento full-duplex. Nessa interface, o barramento suporta um

dispositivo Master ativo, que pode ser empregado por um microcontrolador ou um microproces-

sador. Alem do Master, o barramento pode assumir varios Slaves, que sao perifericos em geral.

O barramento e composto por quatro linhas de comunicacao (MIYADAIRA, 2012), sendo elas:

• SCLK: Slave - entrada de sinal de clock; Master - saıda de sinal de clock;

• MOSI: Slave - entrada de dados; Master - saıda de dados;

• MISO: Master - entrada de dados; Slave - saıda de dados;

• SS: Slave - entrada de selecao do periferico; Master - saıda de selecao de periferico.

Figura 3.17: Barramento SPI (MIYADAIRA, 2012).

Essa interface e amplamente utilizada em uma infinidade de perifericos, sendo aplicada

em conversores A/D e D/A, memorias, expansores de pinos I/O, Real Time Clock’s (RTC),

gravadores e reprodutores de som, entre outros.

Page 52: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 51

Princıpio de funcionamento

Uma comunicacao e estabelecida na interface SPI quando o dispositivo Master forca o sinal

de entrada SS de um determinado Slave para o nıvel logico 0 (nıvel logico baixo).

Assim que o sinal SS de um Slave vai para nıvel logico 0, os dados armazenados nos shift

registers (registradores de deslocamento) sao transferidos entre eles bit a bit a cada pulso de

clock aplicado no sinal SCLK. A transmissao ocorre do bit MSB para o LSB.

Assim que o ultimo bit de dado e transferido, o dispositivo Master pode realizar uma nova

transmissao. Caso nao se queria transmitir mais dados, o Master deve forcar o pino SS para o

nıvel logico 1 (nıvel logico alto) (MIYADAIRA, 2012).

A figura 3.18 mostra um exemplo de como os registradores shift registers operam e como

ocorre a transferencia de dados.

Tipos de conexoes

O barramento SPI suporta quatro tipos de conexoes diferentes. Uma vez escolhido o metodo

pelo Master, todos os outros dispositivos (Slaves), devem utilizar o mesmo metodo. Dois bits

sao responsaveis pela escolha do metodo:

• Clock Polarity (CPOL): define a configuracao da polaridade; e

• Clock Phase (CPHA): define a configuracao da fase.

3.3.3 Interface USB

O controlador USB do LPC-1768 suporta uma interface 2.0 full-speed com os modos de-

vice, host e On-The-Go (OTG), com controlador DMA e PHY dedicado no chip para o device,

host e as funcoes OTG. Esse controlador de dispositivo permite uma comunicacao numa taxa de

12 Mbit/s de dados com um controlador USB host. O controlador consiste de uma interface de

registro, um engine (motor) de interface serial, memoria buffer de endpoint, e um controlador

de DMA.

O engine de interface serial decodifica o fluxo de dados USB e grava dados para o buffer

de endpoint apropriado. O status de uma condicao de transferencia USB ou de erro concluıda e

indicado atraves dos registos de estado. Uma interrupcao tambem e gerada caso seja habilitado.

Assim que ativado, o controlador de DMA transfere dados entre o buffer de endpoint e SRAM.

Page 53: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 52

Figura 3.18: Transferencia de um dado de 8 bits (MIYADAIRA, 2012).

Page 54: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 53

Features

Sao caracterısticas da interface USB do LPC-1768:

• Totalmente compatıvel com a especificacao USB 2.0 full speed;

• Suporta 32 (16 logicas) endpoints fısicos com um 4 kB de buffer endpoint/RAM;

• Suporta endpoints com os metodos Control, Bulk, Interrupt e Isochronous;

• Realizacao escalavel de endpoints em tempo real;

• Selecao de tamanho maximo do pacote do endpoint (ate especificacao maxima USB) por

software em tempo real;

• Suporta recursos SoftConnect e GoodLink;

• Enquanto USB esta no modo de suspensao, permite entrar no modo baixo consumo e ser

ativado sobre qualquer atividade na USB;

• Permite a comutacao dinamica entre o slave controlado pela CPU e os modos DMA; e

• permite a implementacao debuffer duplo para endpoints bulk e isochronous.

Sugestao de implementacao para a interface USB

A NXP sugere um circuito para aplicacoes onde sera implementa uma interface USB device,

conforme ilustrado na figura 3.19. Esse barramento so se aplica nos casos onde o cabo do host

(PC, por exemplo) fornece a energia para o circuito.

Figura 3.19: Barramento USB para o modo device (NXP, 2015b).

Page 55: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 54

3.3.4 Outros perifericos

Alem dos perifericos destacados nas sessoes 3.3.2 e 3.3.3, o microcontrolador LPC-1768

dispoe de outras possıveis interfaces que poderiam ser aplicadas a esse projeto. Elas poderiam

flexibilizar o desenvolvimento, tornando possıvel a utilizacao de outros dispositivos comerci-

ais alem do si32179 e, tambem, facilitar o desenvolvimento de alguns barramentos para esse

projeto, como e o caso da interface Pulse Width Modulation (PWM). Alguns perifericos que

podemos citar:

• Inter-Integrated Circuit (I2C);

• Pulse Width Modulation (PWM); e

• Ethernet.

Inter-Integrated Circuit (I2C)

O LCP-1768 possui 3 interfaces I2C. Essa e uma interface serial sıncrona que suporta

multiplos master, desenvolvida pela Philips Semiconductors para simplificar a troca de informacoes

entre circuitos integrados, ja que possui em seu barramento, apenas duas linhas de comunicacao,

uma de dados bidirecional (SDA) e outra para o sinal de clock (SCL).

Cada dispositivo e reconhecido por um endereco unico e pode operar tanto como um dis-

positivo so de receptor (por exemplo, um controlador de LCD) ou um transmissor com a capa-

cidade de receber e enviar as informacoes (como memoria).

Caracterısticas da interface I2C do LPC-1768:

• Suporta taxas de ate 1 Mbit/s no fast mode;

• Facil configuracao para o master mode, slave mode e/ou master mode/slave mode;

• Transferencia bidirecional de dados entre master e slave;

• Barramento multi master (nenhum master central);

• Sincronizacao do clock serial permite que dispositivos com diferentes taxas de bits se

comuniquem atraves do mesmo barramento de dados;

• Sincronizacao do clock serial pode ser usado como um mecanismo de handshake para

suspender e retomar a transferencia de dados; e

• O barramento I2C pode ser utilizada para fins de teste e de diagnostico.

Page 56: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.3 Estrutura do LPC-1768 55

Pulse Width Modulation (PWM)

PWM e a tecnica de modulacao por largura de pulsos em que se aplica o controle de

potencia entregue em uma determinada carga. O princıpio de seu funcionamento e chavear

a tensao de alimentacao entre dois estados, ligado e desligado, durante um perıodo de tempo

previamente configurado.

O sinal PWM pode ser utilizado em uma infinidade de aplicacoes, como controle de lumi-

nosidade, controlar a temperatura de uma determinada resistencia para se atingir o aquecimento

desejado, geracao de audio e controlar a velocidade de motores.

O microcontrolador LPC-1768, possui um modulo PWM, com sete registros de comparacao,

capaz de gerar ate seis sinais PWM controlados por uma unica borda ou tres sinais controlados

por duas bordas. Um exemplo de aplicacao para esse projeto, e a implementacao dos sinais para

o barramento PCM que contempla o SLIC si32179 visto na sessao 3.1.2.

Ethernet

O bloco Ethernet contem uma featured Ethernet completa de 10 Mbit/s ou 100 Mbit/s pro-

jetada para fornecer desempenho otimizado atraves do uso da aceleracao de hardware DMA.

As features incluem um conjunto generoso de registros de controle para operacao half ou full

duplex, controle de fluxo, quadros de controle, aceleracao de hardware para transmissao de

repeticao, receber a filtragem de pacotes e wake-up sobre a atividade LAN (WoL).

O bloco Ethernet e a CPU compartilham o ARM Cortex-M3 D-code e o barramento do

sistema atraves da matriz multicamadas AHB, assim os dados Ethernet podem acessar varios

blocos SRAM do chip, controle e informacoes de status.

Caracterısticas da interface Ethernet do LPC-1768:

• Suporte aos padroes Ethernet:

– Camada fısica com 10 Mbit/s ou 100 Mbit/s, incluindo 10 Base-T, 100 Base-TX,

100 Base-FX e 100 Base-T4;

– Completamente compatıvel com o padrao IEEE 802.3;

– Completamente compatıvel com controle de fluxo 802.3x full duplex;

– Transmissao e recepcao flexıvel de opcoes de frame; e

– Suporte a frames para Virtual Local Area Network (VLAN).

Page 57: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 56

• Gerenciamento da memoria:

– Buffers independentes de transmissao e recepcao para compartilhar o mapeamento

de memoria SRAM; e

– Trafego de memoria otimizada por buffering and pre-fetching.

• Caracterısticas reforcadas do Ethernet:

– Filtro recepcao;

– Suporte a quadros multicast e broadcast para transmissao e recepcao;

– Quadro com Frame Check Sequence (FCS) opcional com insercao automatica de

Cyclic Redundancy Check (CRC) para transmissao;

– Preenchimento automatico de quadro de transmissao opcional;

– Modo de recepcao promıscua;

– Colisao automatica back-off e estrutura de retransmissao; e

– Inclui gerenciamento de energia por troca de clock; e

– O suporte ao WOL com o gerenciamento de energia permite que o sistema seja

ativado remotamente: usando os filtros de recepcao ou um filtro de deteccao de

magic frame.

Com o uso de uma interface Ethernet, pode-se obter diagnosticos do LPC-1768 e do si32179

remotamente. Com o auxılio do protocolo Simple Network Management Protocol (SNMP), o

sistema pode ser monitorado e ate poder ter algumas configuracoes modificadas em tempo de

execucao. Isso possibilita a manutencao, gerenciamento e coletas de diagnosticos de forma

mais simples e organizada de varios dispositivos simultaneamente.

3.4 Kit de desenvolvimento LPC-1768

A NXP junto com o um projeto denominado MBED fornecem kits de desenvolvimento com

a arquitetura Cortex-M, com varios modelos de microcontroladores. Em particular, para esse

projeto foi estudado o kit MBED LPC-1768. Esse kit e de facil acesso, sem a necessidade de

efetuar acordos de uso e restricoes de documentacao. Um dos pontos fortes para uso desse Kit

e que existe varios exemplos de codigos disponibilizados em uma comunidade on-line mantida

pelo projeto MBED.

Page 58: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 57

Um recurso interessante do Kit e a possibilidade de utilizar sua interface de integracao

com o computador. Esse recurso permite a facil gravacao do firmware, sem a necessidade de

nenhum gravador especial ou interface Joint Test Action Group (JTAG). Quando plugado em

uma interface USB, esse torna uma unidade de disco removıvel como um pendrive. Basta entao

copiar o firmware gerado pela plataforma MBED (arquivo .bin) para a sua unidade de disco

removıvel. Podemos visualizar o Kit na figura 3.20.

Figura 3.20: Kit de desenvolvimento MBED LPC-1768 (NXP, 2015a).

3.4.1 Estrutura

O objetivo nessa sessao e relatar algumas caracterısticas do Kit de desenvolvimento. Quais

os principais componentes, seu sistema de funcionamento, tambem e feito uma visao geral de

quais sistemas fazem suporte para ele. Com isso, teremos ciencia da melhor forma de utiliza-lo.

Componentes

O Kit MBED LPC-1768 esta munido de um microcontrolador LPC-1768 ARM Cortex-M3,

com uma serie de perifericos e facilidades de desenvolvimento.

Ele traz um conector USB tipo B femea e 40 pinos mapeados para variadas aplicacoes.

Esses compatıveis com todos os codigos disponıveis na plataforma de desenvolvimento MBED,

podendo migrar de um kit para outro com facilidade (inclusive para outro fabricante que nao

seja a NXP).

Alem dos 40 pinos o kit contempla 5 LEDs, um para indicar o funcionamento desse e outros

quatro para uso de aplicacoes gerais.

Page 59: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 58

Ele contem um controlador (mbed interface) responsavel pelo gerenciamento do kit que

faz a interface entre o microcontrolador LPC-1768 ARM Cortex-M3 e a interface USB. Esse

controlador e responsavel pelo gerenciamento da unidade de disco removıvel e tambem e res-

ponsavel por aplicar o firmware para a memoria flash do LCP-1768.

Funcionamento

Para que o firmware fique atuante no microcontrolador LPC-1768 ARM Cortex-M3 e pre-

ciso pressionar um botao do tipo push button disponıvel na parte superior e centralizada do

kit. Apos pressionar o botao, o microcontrolador responsavel pelo gerenciamento do kit ve-

rifica o primeiro arquivo binario disponıvel (considera-se a ordem alfanumerica) na unidade

removıvel e o envia para a memoria flash do LPC-1768. Uma vez pressionado o botao, entrara

em producao. Essa caracterıstica o torna muito atrativo, ja que em pouco tempo podemos ter

um firmware funcional, basta apenas pressionar um botao.

Como a comunicacao do kit e feita puramente sobre a interface USB com o sistema de

desenvolvimento, sem a necessidade de uma interface especializada como uma interface JTAG,

podemos fazer uso de variados sistemas operacionais. O desenvolvimento poder ser inicializado

em qualquer plataforma Windows que de suporte a interface USB, passar com plena compatibi-

lidade por um sistema Mc-OS e, por fim, terminar o desenvolvimento em sistemas operacionais

Linux. Ainda podemos facilmente utilizar Tablets que deem suporte a uma interface USB host.

O que permite o desenvolvimento ate mesmo em uma praca no centro da cidade.

Alimentacao

Apesar do kit dispor de entradas especificas de alimentacao DC (GND e VIN), ele faz

uso da alimentacao disponıvel na propria interface USB. Assim o kit dispensa o uso de fontes

especıficas e externas.

3.4.2 Biblioteca NXP

Para o desenvolvimento de aplicacoes utilizando o LPC-1768, a NXP disponibiliza uma

biblioteca de desenvolvimento. Uma das caracterısticas da biblioteca NXP e o uso de codigo

aberto projetado para rodar em todos os microcontroladores USB LPC da NXP. Ela e oferecida

gratuitamente a todos os clientes NXP. A biblioteca NXP dispoe das seguintes features:

• Controladores suportados:

Page 60: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 59

– Full speed, controlador no modo device (buffers dedicados);

– Full speed, controlador no modo device e no modo host (buffers compartilhados); e

– High speed, controlador no modo device e no modo host.

• Tipos de padroes de transferencia:

– Control;

– Bulk;

– Interrupt; e

– Isochronous.

• Ferramentas suportadas:

– Keil uVision 4; e

– LPCXpresso 4.

• Placas suportadas

– LPCXpresso LPC11U14, LPC176x e placa base Rev B;

– Hitex LPC1850/4350 Evaluation Board (rev A4);

– NGX LPC4330-Xplorer;

– Element 14 LPC4350 Gaming Board; e

– Embedded Artists.

• Exemplos incluıdos

– Dispositivos e hosts de audio;

– Teclados;

– Dispositivos de armazenamento;

– Dispositivos de apontadores (mouse;

– Dispositivos VCOM; e

– A biblioteca nao possui suporte a hub.

• ROM drivers

– HS: LPC1800, LPC4300; e

– FS: LPC11U00, LPC1300.

Page 61: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 60

Para o desenvolvimento de um projeto usando a biblioteca NXP, e necessario ter um Am-

biente de Desenvolvimento Integrado (IDE, do ingles Integrated Development Environmen)

especıfica. O desenvolvimento fica restrito a um ambiente de trabalho com a necessidade de

efetuar backups em varios locais (para garantir a integridade dos dados). Caso haja a neces-

sidade de migrar de ambiente de trabalho e necessario que o projeto seja migrado de alguma

forma, ou via armazenamento portatil ou por meio de downloads.

Para a gravacao do firmware na memoria do microcontrolador ha a necessidade de gravador

especial ou interface Joint Test Action Group (JTAG). O qual faz a conexao para o acesso a

memoria flash do microcontrolador, e assim por o firmware em producao.

Apesar de completa a biblioteca e complexa e densa. O uso da biblioteca requer um estudo

aprofundado de baixo nıvel, o que torna o desenvolvimento demorado. O simples fato de pre-

cisar estudar como configurar as funcoes de cada pino, seja de entrada ou saıda de uso geral ou

de uma caracterıstica mais especıfica como uma interface SPI, torna o processo moroso.

3.4.3 Projeto MBED

MBED e uma plataforma de desenvolvimento (FrameWork) em nuvem e foi iniciada por

dois funcionarios da ARM. A plataforma foi inspirada e desenvolvida para trabalhar com micro-

controladores Advanced RISC Machine (ARM) de varios fabricantes como NXP, SMT, Nordic,

entre outros 2. Sua interface oferece um excelente ambiente de trabalho, amigavel e confiavel,

e oferece um editor de texto preparado para a linguagem C e C++, ja com compilador, tudo isso

on-line e sem custos.

Para poder utilizar o FrameWork e preciso criar uma conta disponıvel em sua pagina 3.

Todo o acesso aos servicos e oferecido gratuitamente, bastando fazer o ingresso em seu portal.

A partir do ingresso, o usuario podera escolher o kit de desenvolvimento e criar um projeto para

iniciar a programar. Alem do ambiente de trabalho, e oferecida e mantida uma comunidade com

varios exemplos de aplicacoes para todos os kits disponıveis. A plataforma pode ser observada

na figura 3.21, que traz a tela principal.

Flexibilidade

A plataforma, por ser apoiada em um sistema computacional em nuvem, proporciona uma

poderosa flexibilidade. Qualquer sistema operacional que possua navegacao na internet e um

2https://developer.mbed.org/platforms/3https://developer.mbed.org

Page 62: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 61

Figura 3.21: Ambiente MBED, tela principal.

potencial sistema para poder utilizar o MBED, sem a necessidade de instalacao de pacotes

extras. O usuario pode iniciar seu projeto em um sistema Linux e termina-lo projeto em um

sistema Windows, sem que precise instalar ou migrar qualquer codigo fonte.

Tambem e possıvel migrar para um hardware diferente, caso o mercado ofereca um outro

por um valor mais acessıvel. Para migrar de uma plataforma para outra, o FrameWork dispoe

de acesso facil a migracao. A figura 3.22 ilustra como se pode alternar facilmente entre plata-

formas.

Programacao facilitada

O projeto MBED prove classes em linguagem C++ que permitem criar objetos especıficos

para as variadas aplicacoes que os kits dispoe. Essas classes fazem uma abstracao ao acesso de

baixo nıvel. A implementacao de uma interface SPI, por exemplo, pode ser feita totalmente em

alto nıvel, ficando para as classes disponıveis no projeto MBED, a responsabilidade de fazer as

configuracoes dos registradores competentes para cada aplicacao.

Nao se preocupar com detalhes de baixo nıvel em um microcontrolador, pode acelerar o

desenvolvimento de uma aplicacao, ja que o estudo de bibliotecas especıficas sao densas e,

muitas vezes complexas, com poucos exemplos e suportes para o desenvolvedor.

Page 63: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.4 Kit de desenvolvimento LPC-1768 62

Figura 3.22: Ambiente de escolha da plataforma.

Confiabilidade

Por se tratar de uma plataforma computacional em nuvem, nao ha a necessidade de salvar

projetos em disco local. Todos os projetos ficam disponıveis em um ambiente virtual. Caso

ocorra algum sinistro no ambiente de trabalho, todo o projeto pode ser rapidamente acessado

em outra maquina de trabalho ıntegra, sem que seja preciso instalar qualquer ferramenta de

desenvolvimento ou backup.

3.4.4 Discussao

Apos os estudos dos componentes e das ferramentas de desenvolvimento, se fez necessario

uma discussao sobre esses.

SLIC Microsemi versus SLIC Silicon Laboratories

Ja no primeiro momento, tomou-se de partida os estudos da famılia de SLICS da Silicon

Laboratories, especificamente o si32179. Isso devido a uma pequena pesquisa de mercado.

Em um primeiro contato via e-mail com um representante da Microsemi (ANEXO A) foi de-

clarado que o SLIC VE8911 contemplado com a porta FXO tem problemas. O representante

confirmou que houveram varios relatos de problemas em campo. Dessa forma, a decisao mais

conservadora foi optar pelo si32179 da Silicon Laboratories.

Page 64: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

3.5 Conclusao 63

Biblioteca NXP versus Projeto MBED

Mesmo sendo uma biblioteca completa, a biblioteca NXP deixou de ser uma opcao apos o

estudo do projeto MBED. Para se conseguir um resultado eficaz com a biblioteca NXP, seria

necessario investir muitas horas de estudo em relacao ao projeto MBED. O projeto MBED

se mostrou uma opcao simples e com todos os recursos necessarios as implementacoes desse

projeto.

Alem da vantagem de ser uma coletanea facil e completa para a implementacao do dis-

positivo de telefonia, o projeto MBED pode ser utilizado com kits que dispensam o uso de

interfaces JTAG, o que torna mais pratico o desenvolvimento. Alem disso, a migracao para um

dispositivo suportado pelo MBED e muito simples, desde que o hardware suporte os requisitos

da aplicacao e aplicacao utilize somente as abstracoes providas pelo framework. Por exemplo,

para migrar do LPC-1768 (Cortex-M3) para o LPC11U24 (Cortex-M0) e necessario poucos cli-

ques no ambiente de desenvolvimento e a aplicacao e compilada para o novo controlador. Como

o LPC11U24 suporta USB Isochronous, um dos requisitos de hardware mais complexos, e SPI,

ele se tornaria um forte candidato para ser o componente utilizado na producao, apos uma fase

de otimizacao do sistema, na procura por corte de custos.

3.5 Conclusao

Nesse capıtulo se efetuou um estudo especıfico sobre quais componentes e kits serao uti-

lizados para contemplar uma futura interface de telefonia. O objetivo era conhecer o funcio-

namento e caracterısticas sobre os dois principais componentes, que sao o SLIC si32179 e o

microcontrolador LPC1768.

Alem de conhecer os dispositivos, o capıtulo tinha o escopo de avaliar o ambiente de de-

senvolvimento fornecido pela Silicon Laboratories, a fim de poder iniciar os estudos praticos

com o SLIC.

Tambem foi feita uma discussao sobre a possibilidade de se utilizar a biblioteca NXP ou o

Projeto MBED. Atraves dessa discussao, pode-se perceber que o uso do Projeto MBED seria

uma alternativa atrativa, devido sua caracterıstica de abstracao de acesso aos recursos de baixo

nıvel do microcontrolador.

Com esses estudos, pode-se concluir o que e necessario para se por em pratica a implementacao

dos blocos logicos do firmware e a arquitetura do projeto logico. Este vem na sequencia, no

proximo capıtulo.

Page 65: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

64

4 Arquitetura e Projeto Logico

Esse capıtulo destina-se a demonstrar possıveis arquiteturas de sistemas que podem ser

implementados com o dispositivo de telefonia, alem do projeto logico de hardware.

4.1 Arquitetura dos Sistemas

O Projeto de Interface de Telefonia Analogica USB para sistemas VoIP foi pensado para

atender pequenos sistemas de integracao da rede de telefonia publica com a rede IP. Mesmo

que seja um equipamento pequeno, o projeto pode atender e abranger variadas situacoes de uso,

potencializando o uso de sistemas telefonicos analogicos e dando mais liberdade para novas

aplicacoes.

4.1.1 Sistema Basico

A arquitetura do “Sistema Basico” pode ser observado na figura 4.1. Nessa arquitetura e

apresentada uma forma simplificada de uso, essa e a forma mais basica de aproveitamento do

sistema. O aproveitamento dessa arquitetura e apenas por funcoes locais, como fazer uso do

correio de voz da central telefonica IP, unidade de resposta audıvel (URA), agenda, gravacao

de ligacoes, tarifacao, etc. Mesmo que sejam funcoes simples, temos nessa arquitetura uma

potencial forma de utilizacao.

Figura 4.1: Arquitetura sistema Basico.

Page 66: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

4.1 Arquitetura dos Sistemas 65

4.1.2 Sistema de utilizacao de recursos externos

Uma outra arquitetura que pode ser observada e a “Sistema de utilizacao de recursos ex-

ternos”, conforme pode ser vista na figura 4.2. Alem de contemplar o mesmo proposito que a

arquitetura “Sistema Basico”, e possıvel incrementar o uso do sistema. Todas as funcoes agora

podem ser usufruıdas externo ao ambiente local.

Um usuario com acesso a internet, pode obter os recursos do seu sistema telefonico remo-

tamente. Assim duas novas funcoes foram inseridas ao sistema:

• Funcao 1: - mesmo que fora de sua residencia a linha telefonica esta disponıvel para

efetuar ou receber ligacoes, visto que a interface FXO integra a PSTN a rede IP.

• Funcao 2: - tambem e possıvel efetuar uma ligacao para o terminal telefonico ligado a

interface FXS, o que caracteriza uma ligacao gratuita.

O que, do ponto de vista economico, torna o sistema muito atrativo com essas duas novas

funcoes. Alem de poder atender ligacoes destinadas a sua residencia em qualquer local que haja

acesso a internet.

Figura 4.2: Arquitetura do sistema de utilizacao de recursos externos.

.

4.1.3 Sistema de utilizacao de compartilhamento de recursos

A arquitetura “Sistema de utilizacao de compartilhamento de recursos” vem a ser o sistema

mais completo, conforme ilustra a figura 4.3. Nesse tipo de sistema pode-se operar com todas

as facilidades dos sistemas anteriores.

Page 67: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

4.2 Projeto Logico do Hardware 66

O que diferencia nessa arquitetura e o atributo de poder compartilhar recursos. Com uma

integracao entre varias centrais telefonicas IP utilizando a internet, os recursos do sistema te-

lefonico podem ser compartilhados, um vez que as interfaces de telefonia nas extremidades dao

subsıdios ao acesso a PSTN. Para que o compartilhamento ocorra, e preciso que um agente

faca o controle dos acessos e gerenciamento dos recursos. O atual trabalho permite que essa

integracao seja feita com maior facilidade, agilidade e com reducoes de custos, pois o projeto e

caracterizado pelo seu sistema simples, barato, no nıvel de usuario e de facil instalacao.

Figura 4.3: Arquitetura sistema de utilizacao de compartilhamento de recursos.

4.2 Projeto Logico do Hardware

Nessa etapa foram definidos os componentes do sistema levando em consideracao os requi-

sitos da plataforma proposta. A parte circulada na figura 4.4 demonstra, de maneira simplifi-

cada, um diagrama do sistema proposta pelo projeto. O SLIC faz a interface com a PSTN e com

o aparelho telefonico ao sistema. O microcontrolador controla a inicializacao e configuracao do

SLIC, cria uma interface de controle (ex.: sinalizacao da interfaces) e uma interface de dados

(voz digitalizada) via USB para inteiracao com o driver. O driver, por sua vez, disponibiliza a

interface para acesso e controle da central telefonica implementada em espaco de usuario. No

caso do Asterisk, por exemplo, o modulo DAHDI controlaria o hardware via USB para integrar

as portas analogicas com os servicos da central telefonica IP.

A implementacao do sistema completo e bastante complexo, envolvendo varias areas do

conhecimento, como por exemplo, projeto e implementacao de hardware, firmware e driver.

Alem da modificacao da aplicacao que implementa a central telefonica IP. Dessa forma, esse

trabalho se limitou em aprofundar o estudo do SLIC e de um microcontrolador capaz de executar

as tarefas ja comentadas.

Page 68: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

4.3 Conclusao 67

Figura 4.4: Diagrama do sistema proposto pelo projeto.

4.2.1 Elaboracao do projeto logico

Para uma visao mais abstrata do hardware (SLIC + Microcontrolador) foi gerado um di-

agrama de blocos, conforme visto na figura 4.5. A funcao do diagrama e ser utilizada como

referencia para saber quais sao os componentes necessarios para a implementacao do circuito

e, tambem, para a geracao futura de um esquematico e layout para fabricacao de uma placa

de circuito impresso. O diagrama logico tambem serviu de referencia para orientar as ligacoes

fısicas entre as placas de desenvolvimento utilizadas durante os experimentos.

Figura 4.5: Projeto logico do dispositivo de telefonia.

4.3 Conclusao

Com esse capıtulo, pode-se ter uma visao geral de como o dispositivo serviria a possıveis

cenarios, sugerindo algumas solucoes de uso em um sistema SOHO. Esses cenarios ilustram

Page 69: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

4.3 Conclusao 68

o problema proposto dando origem ao diagrama do sistema proposto pelo projeto, culminando

em um projeto logico do hardware. Esse, por sua vez, pode ser utilizado como referencia para

uma futura prototipagem de uma placa de circuito impresso, pelo qual se pode obter um produto

comercial.

Page 70: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

69

5 Experimento

Este capıtulo descreve quais os procedimentos efetuados para avaliar o hardware e o soft-

ware proposto para o sistema de telefonia. O objetivo e verificar se o microcontrolador LPC-

1768 e o SLIC si32179 atendem as necessidades de implementacao para controle do dispositivo

de telefonia.

Na primeira etapa foram feitos testes com o kit VMB2 REV 2.0 no modo placa mae, hos-

pedando o kit Si32179BFB11SL0EVB (placa filha) e utilizando o software ProSLIC Voice

GUI.3.4.0 para controlar os kits. Os kits VMB2 REV 2.0 e Si32179BFB11SL0EVB e o soft-

ware ProSLIC Voice GUI.3.4.0 foram estudados na sessao 3.2. Esse primeiro passo submeteu

o si32179 a testes de inicializacao e testes funcionais, utilizando a ferramenta que o fabricante

recomenda para inıcio dos estudos. Com esse procedimento e possıvel avaliar se todos os com-

ponentes estao operando sem problemas, para entao utilizar o hardware e firmware propostos

para o sistema de telefonia.

A segunda etapa dos experimentos foi utilizar o microcontrolador LCP-1768 Cortex-M3 e

o firmware desenvolvido na plataforma MBED para controlar o si32179 que esta disponıvel no

kit Si32179BFB11SL0EVB. Nessa etapa o kit VMB2 REV 2.0 ficou como elemento passivo,

ou seja, ele operou no modo fonte de energia. Com isso, todos os recursos do si32179 foram

controlados diretamente pelo microcontrolador LCP-1768 Cortex-M3, dando acesso total para

o firmware aos registradores e memoria RAM do SLIC. O objetivo da segunda etapa era testar

os blocos funcionais separadamente. Portanto, houve um experimento para avaliar a interface

USB, um outro experimento para avaliar a interface SPI e, por ultimo, um experimento para

avaliar o barramento PCM.

Page 71: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.1 Experimentos Primeira Etapa - Placa Filha no Modo Hospedeiro 70

5.1 Experimentos Primeira Etapa - Placa Filha no Modo Hos-pedeiro

Nessa primeira parte do experimento o intuito foi utilizar todas as ferramentas (kits e softwa-

res) disponibilizadas pela Silicon Laboratories. Esse experimento e de muita importancia para

o desenvolvimento, pois avalia a integridade dos componentes e traz exemplos de como eles se

comportam com uma solucao de testes inteiramente do fabricante.

5.1.1 Experimento 1 - Utilizacao do software ProSLIC Voice GUI.3.4.0

A figura 5.1 ilustra o cenario utilizado nesse teste. Essa facilita a compreensao sobre o

experimento efetuado.

Figura 5.1: Configuracao fısica do cenario para o experimento da placa filha no modohospedeiro.

Objetivo do Experimento: O escopo desse experimento e verificar se a placa filha esta

operando dentro das condicoes normais, alem de obter exemplos do funcionamento esperado do

componente si32179. Para efetuar os testes, foi utilizado o software ProSLIC Voice GUI.3.4.0,

que a Silicon Laboratories fornece sob NDA.

Procedimento: Em um ambiente Windows, foi instalado o software ProSLIC Voice GUI.3.4.0.

Ao conectar a interface USB do kit VMB2 REV 2.0, foi solicitado instalar o driver da unidade

controladora, para que o software ProSLIC Voice GUI.3.4.0 pudesse acessar as funcionalidades

do kit. Apos a instalacao do driver os testes evoluıram da seguinte forma:

• Inicializacao do si32179: O processo de inicializacao do SLIC foi carregar um script

Page 72: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.1 Experimentos Primeira Etapa - Placa Filha no Modo Hospedeiro 71

fornecido pela Silicon Laboratories. O script trata-se do arquivo “Si32179FB.txt”, o qual

contem uma lista de valores pre-definidos pelo fabricante para aferir cada endereco de

registrador e memoria RAM responsaveis por inicializar o componente. Alem dos valores

a serem carregados, o script possui rotinas para que cada valor seja inserido nos tempos

corretos. Apos a carga desse arquivo pelo software ProSLIC Voice GUI.3.4.0, um upload

e feito para o si32179. A interface indica se esse procedimento foi efetuado com sucesso

ou nao. Com o script carregado, o kit possibilitou ao software efetuar o uso das funcoes

do SLIC.

• Verificar valores dos enderecos dos registradores e enderecos da memoria RAM:

Com o sistema operando, foi utilizado a funcao Continous Read do ProSLIC Voice

GUI.3.4.0. Para utilizar essa funcao foi preciso pressionar o botao Read All, assim te-

mos os valores de todos os registradores e enderecos da memoria RAM em tempo real.

• Testes de ocupacao do circuito : O teste de ocupacao do circuito foi efetuado com um

terminal telefonico conectado ao RJ-11 (conector J1) correspondente a interface FXS.

Retirando o terminal de seu repouso foi observado as alteracoes dos registradores:

– SPEEDUP (REG 33): - valor alterado de 10 para 0;

– LCRRTP (REG 34): - valor alterado de 0 para 2;

– BATSEL (REG 37): - valor alterado de 12 para 10; e

– PDN STAT (REG 99): - valor alterado de 5 para 4.

• Geracao de ring: A ferramenta ProSLIC Tools do software ProSLIC Voice GUI.3.4.0

tornou possıvel configurar as caracterısticas do formato de onda do sinal de ring e as

cadencias utilizadas. Apos a configuracao foi utilizado a opcao Linefeed Status, que

dispoe de um botao para ativar o ring previamente configurado;

• Geracao do tom (discagem, chamada): Na ferramenta ProSLIC Tools foi utilizado a

opcao Tone Generator. Essa opcao possibilita a configuracao de dois osciladores, nesses

foi possıvel configurar as frequencias, cadencias desejadas e amplitude do sinal. Para o

teste, foi configurado os valores:

– Oscilador 1 - amplitude -18 dBm, frequencia 425 Hz, sinal presente 1 s e sinal

ausente 4 s; e

– Oscilador 2 - amplitude -18 dBm, frequencia 0 Hz, sinal presente 0 s e sinal ausente

0 s.

Page 73: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.1 Experimentos Primeira Etapa - Placa Filha no Modo Hospedeiro 72

Esses valores simularam um tom de chamada no padrao brasileiro e, em seguida, foi

efetuado um teste para simular o tom de discagem para o padrao brasileiro, para o qual

foi utilizado os seguintes valores:

– Oscilador 1 - amplitude -18 dBm, frequencia 425 Hz, sinal presente 1 s e sinal

ausente 1 s; e

– Oscilador 2 - amplitude -18 dBm, frequencia 0 Hz, sinal presente 0 s e sinal ausente

0 s.

Com um terminal telefonico conectado ao RJ-11 (conector J1), foi possıvel ouvir todos

os sinais, e com o auxılio de um osciloscopio foi aferido os valores nominais.

• Coleta do DTMF gerado por um terminal telefonico: Para esse teste tambem foi utili-

zado um terminal telefonico conectado ao RJ-11 (conector J1). Foram testados todos os

valores DTMFs disponıveis no teclado desse terminal e verificado o comportamento do

registrador TONDTMF (REG 60), os quais seguem:

– Tecla 1: - alterado de 0 para 31 - tecla em repouso, valor e alterado para 1;

– Tecla 2: - alterado de 1 para 32 - tecla em repouso, valor e alterado para 2;

– Tecla 3: - alterado de 2 para 33 - tecla em repouso, valor e alterado para 3;

– Tecla 4: - alterado de 3 para 34 - tecla em repouso, valor e alterado para 4;

– Tecla 5: - alterado de 4 para 35 - tecla em repouso, valor e alterado para 5;

– Tecla 6: - alterado de 5 para 36 - tecla em repouso, valor e alterado para 6;

– Tecla 7: - alterado de 6 para 37 - tecla em repouso, valor e alterado para 7;

– Tecla 8: - alterado de 7 para 38 - tecla em repouso, valor e alterado para 8;

– Tecla 9: - alterado de 8 para 39 - tecla em repouso, valor e alterado para 9;

– Tecla 0: - alterado de 9 para 3A - tecla em repouso, valor e alterado para A;

– Tecla *: - alterado de A para 3B - tecla em repouso, valor e alterado para B; e

– Tecla #: - alterado de B para 3C - tecla em repouso, valor e alterado para C.

Durante todos os testes, foram coletados os principais sinais (PCLK FSYNC, RESET, SCLK,

MOSI, MISO, SS e INT) do kit com o auxılio de um osciloscopio. O objetivo era comparar o

formato de onda dos sinais originados pelo sistema de desenvolvimento da Silicon Laboratories,

com os que o hardware e o firmware externo produziram.

Page 74: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 73

Analise dos resultados: De acordo com a documentacao fornecida pela Silicon Labora-

tories e com os padroes estabelecidos na telefonia brasileira, todos os resultados saıram como

o esperado. Essa bateria de testes serviu para conhecer melhor as placas de desenvolvimento

e componentes, alem de validar se todos os elementos, que implementam o dispositivo de te-

lefonia, estavam ıntegros. Para efetuar o experimento e avaliar todos os resultados foi preciso

o estudo sobre os kits de desenvolvimento e a documentacao auxiliar para o uso do software

ProSLIC Voice GUI.3.4.0.

5.2 Experimentos Segunda Etapa - Placa Filha Modo Stan-dalone

Esta sessao apresenta as avaliacoes de cada bloco funcional de interface, como por exemplo,

interface USB, interface SPI e barramento PCM. O objetivo foi verificar o comportamento de

cada um dos blocos utilizando os componentes e placas de desenvolvimento estudados. Nesta

etapa a placa filha com o SLIC foi controlada pelo firmware desenvolvido na plataforma MBED.

5.2.1 Experimento 1 - Avaliacao da interface USB

Objetivo do Experimento: Para esse experimento foi reservada o objetivo de avaliar se a

implementacao da interface USB no modo Isochronous, desenvolvida pelo projeto MBED, foi

bem sucedida e se atende os requisitos necessarios. O desejado nesse experimento e conseguir

transmitir amostras de audio para um driver 1 de som no Windows e reproduzı-las com o auxılio

do software livre Audacity 2.

Procedimento: Para validar se o microcontrolador conseguiu implementar um USB device

no modo Isochronous, foi criado um vetor de inteiros no firmware com 8.000 amostras de 8 bits

cada, o que equivale a um segundo de audio. As amostras foram obtidas a partir do software

matematico Matlab lendo um arquivo de audio. Como essas amostras possuıam os valores em

nıveis nao codificados, foi feita uma multiplicacao de cada amostra pelo valor 127, criando,

assim, valores de uma codificacao PCM linear. Para a estrutura desse bloco logico, nao faz

diferenca se o dado e de um codec utilizando PCM linear ou PCM-A, pois o que se pretendia

avaliar era possibilidade de se manipular e enviar cada amostra separada umas das outras, ja

que e dessa forma que o SLIC fornece as amostras de audio.

Mediante o metodo write((uint8 t *)buf), que esta disponıvel na classe USBAudio fornecida

1http://developer.mbed.org/handbook/USBAudio2http://audacity.sourceforge.net/

Page 75: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 74

pela plataforma MBED, pode-se enviar, a partir do microcontrolador, amostras de audio para o

computador. Ja com o metodo read((uint8 t *)buf) e possıvel receber amostras do computador

para o microcontrolador, fazendo as duas vias de audio (DRXa e DTXa) entre o SLIC e o

computador. O driver utilizado para fazer os testes e disponibilizado pela MBED, e as amostras

do audio sao visıveis na figura 5.2.

Figura 5.2: Reproducao de um segundo de audio enviado via USB.

Analise dos resultados: Apos coletar as amostras com o auxılio do Audacity, foi possıvel

reproduzı-las e analisar se o audio havia sido transferido corretamente. As amostras de audio

contidas no Audacity nos revelaram que a transferencia ocorreu com sucesso. O que sugere ser

viavel o uso da classe USBAudio para a transferencia no modo Isochronous.

5.2.2 Experimento 2 - Avaliacao da interface SPI

Objetivo do Experimento: Esse experimento tem o objetivo de avaliar a comunicacao SPI

entre o microcontrolador LPC-1768 e o SLIC si32179. Com uma rotina de leitura e escrita inse-

rido em determinado registrador um valor conhecido e depois efetuar leitura para ser comparado

ao dado inicial.

Procedimento: Utilizando a classe SPI do projeto MBED e da Proslic API, foi implemen-

tado um driver SPI no LPC-1768 compatıvel com a interface SPI do si32179. A frequencia

utilizada no barramento foi de 186 KHz, o que nos da uma taxa de transferencia de 186 Kbps.

Outras taxas tambem foram testadas como 512 KHz (512 Kbps) e 1 MHz (1 Mbps), obtendo-se

o mesmo resultado.

A figura 5.3 ilustra a captura dos sinais SCLK (canal 1) e SS (canal 2) com o auxılio do

osciloscopio.

No teste de escrita foi utilizado o endereco 14 do registrador com o dado 0x40 (decimal 64,

binario 0100-0000). A coleta do sinal MOSI e ilustrada na figura 5.4, onde os valores foram

Page 76: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 75

Figura 5.3: Sinais SCLK (canal 1) e SS (canal 2).

transferidos corretamente. Para a melhor visualizacao, foi feita uma ampliacao do sinal MOSI

na figura 5.5.

Figura 5.4: Escrita REG 14. Sinais SCLK (canal 1) e MOSI (canal 2).

Figura 5.5: Escrita REG 14. Sinais SCLK (canal 1) e MOSI (canal 2) ampliados.

Para ajudar a entender a escrita no SLIC, foi realizado tambem a coleta do sinal MISO.

Porem, como a operacao e de escrita, o sinal MISO nao tem nenhuma perturbacao, ou seja,

nenhuma alteracao e percebida no byte de controle, no byte de endereco e no byte de dados,

pois o SLIC recebeu no sinal MOSI uma operacao de escrita. Isso e percebido na figura 5.6.

Page 77: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 76

Figura 5.6: Escrita REG 14. Sinais SCLK (canal 1) e MISO (canal 2).

Foi feito tambem um teste de leitura com o REG 3 (registrador responsavel pela avaliacao

dos sinais PCLK e FSYNC, que sao sinais do barramento PCM). Sendo esse um registrador

somente de leitura. Foi obtida uma amostra do sinal MOSI, por meio do qual foi enviado o byte

de leitura 0x60, seguido do byte de endereco 3. Como a operacao e de leitura, o byte de dado

nao e relevante. A figura 5.7 mostra o sinal MOSI na operacao de leitura e a figura 5.8 ilustra a

ampliacao do sinal para facilitar a avaliacao.

Figura 5.7: Leitura REG 3. Sinais SCLK (canal 1) e MOSI (canal 2).

A operacao de leitura e o unico momento em que o sinal MISO e aferido e apenas o byte de

dado e avaliado, tornando os outros dois bytes antecedentes do sinal MISO obsoletos. A figura

5.9 apresenta o sinal MISO coletado, pelo qual se constata o valor 0x1F (decimal 31, binario

0001-1111). Uma ampliacao do sinal tambem pode ser visualizada na figura 5.10.

Ainda foi realizada a leitura do registrador 14 e obteve-se o mesmo valor enviado na

operacao de escrita (valor 0x40), o que nos mostra que o barramento SPI esta operando nas

condicoes desejadas. Os testes foram feitos varias vezes, por longos perıodos e sempre foram

Page 78: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 77

Figura 5.8: Leitura REG 3. Sinais SCLK (canal 1) e MOSI (canal 2) ampliados.

Figura 5.9: Leitura REG 3. Sinais SCLK (canal 1) e MISO(canal 2).

Figura 5.10: Leitura REG 3. Sinais SCLK (canal 1) e MISO (canal 2) ampliados.

Page 79: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 78

alcancados os mesmos resultados. Isso indica que a interface SPI implementada a partir da

plataforma MBED e confiavel para ser usada na interface com o SLIC.

Analise dos resultados: As analises dos sinais feitas no procedimento 5.1.1 foram com-

paradas com os dados coletados nesse experimento. Como a sessao 5.1.1 e totalmente baseada

na solucao do fabricante (hardware e software) e os sinais comparados tiveram o mesmo for-

mato, pode-se afirmar que o experimento obteve exito. Como o que se esperava era ter uma

comunicacao segura e confiavel entre os componentes envolvidos, os testes mostraram que a

implementacao do barramento SPI pode ser utilizada sem problemas. Depois de ter uma inter-

face de comunicacao confiavel, foi possıvel extrair a coleta do REG 3 (MSTRSTAT) para dar

subsıdios aos testes seguintes.

5.2.3 Experimento 3 - Avaliacao do barramento PCM

O cenario para o experimento de avaliacao do barramento PCM pode ser visualizado na

figura 5.11. Essa facilita a compreensao sobre o experimento efetuado.

Objetivo do Experimento: O escopo desse experimento e verificar se os sinais PCLK e

FSYNC gerados pelo LPC-1768 foram validados pelo SLIC si32179. Como trata-se de sinais

que estabelecem sincronismo para circuito, esses sinais sao a todo tempo verificados si32179. O

diagnostico desses sinais e disponibilizado pelo si32179 no REG 3 (MSTRSTAT), o significado

de cada valor e obtido na documentacao fornecida pela Silicon Laboratories (Documentacao

cedida por cortesia pela Silicon Labs www.silabs.com).

O experimento foi dividido em dois estagios:

• Estagio 1: Valor de FSYNC nominal - sinal FSYNC com frequencia de 8 KHz (64

perıodos de PCLK); e

• Estagio 2: Valor de FSYNC arbitrario - sinal FSYNC com frequencia de 16 KHz (32

perıodos de PCLK)

O que se espera na primeira parte e obter o valor do REG 3 com dados que indiquem o pleno

funcionamento do barramento PCM. No entanto, para a segunda parte, o que se espera e obter

valores que indiquem algum problema no barramento PCM, ja que foi usado um valor fora

dos padroes do dispositivo. Assim e possıvel confirmar se o barramento foi implementado

corretamente.

Procedimento Estagio 1: No barramento PCM foram avaliados os sinais PCLK e FSYNC

Page 80: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 79

Figura 5.11: Configuracao fısica do cenario para a avaliacao do barramento PCM.

Page 81: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 80

(figura 5.12). Para uma melhor visualizacao do sinal PCLK, a figura 5.13 traz uma ampliacao

deste.

Esses sinais foram construıdos a partir das ferramentas disponıveis no MBED. O sinal utili-

zado no PCLK foi de 512 KHz, resultando em 4 timeslots. O sinal FSYNC foi obtido por meio

da formula 3.1, na qual cada 64 pulsos do sinal PCLK constituem um perıodo do sinal FSYNC.

Para um sinal com formato de onda de 8 KHz, com 50% de nıvel logico alto e 50% de nıvel

logico baixo, e preciso dividir os 64 pulsos por 2, e isso nos da 32 pulsos em nıvel logico alto

e 32 pulsos em nıvel logico baixo. Foi utilizado um sinal de interrupcao para contar 32 bordas

de subida do sinal PCLK para manter o sinal FSYNC em nıvel logico alto e 32 em nıvel logico

baixo. Como e possıvel contar cada nıvel de subida do sinal PCLK, tambem e possıvel saber o

inıcio e fim de cada timeslot para aferir os sinais DRXa e DTXa.

Figura 5.12: Sinais PCLK (canal 1) e FSYNC (canal 2).

Figura 5.13: Sinais PCLK (canal 1) e FSYNC (canal 2), ampliados.

Em todos os testes foi avaliado o valor do registrador 3 (MSTRSTAT), que e responsavel

por nos informar o comportamento dos sinais PCLK e FSYNC. Enquanto se operou dentro

Page 82: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.2 Experimentos Segunda Etapa - Placa Filha Modo Standalone 81

das frequencias nominais descritas na documentacao do si32179 (Documentacao cedida por

cortesia pela Silicon Labs www.silabs.com), o valor do registrador 3 sempre foi 0x1F (0001

1111), o que informa o correto funcionamento do barramento.

Nesse estagio o teste permaneceu por um perıodo de 24h, em que um contador de erros era

incrementado a cada vez em que o valor de MSTRSTAT era diferente de 0x1F. Durante todo

esse perıodo, nenhum incremento foi efetuado, permanecendo as 24h com o sincronismo sem

erros. Para uma melhor compreensao um fluxograma foi gerado, como visto na figura 5.14.

Para ter uma avaliacao sem precipitacoes, um atraso de 200 ms e empregado no processo, antes

que se faca as medicoes do REG 3. Isso devido ao tempo que o DSP do SLIC necessita para

inicializar o sistema Phase Lock Loop (PLL).

Figura 5.14: Fluxograma de avaliacao para o barramento PCM.

Procedimento Estagio 2: Tambem foram efetuados testes com valores fora das frequencias

nominais da documentacao do si32179 (Documentacao cedida por cortesia pela Silicon Labs

www.silabs.com) para os sinais PCLK e FSYN, como mostra a figura 5.15, que traz o valor de

FSYNC com 16 KHz, que e o dobro da frequencia nominal (8 KHz). Nesse caso, o valor aferido

do registrador 3 foi 0x1C (0001 1100). Segundo a documentacao do si32179 (Documentacao

cedida por cortesia pela Silicon Labs www.silabs.com), quando o D1 esta com o valor 0, in-

forma que o valor de FSYNC nao esta operando em 20% dos 8 KHz previstos. Ao tornar o

Page 83: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.3 Conclusao 82

sinal FSYNC em 8 KHz, o valor do registrador retorna instantaneamente para 0x1F.

Figura 5.15: Sinai PCLK (canal 1) e sinal FSYNC (canal 2) com 16KHz.

Analise dos resultados: Um dos fatores mais preocupantes para o desenvolvimento do

sistema de telefonia era a geracao dos sinais competentes ao sincronismo do sistema. Esse

experimento, contemplados pelos estagios um e dois, comprovaram que foi possıvel ter um

barramento PCM adequado gerado pelo microcontrolador LPC-1768, uma vez que, quando

operado dentro dos padroes o valor do REG 3 sempre trouxe o valor que indica operacao normal.

Porem quando se alterou o valor de FSYNC, o REG 3 indicou uma anomalia especıfica no

barramento PCM.

5.3 Conclusao

Nesse capıtulo foram feitos alguns experimentos para avaliar os kits disponıveis pela Silicon

Laboratories e, tambem, o kit disponıvel pela NXP Semiconductors com o objetivo de avaliar

a eficacia para a aplicacao desejada. Com os experimentos aqui descritos, foi possıvel verificar

um excelente desempenho dos kits, sobretudo o MBED LPC-1768, que implementou toda as

funcoes, tornando possıvel o controle do si32179.

A utilizacao da interface USB teve um desempenho motivador, ja que trata-se de um padrao

complexo de comunicacao, mas que com a abstracao da classe USBAudio foi implementada

com exito. Um dos pontos interessantes foi a utilizacao do driver SPI, que teve uma alteracao

significante no padrao trazido pela classe SPI disponıvel no projeto MBED e que atendeu aos

requisitos do SLIC si32179.

Outro fator importante e ressaltar a solucao empregada para gerar os sinais do barramento

PCM. As abstracao de TIMER, capazes de operar o LPC-1768 como contadores e tempori-

Page 84: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

5.3 Conclusao 83

zadores, do projeto MBED nao foram satisfatorias para gerar o sinal desejado. Devido essa

deficiencia uma solucao alternativa foi adotada. Tal solucao foi empregar o uso da interface

PWM abstraıda por uma classe MBED, e assim gerar os trens de pulsos do sinal PCLK. Essa

solucao se adaptou muito bem ao caso e nao feriu a camada de abstracao criada pelo MBED,

uma vez que nao foi necessario programar o periferico do microcontrolador diretamente.

Page 85: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

84

6 Conclusoes

O objetivo desse trabalho foi o estudo e avaliacao dos componentes comerciais e seus kits

de desenvolvimento para servir de base e guiar um futuro desenvolvimento de um dispositivo

que implemente uma interface USB para um par de portas analogicas FXO e FXS. A transicao

entre a teoria de telefonia vista no curso e a escolha de circuitos integrados comercias, com

padronizacoes estabelecidas pelo mercado, para de fato implementar um sistema real foi bas-

tante grande.

Apos os estudos e a selecao teorica dos componentes, houve um esforco significativo para

conseguir as plataforma de desenvolvimento e realizar os testes a fim de validar todos os blocos

logicos da interface, garantindo que o caminho de dados estabelecido no projeto logico proposto

funcionaria adequadamente. Inclusive a comunicacao no modo USB Isochronous, difıcil de

encontrar em algumas famılias de microcontroladores, obteve sucesso ao transmitir e receber

streams de audio. Entretanto, ainda nao ha garantia que o LPC-1768 conseguira lidar com todos

os fluxos de dados necessarios no nucleo da aplicacao final, uma vez que nao houve tempo

habil para os testes. De qualquer forma, a especificacao de desempenho do microcontrolador

apresenta um cenario bastante favoravel.

Os benefıcios do uso do MBED foram muitos. Ter uma plataforma de desenvolvimento

em nuvem, trouxe muita flexibilidade para os estudos. Mesmo em dispositivos do tipo tablets

foi possıvel produzir conteudos para o desenvolvimento do dispositivo ja que nao ha a neces-

sidade de uma IDE, o que torna muito versatil esse tipo de plataforma. Alem da facilidade

de nao necessitar da instalacao de ambiente de desenvolvimento integrado, o projeto MBED

traz classes poderosas que abstraem a configuracao de modulos para ativar ou desativar funcoes

do CMSIS, o qual e responsavel pela configuracao basica do sistema, assim como o NVIC,

que e responsavel pelo controle de interrupcoes. Dessa forma, aumentando a velocidade de

desenvolvimento e portabilidade do codigo gerado.

Ao final, e importante salientar que os progressos alcancados por esse trabalho certamente

subsidiarao a continuacao e ampliacao do presente estudo a fim de alcancar o objetivo maior,

Page 86: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

6.1 Trabalhos Futuros 85

que seria ter um produto de telefonia desenvolvido no IFSC com hardware e software totalmente

abertos.

6.1 Trabalhos Futuros

Varias frentes de trabalho se abriram ao final. A sequencia mais direta e o aprofundamento

do estudo da API de desenvolvimento da Silicon Laboratories, a fim de dominar a sequencia

de inicializacao do SLIC. Dessa forma havera a possibilidade de operar todos os blocos logicos

servindo a estrutura do projeto.

Outra oportunidade para trabalhos futuros e, apos a inicializacao do SLIC, testar os metodos

que a API de desenvolvimento oferece, a fim de analisar os dıgitos das interfaces FXS, efe-

tuar a ocupacao do circuito FXO, enviar o sinal de campainha na interface FXS, dentre outras

aplicacoes basicas do SLIC.

Tambem podera ser proposta o desenvolvimento de um driver especıfico para o host USB,

com o intuito de fornecer ao DHADI as informacoes necessarias para o Asterisk.

Page 87: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

86

Referencias Bibliograficas

3CX. O que significam os termos FXS e FXO? 2014. http://www.3cx.com.br/voip-sip/fxs-fxo/. Acessado em 20 de Junho de 2014.

ANATEL. Especificacoes de sinalizacao acustica para a rede nacional de telefonia. 1996.http://sistemas.anatel.gov.br/PraticasTelebras/00118.pdf. Acessado em 19 deJunho de 2014.

ARAUJO, F. P.; BRAGA, M. C. D. C. CONVERGENCIA E INTEROPERABILIDADE ENTREA REDE DE TELEFONIA FIXA COMUTADA E A REDE IP. 2009. http://bdm.bce.unb.br/bitstream/10483/1422/1/2009_MariaCeciliaBraga_FelipeAraujo.pdf. Acessadoem 16 de Junho de 2014.

CUNHA, M. A. P. et al. Uma arquitetura modular de hardware e software para PABX VoIPbaseado em Asterisk. 2012. http://sbrt.org.br/sbrt2012/publicacoes/99608_1.pdf.Acessado em 16 de Junho de 2014.

GALRAO, R. M. VOZ SOBRE IP UTILIZANDO PROTOCOLO SIP: VANTAGENS,COMPATIBILIDADE S E DOIS EXEMPLOS DE APLICACAO. 2007. http://www2.ele.ufes.br/~projgrad/documentos/PG2006_2/ronnymaltagalrao.pdf. Acessado em 19de Junho de 2014.

JESZENSKY, P. J. E. Sistemas Telefonicos. [S.l.]: Manole Ltda, 2004.

LAMARAO, F. M.; ALVAO, J. N. S. VoIP – Solucoes de Voz Sobre IP. 2005. http://www3.iesam-pa.edu.br/ojs/index.php/computacao/article/view/31/28.Acessado em 16 de Junho de 2014.

MICROSEMI. Products. 2015. http://www.microsemi.com/products/

voice-line-circuits/ve890/ve8911. Acessado em 19 de Janeiro de 2015.

MIYADAIRA, A. N. MICROCONTROLADORES ARM TM Cortex TM - M3. [S.l.]: Telo andMiyadaira Editora Ltda.,, 2012.

NXP. Cortex-M3 based microcontrollers with Ethernet, USB, CAN and 12-bit ADC. 2015.http://www.nxp.com/documents/leaflet/75016676.pdf. Acessado em 19 de Janeiro de2015.

NXP. Datasheet LPC1769/68/67/66/65/64/63. 2015. http://www.nxp.com/documents/data_sheet/LPC1769_68_67_66_65_64_63.pdf?&cid=Brand_nxpdatafeed-web_

third_party-11_01_13. Acessado em 19 de Janeiro de 2015.

OLIVEIRA, D. B. S. de; ZANATTA, M. P. de B. F.; SANTOS, R. A. TRABA-LHO DE GRADUACAO REDES DE SENSORES E ATUADORES WIRELESS PARAAUTOMACAO PREDIAL. 2007. http://lara.unb.br/~adolfo/tg/TG07%20Daniel%

Page 88: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Referencias Bibliograficas 87

20B.S.%20Oliveira%20-%20Marcio%20P.B.F.%20Zanatta%20e%20Rodrigo%20A.

%20Santos.pdf. Acessado em 19 de Junho de 2014.

PINHEIRO, B. D. O. VOZ SOBRE IP UTILIZANDO ASTERISK. 2005. https://www.ginux.ufla.br/files/mono-BrunoPinheiro.pdf. Acessado em 18 de Junho de2014.

ROSA, A. A. da; BONATELLI, F. L. REDUCAO DE CUSTOS DE TELEFONIA TDMATRAVES DO USO DE REDES CONVERGENTES (VOIP). 2008. http://http://busca.unisul.br/pdf/95528_Alexandre.pdf. Acessado em 19 de Janeiro de 2015.

SASAKI, M. G.; CAIXETA, O. V. DESENVOLVIMENTO DE UMA INTERFACE USBPARA AQUISICAO DE DADOS DE UM ARRANJO DE MICROFONES: APLICACAO EMPROTESE AUDITIVA. 2006. http://bdm.bce.unb.br/bitstream/10483/853/1/2006_MarcelloSasaki_OtavioCaixeta.pdf. Acessado em 19 de Junho de 2014.

ZUQUIM, A. L. de A. P. Um agente embutido para conversao de uma interface serial emUSB. 2007. http://homepages.dcc.ufmg.br/~ana/rt01.pdf. Acessado em 19 de Junhode 2014.

Page 89: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

88

ANEXO A -- Email Representante da Microsemi

Page 90: Projeto de Interface de Telefonia Analogica USB´ para ... · Projeto de Interface de Telefonia Analogica USB´ para sistemas VoIP Monografia apresentada a Coordenac¸` ˜ao do Curso

Anexo A -- Email Representante da Microsemi 89

Figura A.1: Contato representante da Microsemi.