Скопируйте одну SD-карту на другую
Я хочу скопировать SD-карту на другую.
Как лучше всего решить эту проблему?
Должен ли я получить два экрана SD-карты? Если да, то можно ли стекировать два вместе, или будут проблемы с интерфейсными протоколами (SPI/I2C)?
@user1584421, 👍0
Обсуждение1 ответ
Это должно быть вполне возможно сделать. Пока SD-карты и экраны работают, с аппаратной точки зрения проблем быть не должно.
С точки зрения аппаратного обеспечения вы должны иметь возможность совместно использовать линии MOSI, MISO и SCK и иметь отдельные контакты CS для каждой карты.
Однако некоторые экраны SD-карт используют преобразование уровней, которое не освобождает шину SPI должным образом в режиме ожидания, а некоторые дешевые SD-карты также не освобождают шину своевременно.
С точки зрения программного обеспечения это может быть другое дело. Я не уверен, насколько хорошо вы можете запускать два экземпляра классов SD одновременно на Arduino. Возможно, вам лучше взглянуть на FatFS, которая гораздо более гибкая.
У вас есть две стратегии копирования карт, каждая из которых имеет свой способ программирования.
- Блочное копирование всей карты: это включает в себя чтение блока размером 512 байт с одной карты и запись его на другую. Это было бы наиболее эффективно с точки зрения ресурсов (вам не нужно заботиться о содержимом карты, поэтому не нужен код файловой системы), но если карта не близка к заполнению, это будет очень неэффективно с перспектива выполнения. Кроме того, две карты должны быть одинакового размера, чтобы все работало корректно.
- Копия файла. Для этого вам нужен гораздо более сложный код, но вы только копируете каждый файл с одной карты на другую. Однако гораздо лучше, если на карточках не будет много данных — также карточки могут быть разных размеров.
Время, необходимое для блочного копирования полной «маленькой» SD-карты на 16 ГБ через SPI, вероятно, больше, чем поиск ПК :), @DataFiddler
Может быть, если две ардуино - где у каждой шилд для сд карты, и они как-то общаются? Может быть, это лучший выбор?, @user1584421
- Как увеличить скорость записи на SD-карту в Ардуино
- SD-карта не инициализируется
- Что означают эти контакты? Куда мне их подключить?
- Режимы открытия файлов на SD-карте Arduino добавление/перезапись
- Какие контакты можно использовать для выбора микросхемы (CS, CC) на Arduino Nano Every?
- Понимание того, почему следует избегать «String» и альтернативных решений
- Сделать CS (chip select) для работаты в SPI (для и SD карты и OLED)
- Можно ли подключить экран SD-карты к плате Digispark ATtiny85?
Зачем вам делать это с помощью Arduino, если вы можете так легко сделать это на ПК?, @Majenko
Потому что иногда ПК просто недоступен., @user1584421
Тогда достаточно справедливо., @Majenko