Teste de Leitura e Escrita do SD
Ver glossário para mais informações sobre o teste
O teste de leitura e escrita foi feito usando a biblioteca SdFat. São escritas 20000 linhas de dados de 2 bytes (short), 4 bytes (int) e float.
#
Teste 1 - Arduino#
Teste 2 - TeensyEmbora o teste acima tenha rodado bem no Arduino, não obtivemos sucesso nenhum no uso do microSD com o Teensy no CDHS prototipado. Em toda inicialização uma exceção era lançada e códigos de erro distintos eram printados (como 0X55,0XFF, 0X30,0X3F, 0X25,0XFF). O provável responsável por esse problema é o ruído na linha de SPI, principalmente porque a placa prototipada possui um jumper na trilha de clock. Após leitura de algumas referências sobre SPI (entre elas este ótimo artigo: What Could Go Wrong: SPI), percebemos que a frequência de SPI poderia estar correlacionada com esse problema. De fato, quando diminuímos a frequência de 50MHz para 1MHz o código rodou sem problemas.
Fomos aumentando a frequência até chegar ao máximo de 29MHz. Acima disso o problema volta a se manifestar. Abaixo estão os resultados para diferentes frequências de SPI.
Obs: outra coisa que pode ser feita para aumentar ainda mais a velocidade de salvamento é mudar o argumento em file.open() de 'FILE_WRITE' para 'O_WRITE | O_CREAT'