Analisando o Barramento Serial periférico (SPI)

um barramento serial pode ser mais eficiente do que o barramento paralelo tradicional. Mas há desafios em representar e fazer sentido do fluxo de dados serial no contexto do tempo do relógio. Essas dificuldades podem ser resolvidas usando as capacidades multi-canais de osciloscópios avançados, como os instrumentos da série Tektronix 3000.

tek series 3000
The Tektronix Series 3000 oscilloscopes can display serial bus activity including data and clock signals on the same time axis.

a chave para a compreensão e interpretação dos dados seriais e fluxos de relógio reside na compreensão do funcionamento interno de cada tipo individual de barramento de dados. Especificamente, considere o Barramento Serial Peripheral Interface (SPI). Assemelha-se ao autocarro I2C, mas existem diferenças significativas. Ambos são organizados em torno de arquiteturas mestre/escravo. Mas a ligação entre o mestre e os escravos é radicalmente diferente.

arquitetura SPI
as conexões de barramento SPI consistem de MOSI, maso e uma linha separada de seleção de escravos do mestre para cada escravo. Lógica – baixa tensão torna o escravo activo.

tipicamente, SPI opera com um único dispositivo mestre e um número de escravos, embora poucos como um escravo é possível. As linhas são as seguintes:
• uma linha de Relógio Série corre do mestre para cada escravo. O relógio existe no mestre e um sinal de relógio de onda quadrada é transmitido para o escravo que está ativo. A frequência do relógio é escolhida pelo usuário, mas não pode ser mais rápida do que a permitida para o dispositivo escravo mais lento. Assim, devem ser consultadas fichas individuais de dados sobre escravos na criação do sistema.

• Master-out, slave-in (MOSI). Esta é a linha que transmite os dados transmitidos pelo Mestre a qualquer escravo ativo. A linha corre para todos os escravos, mas aqueles que não estão ativos a ignoram.
• Master-in, slave-out (MISO). Esta linha transmite dados do escravo ativo ao mestre. Como MOSI e MISO são linhas separadas, os dados podem ser transmitidos em ambas as direções simultaneamente, em detrimento de nenhuma delas.
• Slave select (SS). Uma linha separada é executada para cada escravo. Normalmente, quando o sistema funciona, uma tensão lógica-alta do Mestre está presente no pino SS de cada dispositivo escravo. Para ativar um escravo, o mestre muda a tensão naquela linha SS para a lógica baixa. Este método de seleção de escravos é em vez do conceito de endereçamento como implementado no bus I2C.

o barramento SPI é algumas vezes chamado de esquema de três fios, ou um esquema de quatro fios se você contar uma linha SS para um único escravo. Escusado será dizer que cada um destes fios é na verdade um circuito de dois fios, então uma linha de retorno do solo é necessária, mas não é considerada na nomenclatura numérica. Um único condutor aterrado será suficiente para completar todos estes circuitos.

The Tektronix MDO Demo 1 Board provides numerous outputs including I2C and SPI bus clock and data signals. Ele é destinado a ir com os osciloscópios da série Tektronix MDO4000, mas também funciona bem com os instrumentos da série MDO3000.

The Tektronix MDO Demo 1 Board receives power via an unusual T-type USB cable that has dual USB type A connectors at one end. Eles introduzem nos dois osciloscópios USB slots. A lógica é que os requisitos de energia do Demo Board 1 são tais que se um cabo USB padrão fosse para ser usado, sobrecarregaria uma única saída USB no osciloscópio.

um vermelho e dois LEDs verdes indicam recepção de energia do osciloscópio e que a placa está pronta para ir. Existem inúmeros terminais de saída no tabuleiro. Eles são adequados para a conexão de sonda usando pontas de anzol de sonda e clipes de jacaré de retorno ao solo.

visor de sinais de SPI
Relógio de SPI, MOSI e sinais MISO apresentados no âmbito de Tektronix MDO3104.

to display SPI bus signals, TPP 1000 10:1 sondas plug into analog channel inputs One, Two and Three. Todas as pistas de retorno ao solo conectam-se a um dos terminais terrestres do tabuleiro, e as três pontas de sonda estão ligadas ao relógio SPI, terminais de sinal MISO e MOSI. Como sempre, os cabos de retorno do solo devem ser conectados primeiro, antes que a sonda caia.

pode-se usar um quarto canal de osciloscópio para exibir um sinal escravo-selecionado. Mas como este sinal é apenas um logic-high ou logic-low voltage, ele pode ser verificado em ambas as extremidades do barramento SPI usando um multimeter de alta impedância padrão ou sonda lógica.

o osciloscópio exibe então os dados de SPI e sinais de clock. Usando o canal um, canal dois e Canal três botões de escala seguido de Autoset, os pulsos podem ser ampliados para a legibilidade, e a aquisição pode ser parada para tornar a exibição mais estável. Os botões do inspetor de ondas podem ser usados para ampliar e ampliar os traços para uma olhada mais de perto. Então é uma matéria simples para comparar pontos no relógio e fluxos de dados para determinar o estado lógico (alto ou baixo) em qualquer ponto no tempo. O cursor vertical, movido ao rodar o botão polivalente a, é útil para ver como estes traços se alinham em relação ao tempo.

vimos como dados de barramento serial SPI e sinais de clock podem ser visualizados usando um osciloscópio. As sondas podem ser ligadas a terminais semelhantes num equipamento electrónico funcional (ou não funcional). (Certifique-se de voltar a executar a aquisição.)

ao contrário de I2C, não há um único padrão para SPI. Na década de 1980, foi desenvolvido pela Motorola para uso pelo microcontrolador da série 68000. O SPI é um padrão de facto e não oficial, e como tal permanece orgânico e sujeito a mudanças.

outros fabricantes introduziram SPI com variações. Assim, na implementação do projeto é necessário consultar fichas de dados. Por exemplo, alguns dispositivos escravos requerem uma borda em queda no sinal SS para iniciar a comunicação. Quando existem vários tipos de escravos, são necessários sinais iniciadores diferentes do mestre. Como a I2C, a SPI é um autocarro em série de curta distância. Devido ao seu baixo consumo de energia, é muitas vezes usado em telefones celulares, assistentes digitais pessoais e equipamentos móveis similares para implementar a interação entre CPU, display, teclado e circuitos integrados.

as variações incluem omitir a linha MISO quando a comunicação de escravo para mestre é desnecessária. Além disso, a linha SS não é necessária quando há apenas um único escravo, e o pino escravo-selecionado é ancorado para que ele esteja sempre ativo.

embora seja verdade que SPI é uma interface serial síncrona (SSI), difere radicalmente do protocolo SSI, que é caracterizado por sinalização diferencial e um único canal de comunicação simplex.

registradores de deslocamento de SPI há transmissão full-duplex, MOSI e MISO, durante cada sinal de relógio. Um bit é enviado em cada direção nas duas linhas separadas. O procedimento habitual emprega dois registradores de turno, um no mestre e outro no escravo. A transmissão Duplex continua através de um número suficiente de ciclos de clock para completar a transmissão. Desta forma, o mestre e o escravo adquirem os registros, tal como transmitidos sobre as duas linhas. Se restarem mais dados, os registos de turnos são recarregados e a transmissão recomeça.

this process continues through as many clock cycles as necessary, whereupon the master allows the select signal to go to logic high, deselecting the slave. As Transmissões são muitas vezes de 8 bits, mas existem variações como 12 bits para muitos DACs e ADCs, e 16 bits para controladores de touchscreen.

devido a diferenças de hardware e protocolo de facto, o barramento SPI tem um espectro de vantagens e desvantagens em relação ao I2C e outros tipos de barramento. As vantagens incluem a capacidade full-duplex apenas adicionando outra linha. Além disso, há boa integridade do sinal, transmissão de alta velocidade, e transmissão de dados mais potencial em comparação com I2C. além disso, o conteúdo da mensagem é ilimitado e não se restringe a unidades de dados de 8 bits. Geralmente, a necessidade de energia é menor do que na I2C, porque resistências pull-up são desnecessárias. SPI também é confiável porque não precisa de arbitragem, e não há necessidade de endereços escravos únicos. Como não há velocidade máxima do relógio além de restrições de dispositivo escravo, há o potencial para operação de alta velocidade.

como em qualquer tecnologia, existem desvantagens em relação a alguns outros protocolos. Porque não há reconhecimento de escravo, em caso de falha de escravo ou cabeamento, o mestre, sem saber que algo está errado, pode estar falando em um vazio sem ouvinte. Além disso, a falta de um único padrão formalizado pode tornar a validação de Conformidade impraticável. Além disso, a existência de numerosas variações não regulamentadas do SI pode tornar a aquisição de hardware problemático.

ao longo da estrada, é concebível que SPI pudesse ver um maior grau de codificação. Este desenvolvimento significará novas melhorias SPI que poderiam reduzir a confusão que agora existe. Dito isto, tal como está actualmente implementado, o SPI é bastante convivial, particularmente na sua exigência de pouca energia.

Deixe uma resposta

O seu endereço de email não será publicado.

More: