Не вижу никаких проблем. Интерфейс SPI -- это 8-бит сдвиговый регистр и счётчик до 8. MMC режим в SD/MMC картах -- это и есть SPI.
Не вижу никаких проблем. Интерфейс SPI -- это 8-бит сдвиговый регистр и счётчик до 8. MMC режим в SD/MMC картах -- это и есть SPI.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
схемотехнически вопросов нет.....а вот програмно - вагон и телега
Это обычное блочное устройство с блоками по 512 байт. Единственная проблема, которую я тут вижу -- это сектор в 128 байт у TR-DOS, тут придётся городить буферизацию. Поскольку карта не позволяет писать блок по частям.
PS: Если чего, то поддержку SD Card + FAT16 я когда-то давно уже делал на микроконтроллере. Ничего особо сложного там нет.
У TR-DOS сектора по 256, что логично для восьмибиток, но не суть. Наиболее простое решение - игнорить "лишнюю" часть сектора. То бишь драйвер пишет/читает полный 512 сектор на карту, но в комп/из компа передаётся половина, остальное добивается незначащими данными. Реальный объём данных на карте, само собой, вырастет вдвое, но, учитывая гигабайтные размеры SD-карт, никакой проблемы в этом не вижу.
Можно даже дублировать передаваемые байты, что даст некую дополнительную "защиту" от ошибок: сверяем два соседних байта, если не совпадают - ошибка. На выходе как раз будут нужные 256.
Последний раз редактировалось reddie; 30.03.2022 в 13:20.
Да, действительно, попутал.
Использовать пол-сектора можно. Выигрыша в надёжности не будет -- встроенный в карту контроллер и так занимается проверками целостности данных и исправлением одиночных ошибок чтения. В случае, если исправить не удалось, то он вообще не будет выдавать никаких данных, просто выдаст ошибку чтения.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)