Kruftin 0 14 марта, 2013 Опубликовано 14 марта, 2013 (изменено) · Жалоба Подскажите возможно ли реализовать запись и чтение с помощью интерфейса SPI на microSD карту без реализации на ней файловой системы FAT32. Т.е. как с контроллера просто использовать microSD карту для хранения данных. Если обязательно нужно организовывать файловую систему, то подскажите поподробнее как это сделать, заранее благодарен за полезные ссылки. Сейчас разбираюсь с модулем FatFS Изменено 14 марта, 2013 пользователем Kruftin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 14 марта, 2013 Опубликовано 14 марта, 2013 · Жалоба Файловую систему создавать не обязательно, можно работать просто как с "памятью". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 14 марта, 2013 Опубликовано 14 марта, 2013 · Жалоба Не подскажите как, поподробнее? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 14 марта, 2013 Опубликовано 14 марта, 2013 · Жалоба Пример можно подсмотреть в том же FatFS. Вам просто нужно взять самый нижний уровень и использовать его по своему усмотрению. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Слесарь 9 14 марта, 2013 Опубликовано 14 марта, 2013 · Жалоба А хорошо когда полноценная FS , данные можно с легкостью вводить/редактировать с ПК Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 14 марта, 2013 Опубликовано 14 марта, 2013 · Жалоба Не подскажите как, поподробнее?CMD17/18/24/25: http://elm-chan.org/docs/mmc/mmc_e.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 15 марта, 2013 Опубликовано 15 марта, 2013 · Жалоба Тогда ещё вопрос: после того как записали блок в 512 байт в команде на запись какой будет следующий адрес блока(не 0x201 будет его значение)? А по структуре регистров CSD, CID почитать в документации общей на SD карты? http://www.piclist.ru/S-MMC-SD-Cards-RUS/S...-Cards-RUS.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 16 марта, 2013 Опубликовано 16 марта, 2013 · Жалоба Тогда ещё вопрос: после того как записали блок в 512 байт в команде на запись какой будет следующий адрес блока(не 0x201 будет его значение)? А по структуре регистров CSD, CID почитать в документации общей на SD карты? http://www.piclist.ru/S-MMC-SD-Cards-RUS/S...-Cards-RUS.html Если карта пишет блоками (по 512 байт), то следующий блок Вы можете писать по любому адресу. А как иначе? Если файл фрагментирован, к примеру. Для того, чтобы писать несколько блоков подряд, есть другая команда. Как и на чтение. Другими словами, Вы можете писать и читать либо по одному блоку по любому адресу, либо несколькими блоками подряд. Но команды нужно использовать соответствующие. Про них, ровно как и про регистры, следует читать только в официальной документации на официальном сайте. З.Ы. Я надеюсь, Вы в курсе, что есть карты, которые не поддерживают блоки по 512 байт. Там нужно побайтно задавать адреса. Сам плохо в этом разбираюсь, так как работал с SDHC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 16 марта, 2013 Опубликовано 16 марта, 2013 · Жалоба З.Ы. Я надеюсь, Вы в курсе, что есть карты, которые не поддерживают блоки по 512 байт. Вот таких карт как раз нет: любая обязана поддерживать 512 байт. Там нужно побайтно задавать адреса. Сам плохо в этом разбираюсь, так как работал с SDHC. Адресация - это несколько из другой оперы: в HC передается номер блока, в "обычных" - его адрес. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 16 марта, 2013 Опубликовано 16 марта, 2013 · Жалоба Вот таких карт как раз нет: любая обязана поддерживать 512 байт. Здорово! Вот и мое незнание вылечили! :rolleyes: Адресация - это несколько из другой оперы: в HC передается номер блока, в "обычных" - его адрес. Ага, теперь я понял, что неправильно понял спецификацию... Ну чтож, истина всплывает :rolleyes: З.Ы. Когда занимался написание драйвера для LPC24x8, прочесывал форум на момент различных тонких моментов. Отметил Вашу высокую активность в темах по SD-картам. Как я понял, Вы на них собаку съели?! Очень уж у Вас информативные, и познавательные сообщения и советы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 16 марта, 2013 Опубликовано 16 марта, 2013 · Жалоба З.Ы. Когда занимался написание драйвера для LPC24x8, прочесывал форум на момент различных тонких моментов. Отметил Вашу высокую активность в темах по SD-картам. Как я понял, Вы на них собаку съели?! Очень уж у Вас информативные, и познавательные сообщения и советы! Собака - она сама по себе съедается, когда нужно, чтобы в устройстве работала любая SD-карта :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 19 марта, 2013 Опубликовано 19 марта, 2013 · Жалоба Тогда ещё такой вопрос при посылке пакета после data token следуют данные пакета, так вот их размер от 1 до 2048 байт. Т.е. при отключенном контроле CRC как карточка поймёт, что вот я послал пакет из 5 байт например и мне нужно прислать ответ? Конечно в документации написано, что в конце стоит стоп бит единица, ну т.е. если отключён контроль CRC, то нужно послать два нулевых байта и один бит единицу после этого? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 19 марта, 2013 Опубликовано 19 марта, 2013 · Жалоба при посылке пакета после data token следуют данные пакета, так вот их размер от 1 до 2048 байт. Лучше считать, что для данных этот размер всегда 512 байт. Карт, поддерживающих произвольные размеры блоков, практически не встречается. нужно послать два нулевых байта и один бит единицу после этого? Только не бит, а байт 0xFF. В SPI режиме всегда передаются байты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 19 марта, 2013 Опубликовано 19 марта, 2013 (изменено) · Жалоба Ну SPI умеет делать посылки и по 4 бита, но тут то мне нужно получается послать два байта контроля и байт единиц и только после этого послать ещё запрос на считывание байта ответа так? Изменено 19 марта, 2013 пользователем Kruftin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 19 марта, 2013 Опубликовано 19 марта, 2013 · Жалоба Ну SPI умеет делать посылки и по 4 бита, но тут то мне нужно получается послать два байта контроля и байт единиц и только после этого послать ещё запрос на считывание байта ответа так? Пардон, с SD-режимом спутал. Не нужен байт единиц, токен приходит сразу после CRC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться