Beruflich Dokumente
Kultur Dokumente
Home
Sobre
Registre-se
Login
Comunicao
SPI Parte 1
por Francesco Sacco em segunda-feira, 05 de maio de 2014.
O objetivo deste artigo definir os princpios da comunicao SPI, quais so suas vantagens e onde esses dispositivos so utilizados. Tambm vamos analisar os
fundamentos bsicos de hardware.
Diversas tecnologias de interligao serial entre dispositivos foram desenvolvidas, podendo ser separadas em duas grandes categorias, a comunicao sncrona e
a comunicao assncrona. Dentre os mtodos de comunicaes mais conhecidos, destacam-se trs:
http://www.embarcados.com.br/spi-parte-1/
1/7
22/6/2014
J estamos bastante familiarizados com a comunicao serial assncrona pelo uso do padro UART (RS232). No entanto, existem grandes vantagens no uso de
uma comunicao serial sncrona em detrimento da assncrona.
Alm disso, h grandes diferenas mesmo entre os protocolos sncronos. Apesar do padro de cada protocolo definir limites mximos de taxas, cada fabricante
possui a liberdade de desenvolver dispositivos com suas velocidades. Abaixo temos um comparativo entre diversos padres dispositivos seriais:
Tecnologia
Barramento de comunicao
Taxa mxima
Fluxo de dados
UART (RS232)
115.200 bps
SPI
3 + n de Slaves
2 Mbps
Full Duplex
I2C
400 Kbps
Half Duplex
Como um exemplo de que esses limites podem ser ultrapassados, temos AT45BD0100D da Adesto. Essa memria SPI pode chegar at 66MHz (66Mbps) de
taxa de transferncia. Para o I2C, o 24FC64 da Microchip pode chegar a 1MHz (1Mbps).
Na comunicao serial sncrona definimos tambm o conceito de Mestre-Escravo. Normalmente o gerador do sinal de sincronismo definido como o Mestre
(Master) da comunicao. Para os dispositivos que utilizam do sinal de sincronismo gerado damos a definio de Escravo (Slave). A ligao mais comum desse
tipo de comunicao um Master e vrios Slaves.
Comunicao SPI
A comunicao SPI possui algumas caractersticas bsicas. Primeiramente os sinais de comunicao possuem uma direo fixa e definida. Isso significa que
sempre existem dois transistores definindo o estado de um pino (Push-Pull). Essa caracterstica uma das grandes diferenas entre outras comunicaes seriais
como I2C e OneWire, que possuem um mesmo barramento de dados para os sinais de entrada e sada atravs do esquema de dreno-aberto (Pull-Up).
http://www.embarcados.com.br/spi-parte-1/
2/7
22/6/2014
Apesar de utilizar dois sinais de comunicao de dados em vez de um, possvel atingir velocidades maiores de comunicao. Isso porque h pouca deformao
do sinal.
Outra caracterstica que toda troca de dados acontece sempre em ambas as direes. Em outras palavras, cada bit trocado entre o Master e um Slave trs um
bit do Slave para o Master. Dessa forma, definimos que a comunicao sempre full-duplex.
Os pinos bsicos de comunicao entre dispositivos SPI e o esquema padro de ligao so dados conforme abaixo:
Pino
Nome Padro
Significado
Nomes Alternativos
MOSI
SDO, DO, SO
MISO
SDI, DI, SI
Clock
SCLK
Serial Clock
SCK, CLK
SS
Slave Select
Seleo de Slave
O sinal de SS funciona como Seleo de Escravo (Slave Select). um sinal ativo em nvel baixo, o que significa que o dispositivo selecionado quando este pino
http://www.embarcados.com.br/spi-parte-1/
3/7
22/6/2014
se encontra em nvel baixo. No entanto, muitos dispositivos utilizam este sinal como sincronismo de frame. Dessa forma, um sinal importante que deve ser
respeitado.
O Dispositivo
O princpio bsico de um dispositivo SPI o Shift-Register. Esse tipo de dispositivo faz a converso de um registrador paralelo para sinais seriais de acordo com
clock. Cada borda recebida no terminal de clock do dispositivo significa um bit transferido. Da mesma forma esse tipo de dispositivo capaz de receber dados
vindos de maneira serial e convert-los para um valor em um registrador paralelo.
A SPI no apenas capaz de fazer essa converso serial/paralelo, como tambm possui o gerador de clock, o controle para a troca do frame e o slave-select.
Dessa forma, tornando ele um dispositivo de comunicao completo. Na figura abaixo podemos observar como ele se dispe.
Forma de Onda
Por padro a comunicao SPI permite a configurao das bordas de comunicao do clock atravs de sua polaridade e fase. A configurao da polaridade se
d atravs de CPOL (Clock Polarity), e a configurao da fase se d atravs de CPHA (Clock Phase). Seus modos possveis so:
Modo
CPOL
CPHA
Borda de troca
Transio
Nvel em IDLE
Subida
Meio do bit
Descida
Comeo do bit
Descida
Meio do bit
Subida
Comeo do bit
http://www.embarcados.com.br/spi-parte-1/
4/7
22/6/2014
Outra caracterstica fundamental na comunicao a definio da posio do bit mais significativo (MSB). Atravs de DORD possvel definir que o bit mais
significativo ser o primeiro (DORD = 0) ou o ltimo (DORD = 1) bit trocado. possvel observar todas essas caractersticas atravs das duas imagens abaixo:
Concluso
Pudemos observar as principais caractersticas da comunicao SPI, alm de um comparativo de hardware com outros tipos de comunicao. Observamos
diagramas do funcionamento do dispositivo e entendemos como se d a forma de onda.
No prximo artigo vamos entender quais so as principais caractersticas de software para sua comunicao, utilizando o Arduino como hardware base. Tambm
http://www.embarcados.com.br/spi-parte-1/
5/7
22/6/2014
Referncia
http://gse.ufsc.br/~bezerra/disciplinas/ProgPerif/sem04.2/Seminarios/RicardoPlaner/Apresentacao.htm
http://www.youtube.com/watch?v=QMNck8nKw-k
http://www.ni.com/example/31163/en/
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
http://home.kpn.nl/thomas_7/1wire/1wire_isolating.html
http://www.adestotech.com/sites/default/files/datasheets/doc3639.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/21189T.pdf
Francesco Sacco
Engenheiro Eletricista formado PUC-SP e Tcnico em Eletrnica pela ETE Getlio Vargas, especialista em projetos eletrnicos analgicos e digitais,
especialmente no condicionamento de sinais analgicos e integrao entre dispositivos digitais. Atualmente trabalha na Gertec, em So Paulo.
Tw eetar
Curtir
21
Share
Posts Similares
6/7
22/6/2014
veja+
Comentrios
Oportunidades
Engenheiro de Desenvolvimento Jr. em grande Empresa da rea automotiva So Paulo/SP
Programador C e Linux para embarcados numa empresa de Bilhetagem Eletrnica Campinas/SP
Profissional de Pesquisa e Desenvolvimento Florianpolis/SC
Programador de sistemas embarcados ou Engenheiro de desenvolvimento So Paulo/SP
Engenheiro de Produto Regio de Betim/MG
Mais oportunidades
Newsletter
Email
Assinar
Enquetes Realizadas
Escolha de Microcontrolador / Microprocessador
Sistema Operacional Embarcado
Linguagem de programao
Tipo de Processador
O Novo Embarcados
Posts populares
Arduino UNO 6.735 visualizaes
BeagleBone Black + Yocto 5.562 visualizaes
Simulador de Arduino: Virtual Breadboard 5.057 visualizaes
Comunicao Serial Java + Arduino 4.092 visualizaes
Links
Sobre
Eventos
Downloads
Login
Contato
Comunidade
Seja Colaborador
Oportunidades
Publicidade
Anuncie Conosco
Embarcados - Todos os Direitos Reservados
Fique por dentro
Registre-se
Newsletter
http://www.embarcados.com.br/spi-parte-1/
Desenvolvido por
7/7