Há problemas para acessar um cartão microSD via SPI quando existem outros dispositivos SPI escravos?

10

Estou trabalhando em um design que tenha uma CPU com apenas uma porta SPI. Eu tenho vários (3) escravos conectados a essa porta, um dos quais é um cartão microSD.

Aqui está um relatório de um engenheiro que afirma que os cartões SD são projetados para operar como o único escravo de um mestre SPI.

Alguém mais conseguiu usar um microSD ao lado de outros escravos SPI no mesmo barramento? Talvez este relatório tenha sido baseado apenas em um cartão miniSD específico e problemático?

Alguém recomendaria fechar a linha SPI CLK com a linha Slave Select que vai para o cartão miniSD, apenas por segurança?

jpeskin
fonte

Respostas:

12

De acordo com esta página, os cartões SD dirigem e / ou liberam a linha DO de forma síncrona com a linha sclk:

No barramento SPI, cada dispositivo escravo é selecionado com sinais CS separados e vários dispositivos podem ser conectados a um barramento SPI. O dispositivo escravo SPI genérico aciona / libera seu sinal DO por sinal CS de forma assíncrona para compartilhar um barramento SPI. No entanto, o MMC / SDC aciona / libera o sinal DO em sincronização com o SCLK. Isso significa que existe uma possibilidade de conflito de barramento com o MMC / SDC e quaisquer outros escravos SPI conectados a um barramento SPI. A imagem à direita mostra o tempo de acionamento / liberação do MMC / SDC (o sinal DO é puxado para 1/2 vcc para ver o estado do barramento). Portanto, para liberar o sinal DO do MMC / SDC, o dispositivo mestre deve enviar um byte após a desativação do sinal CS.

Portanto, apenas enviar um byte fictício para o SPI após elevar a linha CS deve funcionar. O site acima possui um diagrama de tempo do barramento SPI ao elevar a linha CS no cartão SD.

Além disso, é uma boa idéia garantir que, na inicialização / inserção do cartão, o microcontrolador negocie o uso do modo SPI com o cartão. Esses detalhes podem ser encontrados aqui

Em resumo, não há problema em compartilhar o barramento SPI com vários periféricos, desde que as precauções acima sejam tomadas.

justing
fonte
Grandes recursos, Justin. Obrigado! Espero que seja tudo o que preciso fazer para lidar com conflitos de escravos com o SD.
jpeskin 21/05