sábado, 17 de março de 2007

CRC nos comandos do cartão MMC

Quando os cartões SD e MMC operam em modo SPI eles ignoram (por default) o CRC dos comandos enviados; porém passei um bom tempo pra descobrir que o cartão MMC que eu estou testando se recusava a enviar o "data token" quando a CRC "dummy" enviado no final do comando era "00" (zero). Quando desconfiei disso, mudei para 0FFh (255), e o problema foi resolvido. Eu desconfio (embora não tenha testado) que manter o bit 0 (zero) do byte de CRC em nível lógico alto, já resolva o problema. Interessante que para o cartão SD este valor não fez a menor diferença.

De qualquer forma, embora o CRC dos comandos dos cartões SD/MMC seja ignorado, é recomendável utilizar o valor OFFh para evitar surpresas.

Um comentário: