segunda-feira, 12 de fevereiro de 2007

HB-7000: Rotinas básicas

Continua o trabalho de reescrever as rotinas para acesso ao cartão.

A rotina de inicialização do cartão agora trabalha no modo nativo da interface, ou seja, tanto a leitura quanto a escrita na porta SPI causam a transferência de um byte.

Foi adicionada ainda a capacidade de inicialização tanto de cartões MMC quando SD. Isso é feito da seguinte maneira: Logo após o cartão responder positivamente ao comando CMD0, envia-se repetidamente o comando CMD1, até que o cartão responda, ou que aconteça um "timeout". Se houver um "timeout" ou se o cartão responder com o bit de "illegal command" ativo, então o processo é repetido usando-se o comando ACMD41, que é na realidade o par de comandos CMD55 e CMD 41 enviados consecutivamente. Desta vez, caso haja um "timeout" a rotina retorna erro.
Esse procedimento é necessário, pois nem todos os cartões SD respondem ao comando CMD1.

Nenhum comentário: