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

 
 
15 страниц V  « < 9 10 11 12 13 > »   
Reply to this topicStart new topic
> SD Card - програмная реализация интерфейса, У кого нибудь есть примеры реализации взаимодействия с SD Card?
KAlex
сообщение Jan 9 2010, 09:15
Сообщение #151


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(gnomik_ @ Jan 9 2010, 08:01) *
на CMD8 отвечает 00 00 00 02 00 FF

С какими параметрами посылается команда?
Надо так: 48 00 00 01 AA 87
Карточка рабочая? Есть другая карта?
Go to the top of the page
 
+Quote Post
gnomik_
сообщение Jan 10 2010, 10:19
Сообщение #152


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 6-11-09
Пользователь №: 53 443



Цитата(KAlex @ Jan 9 2010, 19:15) *
С какими параметрами посылается команда?
Надо так: 48 00 00 01 AA 87
Карточка рабочая? Есть другая карта?


Карточек 3 штуки(одна-HC). Все на компе пишутся и читаются нормально.

Посылаю 255 клоков(сначала 100 клоков посылал)
Посылаю CMD0(40 00 00 00 00 95) ответ не проверяю
Посылаю 100 клоков
Посылаю CMD8 (48 00 00 01 AA 87)
жду 0 на CMD читаю ответ 00 00 00 02 00 FF
Посылаю 100 клоков
Посылаю CMD55 (77 00 00 00 00 65)
жду 0 на CMD читаю ответ 2С 00 00 00 00 7F
Посылаю 100 клоков
Посылаю ACMD41 (69 40 FF 80 00 17)
жду 0 на CMD читаю ответ 3F 81 FE 00 03 FF
Посылаю 100 клоков........

Пишу по фронту, читаю по спаду, все делаю медленно(частота невелика).

Может состояние линий во время пустых клоков у меня не правильное? Какое должно быть? Может с командами чего путаю?...

Спасибо.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 10 2010, 11:26
Сообщение #153


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(KAlex @ Jan 5 2010, 11:55) *
А я и не претендовал на истину в последней инстанции. biggrin.gif
Это для моей конкретной задачи. RAMа много, ROMа мало. Вот и выкручиваюсь как могу.
А как, простите, табличные данные оказываются в RAM? Они же из ROM копируются...
Так получается, что Вы и RAM и ROM занимаете. Или я что-то не понимаю?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 10 2010, 11:30
Сообщение #154


Гуру
******

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



Цитата(demiurg_spb @ Jan 10 2010, 14:26) *
Или я что-то не понимаю?

Таки да: таблица генерируется, а не копируется.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 10 2010, 13:25
Сообщение #155


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(aaarrr @ Jan 10 2010, 14:30) *
Таки да: таблица генерируется, а не копируется.
Точно! А я не разглядел с первого раза. Оригинальный ход.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 11 2010, 01:40
Сообщение #156


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(demiurg_spb @ Jan 10 2010, 17:25) *
Точно! А я не разглядел с первого раза. Оригинальный ход.

Хм, весьма стандартный ход.
Неужели никогда не приходилось генерировать таблицы с предпросчитанными данными для исключения реалтаймовых вычислений?
Go to the top of the page
 
+Quote Post
KAlex
сообщение Jan 11 2010, 07:24
Сообщение #157


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Без кода программы сказать что либо сложно.
Здесь выкладывал исходники для начальной инициализации.
Версия рабочая 100%.
Go to the top of the page
 
+Quote Post
gnomik_
сообщение Jan 11 2010, 08:27
Сообщение #158


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 6-11-09
Пользователь №: 53 443



Цитата(KAlex @ Jan 11 2010, 17:24) *
Без кода программы сказать что либо сложно.
Здесь выкладывал исходники для начальной инициализации.
Версия рабочая 100%.


Спасибо за ссылку. rolleyes.gif

Пишу все на асме. Весь код кидать сюда наверное смысла нет.
Пересмотрю все что написал и напаял.

Чего-то надо ворошить. Сама не заработает.

Результат отпишу.... Спасибо. rolleyes.gif
Go to the top of the page
 
+Quote Post
head_sk
сообщение Jan 16 2010, 15:16
Сообщение #159


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

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



Вопрос тем кто реализовывал fatfs от чана на SD-карточках с помощью AT91SAM7 в режиме SPI.
Какую максимальную скорость записи в файл удалось получить?
Спасибо.
Go to the top of the page
 
+Quote Post
ples
сообщение Jan 17 2010, 13:07
Сообщение #160


Участник
*

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



Доброе время суток..

Пытаюсь запустить известную всем FatFS на 1986ВЕ91Т (ядро Cortex-M3). Карта microSD 2 Gb подключена через SPI. Карта инициализируется, определяется ее тип и т.д., f_mount(..) выполняется успешно. Можно читать файлы и каталоги. Выполняется даже создание файла. НО! При попытке записи, закрытия файла или синхронизации - ошибка FR_DISK_ERR. Причина - в функции xmit_datablock - на переданный для записи блок данных карта отвечает 0xFF.
Если файл создать на компьютере, записать в него какие-либо данные, то через f_write() запись пройдет, но только в пределах размера файла, вызов f_sync() или f_close() приведет к той же ошибке... FatFS настроена без ограничений кроме LFN. Попробовал несколько разных microSD карт - на всех одинаковое поведение. Где могут быть грабли? Помогите разобраться.
Go to the top of the page
 
+Quote Post
Altemir
сообщение Feb 6 2010, 14:56
Сообщение #161


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



Поднят FatFs на LPC2214. Частота SPI - 7.3728МГц, использую microSD Toshiba 2ГБ (FAT16). Всё работает. Провожу слудующий тест на запись:
1. открыл файл
2. f_lseek,
3. f_write
4. f_sync
5. вернуться к п.2
Записываю блок за блоком по 24 байта файл размером в 1МБайт. При таком тесте получаю скорость записи около 1400-2000Байт/с. Понимаю, что записываю блоками менее 512Байт, понимаю ограничение организации файловой системы и самой флэш-памяти. Хотелось бы узнать у уважаемых форумчан результаты аналогичного теста с малыми блоками.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 6 2010, 15:21
Сообщение #162


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



А с какой скоростью у Вас будет идти запись полновесными блоками?
К примеру, по 4 - 8 килобайт?

Обязательно ли выполнять f_sync для каждых 24 байт?
Go to the top of the page
 
+Quote Post
Altemir
сообщение Feb 6 2010, 15:40
Сообщение #163


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



sonycman
У меня логгер на работе, блоки больше 1040Байт не пробовал. Создам полоценный тест с разными размерами блоков в пн-вт. На 1040Байтах скорость была порядка 28-36КБайт/с. Есть утилита под винды, тестирует любой диск на запись методом: открыть файл, записать, закрыть (в описании сказано, по крайней мере). Она на данной флэхе выдавала похожие результаты:
Код
Block= 64 B.  Speed=2.112 kB/s.
Block=128 B.  Speed=4.222 kB/s.
Block=256 B.  Speed=8.447 kB/s.
Block=512 B.  Speed=16.833 kB/s.
Block=  1 kB. Speed=33.778 kB/s.
Block=  2 kB. Speed=67.332 kB/s.
Block=  4 kB. Speed=134.629 kB/s.
Block=  8 kB. Speed=268.257 kB/s.
Block= 16 kB. Speed=546.677 kB/s.


Цитата
Обязательно ли выполнять f_sync для каждых 24 байт?

Важно не потерять данные (сохранить как можно большее кол-во записей логгера) при отключении питания, а так же важна надёжность записи. Есть, конечно, варианты, проводить периодически по таймеру f_sync, но опасаюсь. Проблема в том, что поток данных непредсказуем, т.е. неизвестна частота появления событий для логгирования. Есть ещё варианты?

Сообщение отредактировал Altemir - Feb 6 2010, 16:20
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 6 2010, 21:34
Сообщение #164


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(sonycman @ Jan 11 2010, 04:40) *
Хм, весьма стандартный ход.
Неужели никогда не приходилось генерировать таблицы с предпросчитанными данными для исключения реалтаймовых вычислений?
Да таблицы были (тот же CRC и таблицы НСХ датчиков), но они не были в ROM а не в RAM.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Freeuser
сообщение Feb 26 2010, 12:43
Сообщение #165


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 18-11-09
Из: Мск
Пользователь №: 53 718



У меня вопрос по записи данных на карту. Вроде все делаю как в даташите, шлю стартовый бит, команду записи, затем данные, crc16, end-bit, и жду по DAT_0 crc-статус. Но он почему то не приходит! По DAT_0 ловлю стартовый бит(0), который перед crc status должен быть, но ничего нет! Данные на карту записываются. Но если потом послать карте команду чтения, или еще записи, то ничего не происходит.

У меня вопрос по записи данных на карту. Вроде все делаю как в даташите, шлю стартовый бит, команду записи, затем данные, crc16, end-bit, и жду по DAT_0 crc-статус. Но он почему то не приходит! По DAT_0 ловлю стартовый бит(0), который перед crc status должен быть, но ничего нет! Данные на карту записываются. Но если потом послать карте команду чтения, или еще записи, то ничего не происходит.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:11
Рейтинг@Mail.ru


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