SPI: modo TI ou Motorola?

8

Estou programando um bare metal do Cortex M3 para conversar com o SPI Flash. Um dos bits de configuração de um registro de controle SPI é FRF(formato de quadro). Pode ser definido no modo SPI Motorola (0) ou no modo SPI TI (1). (Consulte o manual de referência do ARM, página 695 aqui .)

A folha de dados do SPI Flash (disponível aqui ) não fornece indicação sobre qual modo devo usar.

Quais são os dois modos diferentes e quais devo usar para o chip Flash específico que estou usando?

Randomblue
fonte

Respostas:

1

O modo Motorola e TI se referem a diferentes configurações de polaridade do relógio (CPOL) e fase do relógio (CPHA). A polaridade do relógio determina se um sinal alto ou baixo marca um relógio; a fase informa ao dispositivo quando amostrar a linha de dados.

De acordo com a folha de dados do ARM, você pode definir o CPOL e o CPHA para o seu controlador SPI.

Seu chip flash (consulte o capítulo 3) suporta {CPOL = 0, CPHA = 0} ou {CPOL = 1, CPHA = 1}.

Para maiores informações, http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Clock_polarity_and_phase

Toby Jaffey
fonte
Aha, obrigada! Então, qual é qual? É {CPOL=0, CPHA=0}Motorola ou TI?
Randomblue 16/03/12
Não me lembro, ou encontro uma fonte autorizada.
Toby Jaffey
1
Toda vez que determino que o @Randomblue está com um escopo, acho muito mais fácil medir do que procurar.
Kortuk
1
@ Kortuk: Por "escopo" você quer dizer "osciloscópio", certo? Parece emocionante, mas nunca fiz isso antes. Você poderia apontar para um tutorial de algum tipo que explica como fazer isso?
Randomblue 16/03/12
7
Desculpe, mas essa resposta está errada. O modo TI não tem a ver com polaridade. Para obter informações mais detalhadas, acesse aqui: infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0194g/…
4

Uma breve olhada na folha de dados do ARM sugere que a principal diferença entre o modo TI e o modo Motorola está relacionada ao manuseio de um sinal de saída chamado SSPFSSOUT, do qual muitos dispositivos simplesmente não precisam. Esse sinal deve pulsar alto entre bytes, de modo a indicar qual bit de cada byte deve ser considerado o primeiro. No modo TI, aumenta durante a transmissão do último bit de byte, enquanto no modo Motorola aumenta e diminui entre bytes. O chip flash deseja um sinal de seleção de chip que seja mantido baixo durante toda a duração de uma transação, para que uma saída alta entre bytes não seja útil.

Eu esperava que, mesmo quando o SSPFSSOUT não fosse usado, o modo Motorola tornasse os dados mais fáceis de serem lidos em um escopo (já que haveria uma pausa após cada byte), mas o modo TI seria mais rápido (pois não perderia tempo fazendo uma pausa entre bytes). O importante, no entanto, é garantir que a sequência de sinais gerados pelo controlador atenda aos requisitos fornecidos na folha de dados dos periféricos.

supercat
fonte