Serie de interfaces perifericas
O protocolo SPI (Serial Peripheral Interface bus) foi definido pela Motorola e é utilizado para ligar o processador a periféricos no âmbito de uma placa electrónica. Cobre o mesmo campo de aplicação que o protocolo I²C e suporta ritmos superiores. A interface física é composta pelos sinais MOSI, MISO e SCLK que ligam, em barramento, a todos os intervenientes, e pelos sinais de seleção SSn, um por cada periférico. A transferência de dados processa-se em full-duplex sobre os sinais MOSI (Master Output Slave Input MISO) e MISO (Master Input Slave Output). O ritmo de transferência é definido pelo processador, no papel de master, através do sinal SCLK. A seleção do periférico é feita através do sinal SSn. A transferência de dados é sempre realizada em full-duplex, por isso o SPI é um protocolo muito eficiente. Se pretender transferir dados num único sentido, o dispositivo no papel de receptor terá que transmitir dados fictícios e o emissor simplesmente ignorar os dados recebidos. Existem quatro variantes quanto ao posicionamento relativo do sinal de relógio em relação aos sinais de dados. Cada uma destas variantes designa-se por modo e corresponde às quatro combinações dos parâmetros CPHA e CPOL. Quando o parâmetro CPHA é zero, os dados são capturados na primeira transição de relógio, quando CPHA é um, os dados são capturados na segunda transição do relógio. O parâmetro CPOL define a polaridade do sinal em repouso e como consequência o sentido das transições durante a transferência. Em todos os casos aplica-se o seguinte princípio: os dados são capturados pelo receptor na transição de relógio oposta à que são colocados pelo transmissor. Dispõe-se assim de meio período de relógio para estabilização dos dados. Uma transferência é sempre realizada pela iniciativa do master, tem uma duração previsível e sucede sempre sem erros. Se o periférico não existir a transação processa-se na mesma e terão que ser as camadas superiores do software a detectar. Uma