MicroSD

Memória não-volátil para armazenamento de dados

Muitos projetos precisam de uma capacidade de armazenamento de dados maior do que a memória EEPROM ou Flash interna de um microcontrolador, ou mesmo de chips dedicados de memória com interface serial (como o disponível no Nanoshield RTCMem). Alguns exemplos de projeto desse tipo são os que envolvem dados como áudio, gráficos e registro (log) de dados de sensores.

Com o Nanoshield MicroSD é possível expandir a capacidade de armazenamento de dados do seu projeto usando um cartão microSD de até 32GB. Além disso, como essa é uma mídia removível, você dispõe de maior flexibilidade no acesso aos dados. Por exemplo: você pode registrar dados de sensores em um arquivo no cartão microSD, depois removê-lo e acessar os dados diretamente em um computador usando uma leitora de cartões.

Um dos modos de comunicação com um cartão SD ou microSD é via uma interface SPI. Essa é a interface utilizada no Nanoshield MicroSD, permitindo que o hardware SPI disponível no microcontrolador (Arduino) seja utilizado para acessar os dados do cartão de forma eficiente. O Nanoshield MicroSD é totalmente compatível com a biblioteca SD padrão do Arduino, e assim é possível rodar diretamente os exemplos fornecidos na Arduino IDE ou outros projetos encontrados na rede. Essa biblioteca é capaz de acessar cartões formatados nos padrões FAT16 ou FAT32.

Os sinais provenientes da interface SPI passam por um buffer que os converte para 3,3V. Desse modo, você pode utilizar o MicroSD com um microcontrolador que esteja alimentado com 5V ou 3,3V e que reconheça 3,3V como nível lógico alto (como é o caso do Arduino).

O Nanoshield MicroSD pode ser utilizado simultaneamente com outros Nanoshields que utilizem interface SPI. Para isso, basta que o software do Arduino ative um deles de cada vez através dos respectivos pinos /CS de cada um.

Características

  • Cartões SD ou SDHC de até 32GB.
  • Formatação FAT16 ou FAT32 (via biblioteca padrão do Arduino).
  • Regulador de 3V3 próprio, não adicionando carga extra ao regulador interno do Arduino.
  • LED para detecção de cartão inserido.

Diagrama de blocos MicroSD

MicroSD Arduino Função
/CS D4 Chip select barramento SPI
SDI D11 Linha de dados barramento SPI (MOSI)
SDO D12 Linha de dados barramento SPI (MISO)
SCK D13 Linha de clock barramento SPI
3V3 3V3 Entrada Alimentação 3,3V (opcional)
VCC VCC Entrada alimentação 5V
VIN VIN Entrada alimentação externa
GND GND Tensão de referência (terra)
Tabela de descrição dos pinos

Especificações elétricas

  • Alimentação: pode ser feita tanto pelo pino VIN como pelo pino VCC. O intervalo de tensão para o pino VIN é de 7V até 12V (limite máximo até 20V); para o pino de VCC o intervalo é de 4,5 até 5,5V (valor típico de 5V). Quando houver alimentação presente nos pinos VIN e VCC simultaneamente, a alimentação do pino VIN tem prioridade e será selecionada automaticamente para alimentar o módulo.

  • Consumo: o cartão microSD é o principal responsável pelo consumo de corrente, ela pode variar de 20mA até 100mA dependendo do fabricante, modelo e taxa de transferência.

  • Níveis lógicos: os pinos de entrada referentes à SPI (SDI, SCK e /CS) funcionam com níveis lógicos de 5V ou 3,3V. O pino de saída da SPI (SDO) tem nível lógico de 3,3V e é 100% compatível com os níveis de tensão aceitos pelo Arduino.

Links

  • Biblioteca SD - Documentação da biblioteca padrão do Arduino para acesso ao cartão MicroSD.

Downloads