Descrição geral

Arquitetura "Master-Slave" com ligação ponto a ponto

Comunicação bidirecional full-duplex

Comunicação síncrona (relógio explícito do master)

  • Relógio é gerado pelo master que o disponibiliza para todos os slaves

  • Não é exigida precisão ao relógio - os bits vão sendo transferidos a cada transição de relógio. Isto permite utilizar um oscilador de baixo custo no master (não é necessário um cristal de quartzo)

Fácil de implementar por hardware ou por software

Não são necessários "line drivers" (ou "transceivers“) - circuitos de adaptação ao meio de transmissão

Arquitetura "Master-Slave"

  • O sistema só pode ter um master

  • O master é o único dispositivo no sistema que pode controlar o relógio

Um master pode estar ligado a vários slaves: para cada comunicação, apenas 1 slave é selecionado pelo master

O master inicia e controla a transferência de dados

Sinalização:

  • SCK - clock

    • Relógio gerado pelo master que sincroniza a transmissão/receção de dados

  • MOSI Master Output Slave Input (SDO no master)

    • Linha do master para envio de dados para o slave

  • MISOMaster Input Slave Output (SDI no master)

    • Linha do slave para enviar dados para o master

  • SS – Slave Select

    • Linha do master que seleciona o slave com quem vai comunicar

Esquema de princípio

Transmissão "full-duplex" baseada em dois shift-registers (um no master e outro no slave)

Em cada ciclo de relógio:

  • O master coloca 1 bit na linha MOSI e o slave recebe-o

  • O slave coloca 1 bit na linha MISO e o master recebe-o

Ao fim de N ciclos de relógio o master enviou uma palavra de N bits e recebeu do slave uma palavra com a mesma dimensão – "Data Exchange"

Esta sequência é realizada mesmo quando é pretendida uma comunicação unidirecional

Sinalização

Dados:

  • MOSI – Master Output Slave Input (SDO – serial data out no master)

  • MISO – Master Input Slave Output (SDI – serial data in no master)

Controlo:

  • SS – Slave select (sinal ativado pelo master para selecionar o slave com quem vai comunicar)

  • SCK – serial clock

O sinal de relógio tem um "duty-cycle" de 50%

No exemplo da figura:

  • master e slave usam a transição negativa do relógio para colocarem 1 bit na linha (master na linha MOSI, slave na linha MISO)

  • Na transição positiva seguinte, o master armazena o valor presente na linha MISO e o slave armazena o valor que se encontra na linha MOSI

Last updated