tutorial SPIinterface.

O barramento SPI(Serial Peripheral Interface)é um protocolo de comunicação série de alta velocidade, 3 fios (4 Se você incluir SSn-veja abaixo). Itsprimiary purpose is to reduce on-PCB wire routing by replacing the traditional parallel bus with a serial interface. (Você pode apenas sobremanagear um bus de 8 bits encaminhando-o através de uma camada vários PCB, mas quando você chegar a 16, 32 bits e mais ele fica muito mais difícil).,

As conexões são:

  • MOSI (Master Out Slave In) .MISO (Master In Slave Out) .SCK (Relógio de escravos) .
  • Ss_ N (selecção de escravos).

– indica a nomenclatura PIC

Nota: O último sinal SS ou slave select é separado do protocolo e é normalmente implementado como um PIN de controle ativador do microcontrolador. Está incluído aqui para ser completo.

A interface SPI PIC permite a conexão de periféricos usando uma interface serial de alta velocidade. SPI FlashMemory e SPI SRAM podem ser facilmente adicionados a qualquer sistema., Outros tipos de dispositivo incluem:

  • ADC.DAC.Flash.
  • EEPROM.
  • Accellerómetros.
  • LCDs.
  • temperatura& sensores de humidade.
  • …e muitos mais.

Itsonly outros concorrência real é o I2C bus, que é por isso que muitas vezes seethese interfaces disponíveis em processadores e microcontroladores.

A interface SPI foi projetada na década de 1970 pela Motorola, que a usou em seu 68000processador, e foi rapidamente adotada por muitos outros fabricantes como um padrão defacto.,

ITIS intended for transmission of data from a master device to one or more slavedevices over short distances and at high speeds (MHz).

How it Works

It works by transfer data one bit at a time between two devices with the master device sending the clock signal (SCK). O relógio controla o momento da transferência de dados.

Data (MOSI )é enviado de um registro de deslocamento no dispositivo mestre SPI junto com um sinal de relógio (SCK), enquanto ao mesmo tempo outro registro de deslocamento recebe dados do slave (MISO,).,

O Mestre está sempre no controle e inicia a transferência de dados usando o sinal de relógio. Os dispositivos Slave são selecionados usando um sinal de seleção escravo separado que é controlado por software, ou seja, esses sinais são separados do módulo de hardware SPI.

Nota: O número de bits não é definido pelo protocolo de modo que você não está limitado a usar apenas 8 – pode ser qualquer número de bits. Isto é útil quando daisy chaining SPI slaves como você precisa para definir o número de bits para a soma de todos os bits necessários para cada dispositivo.,

Nota: A SPI define um único sistema principal.

O Protocolo alternativo, IIC, permite a operação mestre múltipla de barramento.

definição do relógio da interface de SPI

o relógio de SPI não está definido de todo – o que significa que diferentes dispositivos escravos podem assumir diferentes operações de relógio; um escravo pode exigir um relógio ocioso que é alto, enquanto outro pode exigir um estado ocioso de baixo. Outros irão reagir à borda ascendente enquanto outros reagem à borda descendente!,

a interface SPI protocl copia com isso, permitindo que você programe esses detalhes para o módulo de hardware SPI.

A imagem seguinte mostra a interface PIC para SPI (todos os módulos de hardware SPI em outros microcontroladores permitirão a mesma operação usando registos diferentes).,

Interface SPI PIC sinais (extracto do PIC folha de dados DS39582B)

por Isso é até você para ajustar o relógio para o dispositivo quando ele é ativado por um escravo seleccionar sinal (ou, no caso de um único escravo é sempre escolhido de forma não haverá nenhum escravo seleccionar sinal).

Arduino SPI Connection

O diagrama seguinte mostra a interface para as conexões SPI que também acontece ser o conector de programação (ICSP), no tabuleiro Arduino, que permite a programação direta do ATmega328p.,p>

5 – Reset

6 – GND

Location of the SPI connector on Arduino Uno R3

Photo Credit : kenming_wang (mod shows ICSP)

Different SPI Interface operational Modes

There are three ways of using the SPI interface

  1. Single Master – Single Slave.,
  2. single Master – Multiple Slaves – Chip selected.um único Mestre-vários escravos-dasiy acorrentado.escravo único.

    Aqui está o programa de configuração para um único SPI dispositivo de conexão:

    Nota: O sinal de chip select SS é opcional para um único dispositivo de sistema normalmente você vai amarrar o SSinput em que o escravo de baixo (se as outras linhas são dedicadas a SPI uso).,

    Interface SIP: usando chip selecciona

    com este esquema, controla cada dispositivo escravo a usar a sua linha de selecção de chip (normalmente as setas baixas – vermelhas activas mostram linhas de controlo). Quando desactivado, a saída de dados do ‘Slave’ vai para um estado de impedância elevado, para que não interfira com o escravo actualmente seleccionado e a entrada de dados do ‘slave’ seja ignorada (checkdatasheet).,
    a vantagem deste esquema é que você pode considerar (controlar) cada deviceseparadamente quando você compará – lo com o método da cadeia daisy-permitindo a conexão de dispositivos SPI que requerem diferentes esquemas de clock.

    Se tiver escravos SPI que operam com diferentes relógios (arestas/Estados inactivos), poderá programar de novo O módulo de ‘hardware’ master SPI antes de activar um CS específico, para que cada escravo tenha os sinais correctos enviados para ele.

    Se você usar o método da cadeia de margaridas, então você precisa se certificar de que todos os chips usam o mesmo limite de relógio e estado de inactividade do relógio.,

    SPIInterface: Daisy chaining

    com este esquema todos os dados enviados pelo mestre são deslocados para todos os dispositivos e todos os dados enviados de cada dispositivo são deslocados para o próximo (mostrado pela seta pontilhada vermelha). Para que este esquema funcione você tem que se certificar de que cada escravo usa o relógio da mesma maneira e você tem que obter o número certo de bits, assim que há mais trabalho a fazer no software.

    Nota: A vantagem do método da cadeia Daisy é que você guarda um sinal de seleção de chip para cada dispositivo slave SPI.

    Mais informações na Wikipédia.,

    SPI Interface Daisy Chain

    SPI Daisy Chain Example

    Use vários chips HC595, daisy-chain linked, dando um aumento fácil no número de saídas disponíveis sem usar muitos microcontroladores pinos.

    os limites de operação são a velocidade de HC, a velocidade da saída de SPI. Considerar também, por exemplo, se conduzir um conjunto de LEDs que deve ser actualizado a cada 20ms.

    paralelo Versus Serial SPI

    a troca entre o uso de uma interface paralela e a interface SPI é a velocidade, por exemplo., se você ler um ADC paralelo de 12 bits a 200ksps, então você pode ler o dispositivo a uma taxa de 200kHz, mas se você quiser obter a mesma taxa de dados usando SPI então você precisa de uma velocidade de série de 200kHz x 12 = 2,4 MHz. Assim, o comércio actual é a velocidade e o ruído daí resultante introduzido no circuito.

    resumo

    a interface SPI define um protocolo muito popular que funciona a alta velocidade. O principal problema é que os dispositivos escravos não estão vinculados por nenhum esquema de clocking particular para que possam operar de forma diferente uns dos outros e que podem tornar o controle deles difícil., a marcha lenta SEM carga e a aresta do relógio devem ser ajustadas correctamente para cada dispositivo.

    vantagens:

    • alta velocidade.interface extremamente simples que é fácil de replicar no software.

    desvantagens:

    • chips de escravos são livres para adotar qualquer esquema de clocagem que eles exigem.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *