TRANSMISSÃO E RECEPÇÃO DE SINAIS SEM FIO VIA MODULAÇÃO GFSK
-
Upload
lucas-roberto-michel -
Category
Documents
-
view
72 -
download
2
description
Transcript of TRANSMISSÃO E RECEPÇÃO DE SINAIS SEM FIO VIA MODULAÇÃO GFSK
UNIVERSIDADE DE PASSO FUNDO
Lucas Roberto Michel
TRANSMISSÃO E RECEPÇÃO DE SINAIS SEM FIO
VIA MODULAÇÃO GFSK
Passo Fundo
2015
Lucas Roberto Michel
TRANSMISSÃO E RECEPÇÃO DE SINAIS SEM FIO VIA
MODULAÇÃO GFSK
Trabalho apresentado ao curso de Engenharia Elétrica, da
Faculdade de Engenharia e Arquitetura, da Universidade
de Passo Fundo, como requisito para obtenção do título de
Engenheiro Eletricista, sob orientação do Professor Dr. Carlos Alberto Ramirez Behaine.
Passo Fundo
2015
Lucas Roberto Michel
TRANSMISSÃO E RECEPÇÃO DE SINAIS SEM FIO VIA MODULAÇÃO GFSK
Trabalho apresentado ao curso de Engenharia
Elétrica, da Faculdade de Engenharia e Arquitetura,
da Universidade de Passo Fundo, como requisito para
obtenção do título de Engenheiro Eletricista, sob
orientação do Professor Dr. Carlos Alberto Ramirez
Behaine.
Aprovada em _____ de ______________________de 2015.
BANCA EXAMINADORA
____________________________________________
Prof. Dr. Carlos Alberto Ramirez Behaine – UPF
____________________________________________
Prof. Dra. Blanca Rosa Maquera Sosa – UPF
____________________________________________
Prof. Ms. Amauri Fagundes Balotin - UPF
RESUMO
Este projeto consiste em um transmissor e receptor de sinais analógicos sem fio (via GFSK). O
conjunto do transmissor possui um conversor A/D, que é conectado ao sinal analógico a ser
transmitido e onde os sinais são convertidos de analógico para digital. Logo em seguida é
processado através de um microcontrolador ARM Cortex M4F e enviado ao módulo GFSK
para ser transmitida a informação para o receptor. No conjunto do receptor essa informação é
recebida pelo módulo e processada pelo mesmo microcontrolador e convertida de digital para
analógico através de um D/A. Este sistema tem capacidade de amostrar e transmitir sinais
analógicos que tenham uma largura de banda que varia de 0 até 4 KHz.
Com base neste projeto e, através de vários testes, fica evidente que é indispensável a utilização
de um hardware mais sofisticado para o processamento de sinais de áudio. Uma vez que
utilizou-se somente uma pequena largura de banda e para a utilização de mais canais, é
necessário o uso de processadores de sinais, para que o tratamento do sinal seja o mais rápido
possível a fim de diminuir a latência entre a entrada de áudio e a saída dele no receptor, além
de poder trabalhar com mais eficiência com outros protocolos específicos para conversores A/D
e D/A de áudio como o I2S.
Palavras chave: Multicabo. GFSK. Conversor. Áudio. ARM. SPI. I2C
LISTA DE FIGURAS
Figura 1 - Diagrama global em blocos 6
Figura 2 - O Multicabo 7
Figura 3 - O processador ARM escolhido 9
Figura 4 - O Kit EK-TM4C123GLX 10
Figura 5 - O Microcontrolador TM4C123 10
Figura 6 - Modulo NRF24L01 12
Figura 7 - Esquema do modulador FSK 13
Figura 8 - Esquema do modulador GFSK 13
Figura 9 - Forma das respostas ao impulso de um filtro Gaussiano h_GAUSS com parâmetros
BT_b e o pulso retangular h_RECT. 13
Figura 10 - (a) Sinal GFSK e OFDM sem interferência (b) sinal GFSK e OFDM com
interferência. 14
Figura 11 - Diagrama em blocos do conversor A/D 16
Figura 12 - Push-Pull Vs. Pull-Up 17
Figura 13 - Diagrama em Blocos do modulo SPI do TM4C123 18
Figura 14 - Diagrama em blocos do modulo I2C do TM4C123 19
Figura 15 - Modulo D/A MCP4725 20
Figura 16 – Diagrama dos pinos de referência do AD 22
Figura 17 - Faixa de amostragem 23
Figura 18 - Diagrama esquemático de amostragem e envio ao buffer TX 23
Figura 19 - Fluxograma do programa do TX 24
Figura 20 - Esquema ligação modulo NRF24L01 com o microcontrolador 25
Figura 21 - O protocolo ShockBurst 26
Figura 22 - Mapa de tempo do modulo NRF24L01 27
Figura 23 - Diagrama esquemático dos buffers 28
Figura 24 - fluxograma do programa do receptor 29
Figura 25 - Protótipo do transmissor 30
Figura 26 - Protótipo, analise interface SPI do transmissor 31
Figura 27 - Mapa de tempo do transmissor 32
Figura 28 - Mapa de tempo de transmissão 33
Figura 29 - Mapa de tempo da recepção 34
Figura 30 - Diagrama interno do CI CS5361 37
Figura 31 - Protocolo I2S 38
Figura 32 - Diagrama Dual SPI 39
LISTA DE ABREVIATURAS
SPI – Serial Peripheral Interface
I2S – Inter-IC Sound
I2C – Inter-Integrated Circuit
ARM – Advanced RISC Machine
AD – Analog to Digital converter
DA – Digital to Analog converter
GFSK – Gaussian frequency-shift keying
FSK – Frequency-shift keying
OFDM – Orthogonal frequency-division multiplexing
MSPS – Million Samples Per Second
GND – Ground
ACK – Acknowledgement
RX – Receiver
TX – Transmitter
DSP – Digital Signal Processor
SUMÁRIO
1 INTRODUÇÃO ............................................................................................. 1
1.1 OBJETIVOS ............................................................................................. 2
1.2 OBJETIVOS ESPECIFICOS ....................................................................... 3
1.3 JUSTIFICATIVA ......................................................................................... 4
1.4 ESTRUTURA DO TRABALHO ................................................................. 5
2 DESENVOLVIMENTO ................................................................................ 6
2.1 FUNDAMENTAÇÃO. ................................................................................. 6
2.2 O MULTICABO .......................................................................................... 7
2.3 O SISTEMA ................................................................................................. 8
2.3.1 Funcionamento ..................................................................................... 8
2.3.2 Microcontrolador ................................................................................. 8
2.3.3 O Modulo Transmissor/Receptor Sem Fio ....................................... 11
2.3.4 A Modulação GFSK ........................................................................... 12
2.3.5 Conversor A/D.................................................................................... 15
2.3.6 Protocolo Spi ...................................................................................... 16
2.3.7 Protocolo I2c ....................................................................................... 18
2.3.8 Conversor D/A.................................................................................... 19
3 IMPLEMENTAÇÃO E RESULTADOS ................................................ 20
3.1 TRANSMISSOR..................................................................................... 20
3.2 RECEPTOR ............................................................................................ 28
4 RESULTADOS E DISCUSSÃO .............................................................. 30
5 CONCLUSÃO .......................................................................................... 36
6 IMPLEMENTAÇÕES FUTURAS .......................................................... 37
6.1 CONVERSOR A/D................................................................................. 37
6.2 COMUNICAÇÃO ...................................................................................... 38
6.3 COMUNICAÇÃO SPI (SERIAL PERIPHERAL INTERFACE) VS I2S
(INTER IC-SOUND) ....................................................................................... 38
1
1 INTRODUÇÃO
Em eventos, shows e concertos musicais é muito comum e indispensável a utilização
de equipamentos de áudio, tais como: amplificadores, processadores e equalizadores de áudio.
Sendo estes equipamentos utilizados com uma mesa de som, onde é possível total controle de
ajuste de ganhos e filtros, sejam eles fonte de áudio (CD players, Pen drives) ou ainda
instrumentos musicais (guitarra, teclado, bateria, microfones), para melhor obtenção dos sinais
e qualidade de áudio. Toda a comunicação física é feita através de cabos blindados, muito
conhecidos como cabo multivias ou multicabo, mais popularmente como “medusa”.
Mesmo com os avanços da tecnologia, tanto em inovação como em implementação,
hoje o mercado possui poucos equipamentos para facilitar e dar autonomia aos operadores e
técnicos de áudio profissional. Com isso observou-se a importância que teria uma transmissão
e recepção de sinais de áudio sem fio em um sistema de áudio profissional nestes shows e
eventos, uma vez que somente existe a transmissão e recepção via cabo e com comunicação
paralela. Baseando-se nesses processos, surgiu a ideia de projetar e desenvolver um
equipamento que possa substituir essa comunicação física (multicabo), podendo-se evitar a
interferência com os cabos de áudio devido a sua longa distância entre o palco e a mesa de som,
além de possíveis acidentes que possam ocorrer, já que é muito comum o rompimento e até
mesmo sua violação, sendo necessário, ainda, o isolamento do local onde o cabo passa a fim de
evitar acidentes.
O mais longe que foi desenvolvido até então é comunicação via cabo serial, com
protocolos de comunicação próprias do fabricante e também através do protocolo EtherSound.
“EtherSound é o protocolo de transferência e controle de áudio digital de escolha de muitas
aplicações modernas para som ao vivo.” (YAMAHA CORPORATION, 2015).
“O Protocolo aqui citado desenvolvido pela DIGIGRAM em 2001 na França, é
utilizado para a transmissão de áudio digital com uma latência de 1,5 ms por
dispositivo presente em cadeias chegando a 64 canais de áudio bidirecional, utilizando
o cabeamento CAT5 respeitando aqueles parâmetros de distância que já conhecemos,
mas, nada impede de utilizamos a fibra óptica para maiores distâncias. O mesmo
possui a taxa de amostragem de 96 KHz chega a máxima profundidade de 24 bits.”
(SILVA, 2015).
2
Este último protocolo é amplamente utilizado em sistemas de multiplexação e
transmissão de sinais de áudio, por equipamentos da empresa japonesa Yamaha e também pela
Allen Bradley para a linha de áudio profissional. Como essas duas gigantes da indústria do
áudio são pioneiras no quesito áudio digital, muitas vezes por conter tanta tecnologia
embarcada, em muitos lugares como o Brasil esses equipamentos tendem a custar mais caro,
devido a isto muitas empresas utilizam-se de um sistema com cabo multivias. Por se tratar de
um sistema de transmissão e recepção digital de sinais, todos os sinais analógicos aplicados no
transmissor são convertidos em digitais, para que seja enviado através do microcontrolador para
o módulo de transmissão com Modulação Digital por Comutação de Frequência Gaussiano
(GFSK) e posteriormente no receptor convertidos de digital para analógico para a mesa de som.
Existem certas dificuldades na idealização do projeto, uma vez que toda a transmissão e
recepção seja feita em tempo real, tendo em vista que é praticamente impossível ocorrer isso,
foi admitido uma latência aceitável descrita no projeto, já que para o ouvido humano existe um
limite aceitável.
1.1 OBJETIVOS
O objetivo deste projeto é desenvolver um sistema que substitua o usualmente
Multicabo utilizado em shows e eventos, por um sistema que envie e receba os sinais analógicos
com uma largura de banda estreita e a transmissão seja feita através de uma comunicação sem
fio de baixa interferência para facilitar a instalação e montagem dos equipamentos e, também
para autonomia do sistema como um todo. Utilizou-se para o transmissor um conversor A/D
que converte os sinais analógicos em digitais e os envia ao microcontrolador que fará a interface
via SPI com o módulo transmissor GFSK. Já no receptor o sinal recebido será enviado ao
microcontrolador pela SPI que o mesmo comunicará com o conversor D/A via I2C para que
seja convertido novamente em analógico.
3
1.2 OBJETIVOS ESPECÍFICOS
- Projetar e desenvolver firmware para um conversor de analógico para digital diretamente no
kit;
- Realizar a comunicação I2C para um conversor de digital para analógico;
- Desenvolver um firmware que realize as conversões A/D e D/A no transmissor e no receptor,
respectivamente, em um kit de desenvolvimento ARM Cortex M4;
- Comunicar um módulo transmissor GFSK no kit de desenvolvimento ARM e, em outro kit,
comunicar um módulo receptor GFSK;
- Otimizar o código fonte e alterar a forma dos pacotes de dados do módulo GFSK;
- Montagem do conjunto transmissor e receptor em bancada.
4
1.3 JUSTIFICATIVA
Quando falamos em áudio profissional, logo pensamos em algum show ou evento e,
por sua totalidade, poucos usufruem de alta tecnologia. Isso cai drásticamente quando o assunto
é comunicação entre equipamentos (instrumentos musicais) e mesa de som. Muitas empresas
optam por utilizar o mais comum e básico, que é a utilização física de cabos que, por sua vez,
geram um custo muito baixo relacionado às tecnologias mais avançadas e por sua fácil
manutenção. Por outro lado, esquecem a portabilidade e autonomia de uma tecnologia nova,
sendo essa mais confiável e fornecer maior qualidade.
Em um sistema convencional é utilizado o multicabo para comunicação dos
instrumentos e mesa de som, neste sistema o sinal é enviado individualmente (paralelo) cada
sinal por uma via, então dependendo do sistema essa cabo acaba por se tornar extremamente
grande, além de ficar exposto a interferências externas (incidentes nos cabos) e da atenuação
causada pela perda ôhmica do cabo. Outro problema relacionado a isso é a instalação desse tipo
de tecnologia, pois demanda tempo e esforço físico para as ligações já que esse cabo, por conter
várias vias, acaba por ficar muito pesado.
“Quando geralmente vamos a algum espetáculo notamos que no meio do público ou
na parte inferior do espaço, olhando para o palco fica um operador recebendo e
mixando todos os sinais de som. A união deste operador com o palco agora não é feita
mais por aquela "maçaroca" de cabos no chão e sim por apenas um cabo óptico
protegido passando por algum lugar mais seguro. Mesmo ele estando próximo ao
palco o número de cabos que sai do mesmo e chega até ele se resume agora em um
par óptico ou um cabo STP.” (SILVA, 2015)
O projeto demonstra que existem outras possibilidades para sistemas de áudio
profissional, e uma delas é a comunicação sem fio, abordada neste, onde é possível facilitar a
instalação e diminuir o esforço físico aos técnicos, dando maior mobilidade e fidelidade em
todo sistema. Uma vez que todo o sinal é digitalizado, é possível fazer correções, uma delas é
a aplicação de filtros digitais, podendo até mesmo substituir os equipamentos utilizados no
sistema, deixando tudo centralizado em um único equipamento. A principal funcionalidade
deste sistema é a remoção do multicabo, que em muitas vezes atrapalha, pois o mesmo tem que
5
sair do palco e ir até a mesa de som que fica localizado no centro do local onde encontra-se o
público, causando transtornos ou até mesmo acidentes. O sistema digital traz outras inúmeras
vantagens não abordadas neste trabalho, mas que podem ser implementadas também, a fim de
diminuir o número de equipamentos para tratamento dos sinais de áudio, como compressores,
equalizadores, crossovers, limiter’s e processadores de efeitos entre outros equipamentos. Outra
vantagem da transmissão digital é que podemos atingir uma relação sinal/ruído melhor (quando
comparado com o sistema analógico) com a quantização adequada.
1.4 ESTRUTURA DO TRABALHO
No capítulo II descreve-se como é utilizado o sistema de áudio profissional atualmente
com a utilização de multicabo, com um layout de como é montado o sistema e exemplificando
seu funcionamento básico, os principais problemas de sua utilização e as vantagens sobre o
sistema digital abordado.
No capítulo III é abordado como será implementado o sistema digital com transmissão
de áudio pelo GFSK, bem como os protócolos de comunicações utilizados, compilador,
microcontrolador, módulo GFSK e conversores A/D e D/A, e também suas vantagens sobre
outros sistemas existentes no mercado.
No capítulo IV do trabalho apresenta-se o desenvolvimento do projeto, bem como
cálculos, pesquisas e resultados.
No capítulo V são demonstrados os resultados obtidos e as conclusões finais, bem
como as medidas tomadas para a resolução de alguns problemas ocorridos durante o
desenvolvimento do projeto e o protótipo do sistema montando em bancada.
6
2 DESENVOLVIMENTO
2.1 FUNDAMENTAÇÃO.
Nos sistemas de áudio profissional atualmente é indispensável a utilização de
amplificadores de áudio, pois devido a distância do palco ao público, fica impossível escutar as
vozes e sons gerados pelos cantores e instrumentos musicais. Por cada instrumento possuir uma
faixa do espectro de áudio e um ganho especifico, é necessário utilizar-se também de
equalizadores de áudio e mixer’s. No caso de baterias acústicas, é necessário a utilização de
limiter’s, para que a batida do bumbo, por exemplo, não sature o amplificador, e no caso da voz
dos cantores muitas vezes é necessário o uso de compressores de áudio. Todo o sinal resultante
desses equipamentos é enviado via cabo para a mesa de som, para que sejam mixados os sinais
e cada nível ajustado individualmente. A figura 1 demonstra o sistema abordado.
Figura 1 - Diagrama global em blocos
A/D Micro controlador Modulador
GFSK
CANAL
D/A ÁUDIO ÁUDIO
RECONSTRUIDO
SPI I2C
Demodulador
GFSK
Micro controlador D/A ÁUDIO
RECONSTRUIDO
SPI I2C
7
2.2 O MULTICABO
O Multicabo, muito conhecido popularmente como “Medusa” (em inglês, Snake), é
simplesmente uma extensão, que leva os sinais de áudio de um lado para outro. É composto por
uma capa principal, seu centro é composto de vários pares de cabos, como visto na figura 2,
onde cada par é responsável por um canal de áudio. Em uma de suas pontas são utilizados vários
conectores, os mais comuns são os plugs XLR e plug P10 para serem ligados à mesa de som, e
em sua outra extremidade possui os jacks para a ligação dos equipamentos. “Os padrões de
medusa existente no mercado são: 6, 8, 12, 20, 28, 36, 42, 48 e 56 vias. ” (NASCIMENTO,
2010)
“As medusas são um dos elementos mais simples de um sistema de sonorização. Não
passam de extensões, que atuam na distribuição dos sinais de áudio, conduzindo os
sinais das fontes sonoras entre a mesa e o palco. A função é básica, mas se falhar,
compromete toda a sonorização. ” (FERNANDES, 2012)
Figura 2 - O Multicabo
Fonte: Cia Multicabos – Multicabos
8
2.3 O SISTEMA
Pensando em uma maior mobilidade e segurança, este trabalho consiste na substituição
dos processos existentes atualmente, abaixo segue como será desenvolvido o sistema.
2.3.1 Funcionamento
A ideia principal é a amostragem do sinal analógico através de um conversor AD e a
transmissão do sinal digital amostrado com um módulo GFSK e receber por outro módulo
GFSK e realizar a conversão de digital para analógico, desse modo, realizando a mesma função
do multicabo.
2.3.2 Microcontrolador
O microcontrolador utilizado foi o da Texas Instruments, modelo Cortex-M4F da
ARM (figura 3), mais especificamente o modelo TM4C123. A escolha desse processador foi
devida a sua fácil aquisição no Brasil e a programação com a utilização das bibliotecas da
StellarisWare da Texas Instruments, facilitando a implementação do projeto.
“A TI também reconhece que o software otimiza o tempo de lançamento no
mercado para que todos os MCUs LM4F compatíveis pelo software StellarisWare®
royalty-free e de licença gratuita. A StellarisWare é um pacote de APIs específicas
do Stellaris que foram desenvolvidas especialmente para minimizar o custo de
propriedade de software e reduzir o tempo de lançamento no mercado. A maioria
desses APIs é integrada em ROM e todo software é desenvolvido em C padrão para
facilitar o desenvolvimento de aplicações na ferramenta de sua preferência. ”
(TEXAS INSTRUMENTS CORPORATION, 2012)
9
Figura 3 - O processador ARM escolhido
Fonte: Texas Instruments Corporation
Contudo, com toda essa tecnologia embarcada, ficou ainda mais fácil a implementação
do projeto com o kit de desenvolvimento que o próprio fabricante fornece. O kit de
desenvolvimento EK-TM4C123GLX, que foi o escolhido para esse projeto (figura 4) possui
embarcado já um gravador in circuit, para a gravação do firmware no microcontrolador. Ao
centro da figura 4 é possível observar o microcontrolador onde o mesmo possui o processador
escolhido anteriormente, já na figura 5 é mostrado os periféricos embarcados dentro do
processador, como o A/D, os módulos de comunicações seriais entre outros.
10
Figura 4 - O Kit EK-TM4C123GLX
Fonte: Texas Instruments WIKI
Figura 5 - O Microcontrolador TM4C123
Fonte: Texas Instruments Corporation
11
2.3.3 O Módulo Transmissor/Receptor Sem Fio
Para a transmissão e recepção dos dados utilizou-se o módulo NRF24L01 da Nordic,
devido ao seu hardware já implementado e a modulação ser do tipo GFSK com taxa de
transferência de até 2Mbps. Além disso, esse módulo já possui antena embutida na própria placa
e correção de erros via hardware, assim garantindo uma confiabilidade na transmissão dos
dados. Possui um alcance que varia até 50 metros, que é o ideal para a finalidade do projeto, já
que, em média um multicabo convencional tem um comprimento máximo de 30 metros.
O módulo NRF24L01 é alimentado com a tensão da própria placa de desenvolvimento
(3,3 Volts), já que possui um consumo baixo de corrente (menor que 14mA). Ele possui
internamente um protocolo que checa a validação dos dados recebidos através da verificação
do checksum, essa confirmação do envio dos dados transmitidos é feita pela resposta do
receptor. A comunicação realizada com o módulo é feita através da interface SPI.
Na figura 6 é mostrado o módulo GFSK utilizado. O mesmo possui chip dedicado para
a modulação escolhida e antena embarcada, essa antena foi desenvolvida pelo próprio
fabricante utilizando a própria placa.
12
Figura 6 - Módulo NRF24L01
Fonte: Fritzing.org
2.3.4 A Modulação GFSK
A escolha do módulo sem fio deve-se ao fato que o mesmo utiliza a modulação GFSK,
pois como este módulo trabalha a uma frequência de 2.4GHz e por essa banda ser utilizada por
vários sistemas sem fio, como a popular Wi-Fi, o risco de interferência intersimbólica aumenta
caso fosse utilizado a mesma modulação que a Wi-Fi, por exemplo (OFDM), já o GFSK utiliza
uma banda mais estreita e com amplitude alta, assim ficando com menor interferência de outros
dispositivos.
A modulação GFSK (Gaussian Frequency-Shift Keying) é parecida à modulação básica
por chaveamento de frequências (FSK), mas utiliza filtragem Gaussiana nos dados digitais na
banda base antes de passar a banda de passo (alta frequência). A filtragem gaussiana tem o
13
objetivo de limitar a banda espectral do sinal de informação e fazer as transições de frequência
suaves. O resultado diminui a largura de banda na saída do modulador. O esquema comparativo
básico é ilustrado nas figuras 7 e 8.
Figura 8 - Esquema do modulador GFSK
O filtro Gaussiano com resposta ao impulso hGAUSS pode ser parametrizado pela
relação BTb, onde B é a largura de banda a -3dB e Tb é o tempo de bit. A figura 9 ilustra a forma
das respostas ao impulso de um filtro Gaussiano hGAUSS com parâmetros BTb, quando
comparado ao pulso retangular gRECT.
Figura 9 - Forma das respostas ao impulso de um filtro Gaussiano hGAUSS com parâmetros
BTb e o pulso retangular gRECT.
Fonte: (RONG-FU YE, 2012)
Fluxo de bits FSK
Figura 7 - Esquema do modulador FSK
FSK Fluxo de bits Filtro Gaussiano
GFSK
14
A modulação GFSK é muito utilizada na banda 2.4GHz em bluetooth e pode coexistir
em conjunto com a Modulação por Divisão de Frequências Ortogonais (OFDM) em Wi-Fi.
Como a modulação GFSK é de banda estreita pode gerenciar as interferências de co-canal na
banda 2.4GHz de forma eficiente.
A figura 10 ilustra o esquema comparativo na banda de 2.4GHz entre espectros do
GFSK e o Wi-Fi onde podem existir os dois espectros mesmo com interferência.
Figura 10 - (a) Sinal GFSK e OFDM sem interferência (b) sinal GFSK e OFDM com
interferência.
A A
F F
Quando comparado com sistemas OFDM, a vantagem que tem os sistemas com
modulação GFSK, é que os chips GFSK são mais eficientes em consumo de potência e a
desvantagem principal que tem a modulação GFSK, é que tem uma taxa de transferência menor,
por exemplo, 1Mbps no GFSK para bluetooth e 45Mbps no OFDM para o Wi-Fi. Caso especial:
o modulador GFSK tipo NFR24L10 que pode atingir até uma taxa de 2Mbps, adequado para
aplicações de sinais de áudio.
(a) (b)
0dB
-40dB
GFSK OFDM
0dB
-40dB
GFSK OFDM
15
2.3.5 Conversor A/D
Para a conversão A/D utilizou-se o canal A/D do microcontrolador. Este módulo do
microcontrolador possui uma resolução de 12-bits onde é possível trabalhar com uma
amostragem de até 1MSPS (um milhão de amostras por segundo). O Diagrama em blocos do
funcionamento do mesmo pode ser visto na figura 11.
O A/D desse microcontrolador é do tipo SAR. O SAR tem como função obter em suas
saídas sinais digitais que correspondam a valores de tensão próximos ao sinal analógico de
entrada no A/D. Para que isto ocorra, o registrador precisará de dez pulsos de clock para a
obtenção da palavra, visto que a resolução escolhida neste projeto foi de dez bits. O valor inicial
armazenado no SAR corresponde à metade da tensão máxima que o conversor A/D pode
analisar, logo a aproximação é feita de acordo com a saída digital do comparador onde, para
cada pulso de clock, o registrador estará sendo atualizado e aproximando-se gradativamente do
valor referente à entrada analógica. Com o término desta atualização, no décimo pulso de clock,
o valor digital obtido corresponde à entrada analógica e o registrador será novamente
atualizado para o valor inicial, estando pronto para uma nova aproximação.
16
Figura 11 - Diagrama em blocos do conversor A/D
Fonte: Datasheet TM4C123GH6PM
2.3.6 Protocolo SPI
A comunicação serial SPI (Serial Peripheral Interface) é uma comunicação serial do
tipo síncrona, onde se adota a ideia de “mestre e escravo”, pelo fato que o hardware da
comunicação SPI é unidirecional (ao contrário da I2C que é bidirecional),sendo o mestre que é
o gerador do clock para sincronismo que neste caso é o nosso microcontrolador e o escravo que
é o modulo NRF24L01, onde o mesmo receberá os comandos e os dados para configuração do
mesmo e a informação a ser transmitida.
“Outra característica é que toda troca de dados acontece sempre em ambas as direções.
Em outras palavras, cada bit trocado entre o Master e um Slave traz um bit do Slave
para o Master. Dessa forma, definimos que a comunicação é sempre full-duplex.”
(SACCO, 2014).
17
Na SPI a saída dos dados é feita com uma configuração do tipo Push-Pull, com isso há
pouca deformação no sinal gerado, sendo possível atingir velocidades maiores. Na figura 12
mostra-se essa diferença e a deformação no sinal em relação à topologia utilizada.
Figura 12 - Push-Pull Vs. Pull-Up
Fonte: embarcados.com
O diagrama em blocos do modulo SPI do microcontrolador utilizado pode ser visto na
figura 13.
18
Figura 13 - Diagrama em Blocos do modulo SPI do TM4C123
Fonte: Datasheet TM4C123GH6PM
2.3.7 Protocolo I2C
O protocolo I2C (Inter IC) desenvolvido pela Philips é outra comunicação serial do
tipo síncrona. A transmissão é feita em dois fios, o DAS que é onde a informação é
transmitida/recebida e o SCL que é o clock de sincronismo onde é gerado pelo mestre que é o
nosso microcontrolador.
“O protocolo de comunicação em 2 sinais I2C foi originalmente desenvolvido pela
Philips em meados de 1996. Atualmente este protocolo está amplamente difundido e
interconecta uma ampla gama de dispositivos eletrônicos. Dentre estes encontramos
vários dispositivos de controle inteligente, normalmente microcontroladores e
microprocessadores assim como outros circuitos de uso geral, como drivers LCD,
portas de I/O, memórias RAM e EEPROM ou conversores de dados. ” (FILHO, 2014).
19
Devido às configurações do hardware como descrito anteriormente (Pull-Up), neste
protocolo não é possível atingir taxas de transferência tão altas quanto a SPI, porém é o
suficiente para a comunicação do módulo D/A para a conversão de um canal de áudio. Para
dois canais é necessário outro método de interface e conversão.
Na figura 14 é descrito o diagrama em blocos da máquina serial do microcontrolador
utilizado.
Figura 14 - Diagrama em blocos do modulo I2C do TM4C123
Fonte: Datasheet TM4C123GH6PM
2.3.8 Conversor D/A
Para a conversão D/A dos sinais analógicos do projeto, utilizou-se o módulo da
Microchip MCP4725. Este módulo possui uma resolução de 12-Bits, sendo essa resolução
definida porque a conversão A/D também é de 12-Bits. O valor amostrado no A/D quando
recebido pelo receptor com o D/A realizará a conversão do sinal digital para analógico com a
mesma amplitude amostrada, assim o ganho não é atenuado.
Este módulo possui uma taxa de transmissão máxima de 3,4Mbps no modo High-
Speed e a interface utilizada para comunicação foi o I2C.
20
Figura 15 - Módulo D/A MCP4725
Fonte: Adafruit.com
3 IMPLEMENTAÇÃO E RESULTADOS
3.1 TRANSMISSOR
O transmissor é o responsável pela conversão do sinal analógico para digital. Neste
transmissor o microcontrolador foi configurado para realizar a amostragem, carregar em um
buffer e realizar a transmissão do dado lido para o receptor, basicamente.
Para a amostragem do sinal analógico definiu-se, primeiramente, uma taxa de
amostragem. Como o projeto inicial não requer alta fidelidade no sinal do áudio em toda sua
banda (20Hz ~ 20KHz), e devido às limitações na programação, foi adotado uma taxa de
amostragem de 8KHz, seguindo o teorema de Nyquist, onde será possível amostrar sinais
analógicos com fidelidade de até 4KHz.
Pelo teorema de Nyquist temos que satisfazer a equação (1):
(1) Fs > 2*B
21
Onde:
Fs = Frequência de amostragem em Hz
B = Largura de banda em Hz
Então que nossa largura de banda que pode ser definida pela equação (2), que será de:
Fs = 8KHz
(2)
Com base nisso é possível definir que frequências até 4KHz serão reproduzidas, acima
disso, no caso frequências superiores a 4KHz, sofreram deformações e antialissign. Também é
possível definir a taxa de transmissão em bits da nossa conversão pela equação (3) que será:
(3)
Onde:
Tb = Taxa de transmissão em bps
Nb = Número de bits
Fs = Frequência de amostragem em Hz
Temos:
Sabendo a taxa de transmissão mínima agora, já é possível enviar pelo módulo
NRF24L01, pois o mesmo pode ser configurado para transmitir até 2Mbps. Quantos aos níveis
de quantização, por ser um conversor de 12 bits, é possível achar os níveis e suas amplitudes
pela equação (4).
2Nb = 212 bits = 4096 Níveis (4)
No conversor A/D do microcontrolador utilizado, é possível referenciar a faixa de
conversão que, internamente via firmware, é possível setar dois pinos para que seja realizada a
B < 8KHz
2 :: B < 4KHz
Tb = Nb*Fs
Tb = 12bits*8KHz = 96.000 bits/segundo
22
referência (figura 16). No projeto utilizou-se a referência Vrefa- no GND do kit e a referência
Vrefa+ no Vcc, onde temos a tensão da alimentação do chip que é 3.3Volts.
Figura 16 – Diagrama dos pinos de referência do AD
Fonte: Datasheet TM4C123GH6PM
Para definir a amplitude de cada código quantizado foi realizado o seguinte cálculo pela
equação (5):
Volts por código do AD = (Vrefa+ - Vrefa-) / 4096 (5)
Temos:
Vrefa+ = Vcc = 3.3 Volts
Vrefa- = GND = 0 Volts
3.3 / 4096 = 805.66 uV / código
Na figura 17 é possível observar a faixa de amostragem, em relação às suas tensões de
referência, sendo:
VREFN = Vrefa-
VREFP = Vrefa+
23
Figura 17 - Faixa de amostragem
Fonte: Datasheet TM4C123GH6PM
Após a conversão do A/D o valor lido é gravado em um buffer, assim se segue por
mais duas conversões com os três buffers, quando preenchidos, são transferidos e alocados no
buffer do módulo NRF24L01 para ser realizada a transmissão (figura 18). Esse método foi
adotado devido á latência do módulo NRF24L01, que será detalhado mais à frente. Caso
ocorresse a transmissão do dado lido pelo conversor A/D, a cada nova conversão haveria um
delay muito grande na reconstrução do sinal, pois o tempo gasto a cada transmissão de dado é
de, no mínimo, 130uS, com isso foi adotado o método de gravação e armazenamento em buffer
e realizada a transmissão de mais dados, diminuindo o delay em cada dado.
Figura 18 - Diagrama esquemático de amostragem e envio ao buffer TX
Amostragem0: 0xXXXX 0xXXXXYYYYZZZZ
Amostragem1: 0xYYYY
Amostragem2: 0xZZZZ
Buffer do TX Amostragens do AD
24
Para que a amostragem ocorresse a cada 125uS (8.000Hz), foi configurado o timer do
microcontrolador. Dessa forma, em cada estouro do timer a cada 125uS a função de conversão
é realizada e o valor lido é armazenado. Garantindo a taxa de amostragem e a frequência de
amostragem em 8KHz, configurou-se o timer para gerar uma interrupção.
Abaixo na figura 19, é mostrado o fluxograma do programa do transmissor.
Figura 19 - Fluxograma do programa do TX
Configura o dispositivo
transmissor
Estouro
do timer?
((125uS
Inicio
Monitora e controla
quantas vezes o AD
fez conversão (MAIN)
Realiza a conversão
do AD
Grava o valor da conversão
no buffer e incrementa o
mesmo buffer(i++)
Limite do
buffer? (i=4)
(i=4)
i = 0
O AD realizou 3
conversões?
Agrupa os 3 buffers no
payload do modulo e
transmite o pacote
Não
Sim
Sim
Não
Não
Sim
25
Para a transmissão, o mòdulo NRF24L01 possui um buffer de até 32 Bytes. O mesmo
trabalha com um protocolo próprio ShockBurst (figura 21). Este protocolo trabalha com uma
transmissão síncrona na qual se aguarda uma resposta do receptor ACK quando o mesmo recebe
o pacote, se isso não acontecer o módulo faz mais algumas tentativas até que se chegue a seu
limite máximo de retransmissões. Nesse último caso o protocolo indica que se esgotaram as
tentativas e o dado não pode ser entregue.
Todo o controle do módulo NRF24L01 é feito através do protocolo SPI através dos
seguintes pinos:
→ CE = Chip enable, responsável por ativar o modo RX ou o modo TX;
→ CSN = Chip select, este faz parte do protocolo SPI que seleciona o dispositivo;
→ SCK = Clock, este pino é responsável por receber o sincronismo do mestre
(Microcontrolador), clock configurado para operar em 250KHz;
→ MOSI = Master-Out Slave-In, responsável pelos envios dos dados do mestre para o escravo
NRF24L01;
→ MISO = Master-In Slave-Out, responsável pelos dados enviados pelo modulo NRF24L01;
→ IRQ = Pino responsável pela interrupção do módulo (não utilizado).
Figura 20 - Esquema ligação módulo NRF24L01 com o microcontrolador
VCC
MI
MO
CSN
CE
GND
3.3V
PB1
PB0
PE2
PE1
GND
TM4C123
NRF24L01
26
Todos os comandos do módulo são definidos em dois tipos: escrita e leitura, o
comando de escrita, é feito enviando um Byte com o endereço do registrador a ser escrito que
são apenas 5 bits desse byte, e o bit 6, é o que indica se o comando é para escrita ou leitura,
após logo em seguida o valor a ser escrito deve ser enviado e, então, o módulo responde com
um byte do status do mesmo. Para leitura dos registradores basta deixar o bit 6 em nível lógico
“0” indicando que é um comando de escrita e o módulo responde com o byte do status do
módulo e com o valor do registrador lido. Sendo assim, para cada comando ao módulo, o
mesmo responde com o status do módulo.
Para a operação do módulo é preciso, primeiramente, realizar a configuração do
mesmo para informar ao módulo como será realizada a comunicação como, por exemplo, a taxa
de transmissão, frequência de operação (canal do modulo), potência de transmissão, endereço
do módulo, tempo para retransmissões, número máximo de retransmissões e configuração das
interrupções geradas pelo módulo. Isso é feito enviando os comandos de escrita para os
registradores de configurações sendo necessário ser realizado somente uma vez, após ele já está
pronto para operar.
Figura 21 - O protocolo ShockBurst
Fonte: Datasheet NORDIC NRF24L01+
O dado a ser transmitido/recebido fica armazenado no payload, que é possível enviar de
8 bits até 32 bytes de dados. Para este projeto foi adotado apenas com 6 bytes de dados já que
o conversor nos dá dados de 12 bits, onde os são acrescentados mais 4 bits mais significativos
que são zeros, o que leva a ter em um total de três conversões que gera um total de 6 bytes de
dados.
Quando a transmissão dos dados acontece, o módulo requer alguns passos necessários
para o envio da informação, isso pode ser mais detalhado na figura 22, que mostra com clareza
os tempos mínimos e máximos necessários para envio do pacote de dados.
27
Figura 22 - Mapa de tempo do módulo NRF24L01
Fonte: Datasheet NORDIC NRF24L01
Como podemos observar, para um pacote de dados ser transmitido é necessário, após
o envio dos dados pela interface SPI, um pulso de no mínimo de 10uS e somente após 130uS
que esse pulso é dado é que o dado é enviado. Esse tempo de 130uS é encontrado na folha de
dados do módulo da Nordic NRF24L01 como sendo o Tstdby2a, que é um tempo necessário para
ocorrer uma sequência interna de comando do próprio módulo.
Quanto ao tempo Toa, que é o tempo no ar, esse tempo varia de acordo com as
configurações feitas e pode ser encontrado na equação (6):
(6)
28
3.2 RECEPTOR
O receptor possui o mesmo sistema de configuração para o módulo sem fio já que
ambos devem possuir o mesmo canal e configurações de comunicação com o microcontrolador,
porém o receptor é o responsável pela coleta dos dados e conversão D/A. Quando os dados são
recebidos pelo receptor são armazenadas as três amostragens recebidas. Abaixo na figura 23, é
possível entender melhor o que foi definido.
Figura 23 - Diagrama esquemático dos buffers
0xXXXXYYYYZZZZ buffer0: 0xXXXX
buffer1: 0xYYYY
buffer2: 0xZZZZ
Então é identificado a primeira amostragem do pacote recebido e logo em seguida é
disparado o timer do microcontrolador do receptor que é programado para gerar um interrupção
a cada 125uS (8KHz). Esse ponto do projeto é muito importante, pois se esse timer não estiver
programado perfeitamente o sinal a ser reconstruído pelo D/A não vai corresponder ao sinal
amostrado pelo transmissor, assim cada interrupção do timer coleta o primeiro dado do buffer,
envia pela interface I2C o dado a ser convertido para analógico, após o término do envio do
dado, a função de interrupção sai da sua função e volta ao programa main onde verifica se foi
recebido mais algum dado, se não recebeu mais nenhum dado ele fica aguardando chegar mais
algum dado pelo receptor ou o estouro do timer, que por sua vez verifica o próximo dado do
buffer e assim sucessivamente. Após o programa chegar no limite do buffer do
microcontrolador, o microcontrolador começa a alocar no primeiro endereço do buffer
novamente que é descrito o fluxograma do programa na figura 24.
Buffer do RX Buffer de amostragens do TM4C
29
Figura 24 - fluxograma do programa do receptor
Quando ocorre a interrupção do timer, o valor do buffer correspondente é enviado para
a função de comunicação do conversor D/A através da interface I2C, que por sua vez com o
módulo MCP4725, verifica o dado e converte para analógico. Devido a características do
módulo D/A e a simplicidade do código, a latência do receptor é bem menor se comparado com
Configura o
dispositivo receptor
Estouro
do timer?
((125uS
Inicio
Realiza leitura do
buffer do RX (MAIN)
Realiza leitura do
buffer do RX
(buffer[i])
Incrementa o buffer
(i++)
Envia o buffer lido ao
modulo conversor DA
através da interface
I2C
Limite do
buffer? (i=4) i = 0
Buffer do
RX cheio?
((125uS
Grava dados nos
buffers do TM4C
Não
Sim
Sim
Não
Não
Sim
30
o transmissor, o que acarreta em um delay em relação ao sinal transmitido e o recebido como
já era de ser esperado, devido às instruções do protocolo I2C.
4 RESULTADOS E DISCUSSÃO
Os protótipos foram realizados no próprio kit que a empresa Texas Instruments
fornece, com o microcontrolador ARM Cortex-M4, para que houvesse uma maior
confiabilidade de comunicação entre o microcontrolador e o módulo sem fio. Fora projetada
uma placa de circuito impresso em forma de soquete e com trilhas bem próximas ao chip para
que evitasse ao máximo qualquer interferência externa.
Na figura 25, é possível observar o kit já com a placa de circuito impresso fixada para
a comunicação direta com o módulo NRF24L01.
Figura 25 - Protótipo do transmissor
31
Na placa foram adicionados alguns pinos para que fosse possivel a colocação das
ponteiras do osciloscópio para os testes, facilitando na leitura dos tempos dos sinais gerados e
para poder analisar o canal serial.
Na figura 26, são mostrados os pulsos gerados pela interface SPI para a configuração
do módulo NRF24L01. Isso foi possivel realizando o trigger do osciloscópio no momento da
lidação do kit. Como essa configuração só é realizada apenas uma vez, somente assim é possivel
observar esses pulsos.
Figura 26 - Protótipo, análise interface SPI do transmissor
Com o transmissor em funcionamento, foi possível observar o mapa de tempo da
transmissão, o que pode ser observado na figura 27, onde no canal 1 (amarelo) é apresentado o
clock gerado pelo mestre (microcontrolador) para a interface SPI. É possivel observar também
que quando o clock é gerado o mestre envia junto um comando de escrita no registrador (canal
2 em verde do osciloscópio) do módulo NRF24L01 e, em sequencia, o comando a ser feito.
32
Esse comando serve para verificar o status do NRF24L01 e o outro comando serve para limpar
o buffer do TX antes de carregá-lo com um novo valor. Já o canal 3 (azul) é o sinal do csn. Esse
deve estar sempre em nível lógico zero quando for escrever e enviar um comando ao
NRF24L01. No canal 4 em vermelho é o sinal ce. Esse sinal é mantido em nível lógico zero e,
quando é ativado por um intervalo de no minimo 10uS, ele faz com que o módulo NRF24L01
transmita a informação. Então, basicamente o que é mostrado na figura 27 é a configuração do
módulo, carregamento do buffer do TX e pulso de habilitação da transmissão.
Figura 27 - Mapa de tempo do transmissor
Para garantir a transmissão foi programado no microcontrolador um tempo de
aproximadamente 21uS no pulso do pino ce.
Na figura 28, o mapa de tempos mostra outra função do NRF24L01 que é a chamada da
interupção, mostrado pelo canal 4 do osciloscópio (em vermelho), ela permanece em nível
lógico um toda vez que o buffer estiver vazio ou que o pacote não tenha sido enviado. Quando
ela muda de estado, isto é, quando esse sinal vai a nível lógico zero, isso indica que o módulo
já completou a transmissão do pacote e já está pronto para que seja gravado um novo dado no
buffer do tx.
CLOCK
Dado enviado
CE
33
Figura 28 - Mapa de tempo de transmissão
Na figura 29, é demonstrado o tempo do receptor para detectar o dado enviado pelo
transmissor. Isso é possivel identificar, pois no canal 4 em vermelho mostra quando o módulo
é habilitado (nível lógico alto), e no canal 3 em azul é o nível da interrupção do receptor, que
quando lido o dado do TX é mudado de estado e fica em nível lógico zero até que seja feito a
limpeza e reset do status do módulo NRF24L01
CLOCK
CE
Interrupçã
o
34
Figura 29 - Mapa de tempo da recepção
Para melhor desenvolvimento do projeto e entendimento ao longo do mesmo, alguns
tempos foram exageradamente aumentados a fim de poder entender com maior clareza os níveis
lógicos gerados pelo modulo.
Como o objetivo do projeto é manter também a menor latência possível, entre envios de dados,
foi desabilitado via software o ACK, que é o dado que o receptor envia ao transmissor avisando
que o dado chegou, se essa função estiver habilitada, o modulo mais que dobra sua latência
dependendo se o dado estiver com erro ou não.
Para remover a função ACK do modulo que por default vem com ele habilitado, tem
que se primeiro, nas configurações do modulo, avisar ao NRF24L01 via um comando pela
interface SPI, para desativar o ACK no pipe0 do modulo e escrever o dado a ser enviado em
um registrador especifico, chamado de w_tx_payload_noack, somente seguindo esses passos é
possível enviar uma informação sem a confirmação do ACK.
Outra característica para melhorar ainda mais o desempenho, em termos de latência,
foi enviar diretamente ao modulo a informação necessária, isto é, sem a utilização de
CLOCK
Interrupção de recebimento
CE
35
bibliotecas, que por muitas vezes tendem de ser fácil implementação, porem muitas vezes
poucos objetivas, não aproveitando ao máximo o hardware do dispositivo, causando latência
devido ao número de instruções.
Uma boa solução para melhorar ainda mais o desempenho é a utilização de codecs,
que são conversores A/D e D/A específicos para áudio, além de possuir algumas funções
intrínsecas, como filtro passa alta, atenuadores e amplificadores especiais para áudio. Algumas
melhorias futuras são descritas no capítulo 6 desse trabalho.
Para os testes de interferência com outras tecnologias de modulações, foi programado
o transmissor para transmitir o mesmo dado e o receptor coletar e comparar esse dado, assim
foi sendo afastado o transmissor ao longo da sala de testes, até o ponto que o receptor não
pudesse mais interpretar os dados recebidos, com base nisso, a distância nos testes ficou em
torno de 40 metros com obstáculos.
36
5 CONCLUSÃO
Com base nos resultados obtidos, o objetivo do projeto foi alcançado, visto que é
possível realizar a amostragem e fazer a transmissão e a recepção com os módulos com
modulação GFSK, embora, possua uma latência de cerca de aproximadamente 400uS entre a
amostragem pelo conversor A/D até a conversão D/A, esse delay consiste na soma da latência
de transmissão (140us) mais o tempo de conversão e leitura, e por se tratar ainda de módulos
cuja taxa de transmissão é razoável e microcontroladores de uso geral, o projeto teve um
desempenho regular, ainda é possível destacar que essa latência não é perceptível ao ouvido
humano, sendo ainda muito superior a equipamentos similares comerciais que temos no
mercado, que em média variam de 1mS a 1,5mS ou mais, que é o caso dos equipamentos com
protocolo via cabo EtherSound da Yamaha. Pelo fato de ser usado um microcontrolador que
não é de alta performance, não foi possível trabalhar com taxas de amostragens superiores a
8KHz devido a características do conversor A/D do mesmo, que é do tipo SAR, sendo o ideal
ser do tipo sigma-delta, esse tipo de conversor é especifico para uso de amostragens de sinais
de áudio, além de possuírem resoluções maiores e uma taxa de amostragem na ordem de até
500MSPS e também realiza a conversão do sinal analógico mais fiel, já o conversor do
microcontrolador utilizado é de apenas 12 bits, o que para qualidade de voz é aceitável.
37
6 IMPLEMENTAÇÕES FUTURAS
6.1 CONVERSOR A/D
O conversor que melhor seria utilizado para converter o sinal analógico do sinal de
áudio para digital, é o circuito integrado CS5361 da Cirrus Logic, figura 30, este conversor é
especifico para conversão de sinais de áudio, por ser do tipo Sigma-Delta esse circuito integrado
possui em seu hardware interno um registrador onde o valor amostrado é guardado e lido
através de uma comunicação chamada I2S (Inter-IC Sound).
Figura 30 - Diagrama interno do CI CS5361
Fonte: Cirrus Logic – Datasheet
38
6.2 COMUNICAÇÃO
Por se tratar de um conversor A/D especifico para áudio, sua comunicação é feita
através do protocolo chamado I2S (Inter-IC Sound), desenvolvido pela Philips em 1986 e em
1996 foi realizado algumas revisões no protocolo, este protocolo baseia em apenas três “fios”,
um chamado SD, onde é transmitido o dado serialmente, outro chamado WS, onde um nível
logico “0” zero identifica como canal esquerdo e nível logico “1” um indica canal direito e
outro chamado SCK que é o clock de sincronismo.
Figura 31 - Protocolo I2S
Fonte: NXP – Inter-IC Sound
O tamanho do pacote enviado em SD pode ser configurado em 16-bit, 24-bit ou 32-
bit, o CI CS5361 trabalha somente em 24-bit, impossibilitando a mudança do tamanho do
frame.
6.3 COMUNICAÇÃO SPI (SERIAL PERIPHERAL INTERFACE) VS I2S
(INTER IC-SOUND)
A SPI é um protocolo de transmissão de dados serias síncrono, muito utilizado entre
microcontroladores e periféricos, além de poder ser utilizado para outros fins de comunicação,
por exemplo, comunicação entre dois microcontroladores.
39
“O SPI (Serial Peripheral Interface) foi originalmente desenvolvido pela Motorola nos
últimos anos do microcontrolador 80 para sua série 68000. Devido à simplicidade e
popularidade do barramento, muitos outros fabricantes adotaram o padrão ao longo
dos anos. Agora pode-se encontrar uma grande variedade de componentes usados no
projeto de sistemas embarcados. O barramento SPI é usado principalmente nos
microcontroladores e seus dispositivos periféricos imediatos. É comumente
encontrado em telefones celulares, PDAs e outros dispositivos móveis que
comunicam dados entre a CPU, teclado, tela e chips de memória. ” (BRAIAN
KONZGEN MACIEL, 2015)
Como o microcontrolador utilizado não possui hardware próprio para o protocolo I2S,
uma solução futura seria realizar a simulação do protocolo I2S através do protocolo SPI,
utilizando dois canais SPI do microcontrolador. Muito similar ao I2S o protocolo SPI trabalha
com três linhas de comunicação, onde o dispositivo Master ou Mestre é o que gera o Clock do
barramento, e o Escravo ou Slave é o que recebe o clock e recebe ou transmite o dado. Abaixo
segue diagrama desenvolvido para simular o protocolo I2S.
Figura 32 - Diagrama Dual SPI
Fonte: Elaborada pelo autor
40
REFERÊNCIAS
ALENCAR, M. S. Telefonia Digital. São Paulo: Érica, 1998.
BRAGA, N. D. C. Como funcionam os conversores A/D. O Site do Hardware Livre, 15
maio 2014. ISSN ISBN. Disponivel em: <http://www.newtoncbraga.com.br/index.php/como-
funciona/1509-conversores-ad-2>. Acesso em: 12 maio 2015.
BRAIAN KONZGEN MACIEL, L. B. S. Y. Q. D. A. Barramento Serial I²C e SPI. ebah, 31
maio 2015. ISSN ISBN. Disponivel em:
<http://www.ebah.com.br/content/ABAAAe7xoAL/barramento-serial-spi-i-c#>. Acesso em:
15 maio 2015.
CATTERMOLE, K. W. Principles of pulse code modulation. EUA: American Elsevier Pub,
1989.
CHRISTIANO BELLI, D. S. SÚMULA ELETRÔNICA - SE. Curitiba. 2013.
FERNANDES, C. Como montar e para que serve uma medusa. SomBox, 13 maio 2012.
Disponivel em: <http://sombox.com.br/artigos/como-montar-e-para-que-serve-uma-
medusa/>.
FILHO, R. P. D. A. Eletronica, 14 abr. 2014. Disponivel em:
<http://www.eletronica.org/modules.php?name=News&file=article&sid=13>. Acesso em: 20
jun. 2015.
FLOYD, T. SISTEMAS DIGITAIS. Porto Alegre: Bookman, 2007.
FRANCISCO G. CAPUANO, I. V. I. Elementos de Eletrônica Digital - 40ª edição. São
Paulo: Érica, 2010.
JAN MIKULKA, S. H. IEEE 802.11 & Bluetooth Interference. New Brunswick: Seventh
Annual, 2009.
MICHAEL RISLEY, S. S. Dual-SPI Emulating I2S on TIva C Series TM4C123X. Texas
Instruments. Dallas, p. 2. 2012. (ISBN).
41
NASCIMENTO, E. J. D. Amostragem e PCM. Universidade federal do Vale do São
Francisco. Vale do São Francisco, p. 7. 2015. (ISBN).
NASCIMENTO, M. Equipamentos. Gravando em casa, 10 fev. 2010. Disponivel em:
<http://gravandoemcasa.com/2010/02/sobre-medusas-e-multi-cabos/>.
POHLMANN, K. C. Advanced Digital Audio 1ª ed. SAMS. EUA: Carmel, 1991.
RONG-FU YE, T.-S. H. J.-M. W. Ultralow Power Injection-Locked GFSK Receiver for
Short-Range Wireless Systems, Circuits and Systems II. IEEE Transactions. EUA, p. 8.
2012.
SACCO, F. Embarcados, 2014. Disponivel em: <http://www.embarcados.com.br/spi-parte-
1/>. Acesso em: 25 maio 2015.
SICA, C. Conversores A/D D/A. Maringá. 1996.
SILVA, R. J. D. Projetos e Tecnologias. Sunderak, 2015. Disponivel em:
<http://sunderak.blogspot.com.br/2015/05/ethersound-voce-conhece.html>. Acesso em: 15
jun. 2015.
SYSTEMS, C. Waveform Coding Techniques (Pulse Code Modulation, 2007. Disponivel em:
<www.cisco.com>. Acesso em: 3 nov. 2007.
TEXAS INSTRUMENTS CORPORATION. ARM Cortex m4f. Texas Instruments, 20 abr.
2012. Disponivel em: <http://www.ti.com/ww/br/mcu/cortex_m4f/>.
TOMISLAV ŠVEDEK, M. H. T. M. A Simple Signal Shaper for GMSK/GFSK and MSK
Modulator Based on Sigma-Delta Look-up Table. [S.l.]: RADIOENGINEERING, 2009.
YAMAHA CORPORATION. Audio profissional, 2015. Disponivel em:
<http://br.yamaha.com/pt/products/proaudio/interfaces/mini_ygdai_cards/my16-
es64/?mode=model>. Acesso em: 10 jun. 2015.
ZANCO, W. D. S. Microcontroladores PIC: técnicas de software e hardware para projetos
de circuitos eletrônicos : com base no PIC16F877A. São Paulo: Érica, 2008.