реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> запись по SPI, microSD
Kruftin
сообщение Mar 14 2013, 10:05
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Подскажите возможно ли реализовать запись и чтение с помощью интерфейса SPI на microSD карту без реализации на ней файловой системы FAT32. Т.е. как с контроллера просто использовать microSD карту для хранения данных. Если обязательно нужно организовывать файловую систему, то подскажите поподробнее как это сделать, заранее благодарен за полезные ссылки. Сейчас разбираюсь с модулем FatFS

Сообщение отредактировал Kruftin - Mar 14 2013, 10:11
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 14 2013, 10:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Файловую систему создавать не обязательно, можно работать просто как с "памятью".
Go to the top of the page
 
+Quote Post
Kruftin
сообщение Mar 14 2013, 10:59
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Не подскажите как, поподробнее?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 14 2013, 12:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Пример можно подсмотреть в том же FatFS. Вам просто нужно взять самый нижний уровень и использовать его по своему усмотрению.
Go to the top of the page
 
+Quote Post
Слесарь
сообщение Mar 14 2013, 12:32
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484



А хорошо когда полноценная FS , данные можно с легкостью вводить/редактировать с ПК
Go to the top of the page
 
+Quote Post
polyname
сообщение Mar 14 2013, 16:31
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915



Цитата
Не подскажите как, поподробнее?
CMD17/18/24/25: http://elm-chan.org/docs/mmc/mmc_e.html
Go to the top of the page
 
+Quote Post
Kruftin
сообщение Mar 15 2013, 05:35
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Тогда ещё вопрос: после того как записали блок в 512 байт в команде на запись какой будет следующий адрес блока(не 0x201 будет его значение)?
А по структуре регистров CSD, CID почитать в документации общей на SD карты?

http://www.piclist.ru/S-MMC-SD-Cards-RUS/S...-Cards-RUS.html
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Mar 16 2013, 06:19
Сообщение #8


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Kruftin @ Mar 15 2013, 14:35) *
Тогда ещё вопрос: после того как записали блок в 512 байт в команде на запись какой будет следующий адрес блока(не 0x201 будет его значение)?
А по структуре регистров CSD, CID почитать в документации общей на SD карты?

http://www.piclist.ru/S-MMC-SD-Cards-RUS/S...-Cards-RUS.html

Если карта пишет блоками (по 512 байт), то следующий блок Вы можете писать по любому адресу. А как иначе? Если файл фрагментирован, к примеру. Для того, чтобы писать несколько блоков подряд, есть другая команда. Как и на чтение. Другими словами, Вы можете писать и читать либо по одному блоку по любому адресу, либо несколькими блоками подряд. Но команды нужно использовать соответствующие. Про них, ровно как и про регистры, следует читать только в официальной документации на официальном сайте.

З.Ы. Я надеюсь, Вы в курсе, что есть карты, которые не поддерживают блоки по 512 байт. Там нужно побайтно задавать адреса. Сам плохо в этом разбираюсь, так как работал с SDHC.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 16 2013, 07:00
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(haker_fox @ Mar 16 2013, 10:19) *
З.Ы. Я надеюсь, Вы в курсе, что есть карты, которые не поддерживают блоки по 512 байт.

Вот таких карт как раз нет: любая обязана поддерживать 512 байт.

Цитата(haker_fox @ Mar 16 2013, 10:19) *
Там нужно побайтно задавать адреса. Сам плохо в этом разбираюсь, так как работал с SDHC.

Адресация - это несколько из другой оперы: в HC передается номер блока, в "обычных" - его адрес.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Mar 16 2013, 11:32
Сообщение #10


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (aaarrr @ Mar 16 2013, 16:00) *
Вот таких карт как раз нет: любая обязана поддерживать 512 байт.

Здорово! Вот и мое незнание вылечили! rolleyes.gif
QUOTE (aaarrr @ Mar 16 2013, 16:00) *
Адресация - это несколько из другой оперы: в HC передается номер блока, в "обычных" - его адрес.

Ага, теперь я понял, что неправильно понял спецификацию... Ну чтож, истина всплывает rolleyes.gif

З.Ы. Когда занимался написание драйвера для LPC24x8, прочесывал форум на момент различных тонких моментов. Отметил Вашу высокую активность в темах по SD-картам. Как я понял, Вы на них собаку съели?! Очень уж у Вас информативные, и познавательные сообщения и советы!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 16 2013, 11:53
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(haker_fox @ Mar 16 2013, 15:32) *
З.Ы. Когда занимался написание драйвера для LPC24x8, прочесывал форум на момент различных тонких моментов. Отметил Вашу высокую активность в темах по SD-картам. Как я понял, Вы на них собаку съели?! Очень уж у Вас информативные, и познавательные сообщения и советы!

Собака - она сама по себе съедается, когда нужно, чтобы в устройстве работала любая SD-карта sm.gif
Go to the top of the page
 
+Quote Post
Kruftin
сообщение Mar 19 2013, 06:34
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Тогда ещё такой вопрос при посылке пакета после data token следуют данные пакета, так вот их размер от 1 до 2048 байт. Т.е. при отключенном контроле CRC как карточка поймёт, что вот я послал пакет из 5 байт например и мне нужно прислать ответ? Конечно в документации написано, что в конце стоит стоп бит единица, ну т.е. если отключён контроль CRC, то нужно послать два нулевых байта и один бит единицу после этого?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 19 2013, 07:25
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kruftin @ Mar 19 2013, 10:34) *
при посылке пакета после data token следуют данные пакета, так вот их размер от 1 до 2048 байт.

Лучше считать, что для данных этот размер всегда 512 байт. Карт, поддерживающих произвольные размеры блоков, практически не встречается.

Цитата(Kruftin @ Mar 19 2013, 10:34) *
нужно послать два нулевых байта и один бит единицу после этого?

Только не бит, а байт 0xFF. В SPI режиме всегда передаются байты.
Go to the top of the page
 
+Quote Post
Kruftin
сообщение Mar 19 2013, 07:45
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Ну SPI умеет делать посылки и по 4 бита, но тут то мне нужно получается послать два байта контроля и байт единиц и только после этого послать ещё запрос на считывание байта ответа так?

Сообщение отредактировал Kruftin - Mar 19 2013, 08:39
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 19 2013, 12:23
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kruftin @ Mar 19 2013, 11:45) *
Ну SPI умеет делать посылки и по 4 бита, но тут то мне нужно получается послать два байта контроля и байт единиц и только после этого послать ещё запрос на считывание байта ответа так?

Пардон, с SD-режимом спутал. Не нужен байт единиц, токен приходит сразу после CRC.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 14:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01773 секунд с 7
ELECTRONIX ©2004-2016