Недавно заинтересовался PIC контроллерами. Подкупает цена (дешевые) и более-менее понятный для меня ассемблер. Так же недавно узнал о такой приятной фичи в некоторых, под названием Parallel Slave Port (PSP). Фактически, 8-ми разрядный порт выделяется для ввода-вывода, присутствуют так же контролируемые аппаратно DR (data read), DW (data write) и CS (chip select). Задержки здесь минимальны (ибо аппаратно) и составляют наносекунды. В теории, из этого следует, что можно изготовить адаптер SD-карты из двух микросхем - непосредственно самого PIC и дешифратора адреса порта ввода-вывода. Порт сделать, скажем 0x300h, дешифратор сделать на одной РТ4. Ах да, ну и еще одна микросхема - SD карта.
С SD-картой общаться по SPI, без файловой системы, блоками по 512 байт. Так, как порт ввода-вывода один, то придумать последовательный протокол обмена. Например, сначала посылаем в порт команду "чтение сектора", затем логический адрес блока SD-карты. После этого в цикле читаем из порта 512 байт. Контроллер после получения команды "чтение" читает в собственную память по SPI 512 байтный блок с SD карты.
Со стороны PC (компьютера) на начальном этапе общение происходит просто в отдельной программе, затем все обернуть в дополнительный ROM BIOS с обработкой int 13h прерывания. На адаптер добавляются EEPROM, дешифратор для него и буффер (3 микросхемы).
В конечном итоге аддаптер должен состоять из 5 микросхем и 1 SD-карты.