Скопируйте одну SD-карту на другую

Я хочу скопировать SD-карту на другую.

Как лучше всего решить эту проблему?

Должен ли я получить два экрана SD-карты? Если да, то можно ли стекировать два вместе, или будут проблемы с интерфейсными протоколами (SPI/I2C)?

, 👍0

Обсуждение

Зачем вам делать это с помощью Arduino, если вы можете так легко сделать это на ПК?, @Majenko

Потому что иногда ПК просто недоступен., @user1584421

Тогда достаточно справедливо., @Majenko


1 ответ


2

Это должно быть вполне возможно сделать. Пока SD-карты и экраны работают, с аппаратной точки зрения проблем быть не должно.

С точки зрения аппаратного обеспечения вы должны иметь возможность совместно использовать линии MOSI, MISO и SCK и иметь отдельные контакты CS для каждой карты.

Однако некоторые экраны SD-карт используют преобразование уровней, которое не освобождает шину SPI должным образом в режиме ожидания, а некоторые дешевые SD-карты также не освобождают шину своевременно.

С точки зрения программного обеспечения это может быть другое дело. Я не уверен, насколько хорошо вы можете запускать два экземпляра классов SD одновременно на Arduino. Возможно, вам лучше взглянуть на FatFS, которая гораздо более гибкая.

У вас есть две стратегии копирования карт, каждая из которых имеет свой способ программирования.

  1. Блочное копирование всей карты: это включает в себя чтение блока размером 512 байт с одной карты и запись его на другую. Это было бы наиболее эффективно с точки зрения ресурсов (вам не нужно заботиться о содержимом карты, поэтому не нужен код файловой системы), но если карта не близка к заполнению, это будет очень неэффективно с перспектива выполнения. Кроме того, две карты должны быть одинакового размера, чтобы все работало корректно.
  2. Копия файла. Для этого вам нужен гораздо более сложный код, но вы только копируете каждый файл с одной карты на другую. Однако гораздо лучше, если на карточках не будет много данных — также карточки могут быть разных размеров.
,

Время, необходимое для блочного копирования полной «маленькой» SD-карты на 16 ГБ через SPI, вероятно, больше, чем поиск ПК :), @DataFiddler

Может быть, если две ардуино - где у каждой шилд для сд карты, и они как-то общаются? Может быть, это лучший выбор?, @user1584421