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

 
 
15 страниц V  « < 11 12 13 14 15 >  
Reply to this topicStart new topic
> SD Card - програмная реализация интерфейса, У кого нибудь есть примеры реализации взаимодействия с SD Card?
Freeuser
сообщение May 18 2010, 13:02
Сообщение #181


Участник
*

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



У меня тоже софтверно сделано, это я просил Вас в ветке для начинающих выложить исходники). Сейчас сижу играюсь с задержками...Если ничего не выйдет, придется отказаться от использования силикона, хотя на складе партия лежит.
Go to the top of the page
 
+Quote Post
zheka
сообщение May 19 2010, 06:22
Сообщение #182


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, не осилю всей темы.
Скажите есть у кого-нибудь проект реализации FAT16 на SD карте для AT91SAM7 для KEIL?
ВОспользовавшись поиском я нашел много чего, но либо без реализации FAT, либо под другой камень, либо под другую среду программирования.
Go to the top of the page
 
+Quote Post
skripach
сообщение May 19 2010, 06:46
Сообщение #183


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
реализации FAT16 на SD

Цитата
Только песня совсем не о том...


Полно может только не Keil


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Oct 28 2010, 08:16
Сообщение #184


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

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Народ , а кому-нибудь попадались карты, у которых SPI интерфейс не реализован или реализован криво? Есть девайс, работает с большинством карт по SPI, появилась партия карт miniSD no_name, в ридере на ПК проблем нету, в устройствах которые работают по SPI - не видится, даже не проходит процедура стандартной инициализации.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 28 2010, 08:32
Сообщение #185


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Paramedic @ Oct 28 2010, 12:16) *
Народ , а кому-нибудь попадались карты, у которых SPI интерфейс не реализован или реализован криво? Есть девайс, работает с большинством карт по SPI, появилась партия карт miniSD no_name, в ридере на ПК проблем нету, в устройствах которые работают по SPI - не видится, даже не проходит процедура стандартной инициализации.

Может, это SDHC?
Цитата
Карты SDHC не совместимы с карт-ридерами и прочими устройствами, изначально рассчитанными только на SD-карты. А вот устройства, способные работать с SDHC-картами, поддерживают также и SD-карты. Ключевым нововведением для SDHC-карт, позволившим им превзойти объем в 4Гб, стало введение посекторной адресации (аналогично жёстким дискам), в то время как обычные SD-карты имеют побайтную адресацию (как оперативная память) и, соответственно, при 32-х разрядном адресе могут иметь объем не более 4Гб.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
VslavX
сообщение Oct 28 2010, 08:55
Сообщение #186


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(KAlex @ Jan 3 2010, 13:45) *
В свое время тоже намучился с CRC.
Выбирая между табличным и вычислителным методами пришел к компромиссу.
Как мне кажется оптимальным будет вычисление таблицы в ОЗУ и дальнейшая работа с ней.

Недавно ковырялся с полями Галуа характеристики 2^m - полиномиальная арифметика, набрел на оптимальный алгоритм редукции на малочлен, подумалось почему бы не применить его и для CRC. В программной реализации для SD/MMC получилось две симпатичные функции, никаких циклов и таблиц:
CODE

//________________________________________________________________
//
// Обновляет контрольную сумму CRC-7 - x^7 + x^3 + 1
// Быстрый нетабличный вариант потетрадного вычисления
//
HAL_INLINE_FORCED
DWORD
io_mmc_crc7(
DWORD data,
DWORD crc)
{
DWORD tmp;

tmp = (crc ^ (data >> 1)) >> 3;
crc = (crc << 4) | tmp;
crc = crc ^ (tmp << 3);

tmp = ((crc >> 3) ^ data) & 0x0F;
crc = (crc << 4) | tmp;
crc = crc ^ (tmp << 3);
crc &= 0x7F;

return crc;
}

//________________________________________________________________
//
// Обновляет контрольную сумму CRC-16 - x^16 + x^12 + x^5 + 1
// Быстрый нетабличный вариант потетрадного вычисления
//
HAL_INLINE_FORCED
DWORD
io_mmc_crc16(
DWORD data,
DWORD crc)
{
DWORD tmp;

tmp = ((crc ^ (data << 8)) >> 12);
crc = (crc << 4) | tmp;
crc = crc ^ (tmp << 5);
crc = crc ^ (tmp << 12);

tmp = ((crc >> 12) ^ data) & 0x0F;
crc = (crc << 4) | tmp;
crc = crc ^ (tmp << 5);
crc = crc ^ (tmp << 12);

return crc & 0xFFFF;
}

Все проверено на практике - работает smile.gif
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Oct 28 2010, 09:16
Сообщение #187


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

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Цитата(MrYuran @ Oct 28 2010, 12:32) *
Может, это SDHC?

Нет, не SDHC. Да и в 2-х из 3-х девайсов SDHC поддерживается.
Нашёл такое "Some MicroSD cards do not support SPI mode. " http://en.wikipedia.org/wiki/Secure_Digital
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Oct 29 2010, 11:58
Сообщение #188


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

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Цитата(Paramedic @ Oct 28 2010, 13:16) *
Нашёл такое "Some MicroSD cards do not support SPI mode. " http://en.wikipedia.org/wiki/Secure_Digital


Похоже вообще беспредел на счёт SPI в SD:
"So far I have only found the cards supplied by Adata do not support SPI and so they will not work if that is the method you are using. "
http://www.microchip.com/forums/m349724-print.aspx
"The SPI support is an option and may be dropped by some manufacturers. "
http://forums.freescale.com/t5/68K-ColdFir...Card/td-p/54401
"So many manufacturers have removed the serial mode completely."
http://e2e.ti.com/support/microcontrollers...66/t/49553.aspx
Go to the top of the page
 
+Quote Post
Altemir
сообщение Oct 30 2010, 14:36
Сообщение #189


Местный
***

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



Вот поэтому перед тем, как закупать в наши девайсы в большом кол-ве microSD, мы потратились на 10-ок различных, оценили глючность/быстродействие/совместимость, где надо немного подрихтовали код и только потом делали закупку. На хорошем счету - Toshiba, Transcend. Kingston - ещё та девица, у кого хочет, у тех и покупает память, маркируя под себя. В итоге - от партии к партии может значительно отличаться скорость и наличие "камушков".
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Oct 31 2010, 06:52
Сообщение #190


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

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Цитата(Altemir @ Oct 30 2010, 17:36) *
Вот поэтому перед тем, как закупать в наши девайсы в большом кол-ве microSD, мы потратились на 10-ок различных, оценили глючность/быстродействие/совместимость, где надо немного подрихтовали код и только потом делали закупку. На хорошем счету - Toshiba, Transcend. Kingston - ещё та девица, у кого хочет, у тех и покупает память, маркируя под себя. В итоге - от партии к партии может значительно отличаться скорость и наличие "камушков".


Мой опыт показывает что даже надписям на карте нельзя верить - что хотят то и пишут китайцы. А среди этого десятка были карты, которые вообще отказались работать по SPI?
Go to the top of the page
 
+Quote Post
Altemir
сообщение Oct 31 2010, 10:35
Сообщение #191


Местный
***

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



Цитата(Paramedic @ Oct 31 2010, 10:52) *
Мой опыт показывает что даже надписям на карте нельзя верить - что хотят то и пишут китайцы. А среди этого десятка были карты, которые вообще отказались работать по SPI?

Нет, не было. А мы не надписям на карте верили. Считывали CID, CSD, проверяли по ним. Перед закупкой осведомлялись о наличии той же партиии у поставщика. Поставщик надёжный. Для отрекомендованных выше производителей никаких разбросов в пределах партии нет.
Go to the top of the page
 
+Quote Post
kostyan
сообщение Nov 1 2010, 12:34
Сообщение #192


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

Группа: Участник
Сообщений: 121
Регистрация: 8-11-05
Пользователь №: 10 577



Народ, аццы, подскажите плиз в этой теме, чтобы новую не заводить!

Я так понимаю в этой ветке в основном народ пользует SD карту в SPI режиме, в котором потребление карты не такое большое...
Пользую AT91SAM3U4. Пользую тамошний "High Speed Multimedia Card Interface", который о шести ногах: "CLK, CMD, DAT0, DAT1, DAT2, DAT3". Обратно пользую атмеловский пример работы с карточкой sdmmc_mci.c/sdmmc_mci.h, который идет в поставке с иаром. Вопрос в потреблении. После инициализации и чтении либо записи данных девайс начинает жрать на 20-30 мА больше, что собственно неприемлимо. Если "выключить" карточку командой Cmd12, то повышеное потребление прекращается. Но при этом для дальнейшей работы с карточкой необходимо заново её инициализировать. Выключение + инициализация в сумме занимают приличное время (по ощущениям на глаз). Есть какойто другой, быстрый способ снизить потребление SD карты кроме как командой Cmd12?
Go to the top of the page
 
+Quote Post
prussta
сообщение Feb 1 2012, 09:22
Сообщение #193


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 1-02-12
Из: Екатеринбург
Пользователь №: 70 003



Хочу поделиться своими результатами при работе с модулем TE-STM32F103 (красная). Мне нужно было запустить microSD через SDIO. Использую Keil v.4, файлы из библиотеки ST. При инициализации карты получила SD_INVALID_VOLTRANGE. Замерила U - оказалось на карту идет 1,8В! Это все транзистор Q3 оказался! Посадила PB0 на "0" - на карту пошло 3,3В.Это то что нужно). Потом пыталась прикрутить FATFS - но тут что-то не получилось...видела ошибку FR_NO_FILESYSTEM. Не без помощи добрых людей(Спасибо огромное Ивану Кузнецову!) в итоге Fatfs был укращен ))). Если кому нужно, могу поделиться проектом. http://narod.ru/disk/39273363001/microSD_FatFS.rar.html
Go to the top of the page
 
+Quote Post
Alhen
сообщение Feb 1 2012, 15:06
Сообщение #194


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

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



QUOTE (prussta @ Feb 1 2012, 13:22) *
Хочу поделиться своими результатами при работе с модулем TE-STM32F103 (красная). Мне нужно было запустить microSD через SDIO.

Спасибо за пример, для меня очень кстати. Мне тоже нужен microSD через SDIO для STM32F103VCT6. Осваивать SD карту, я начал по тому же принципу по которому "ищут не там где потерял, а там где светлее", т.е. через SPI, уж очень много по этой теме информации. А вот с SDIO маловато. rolleyes.gif
В моем приложении требуется по возможности избегать прерываний (по крайней мере не трогать Systick), в вашем проекте disk_timerproc задушен, а SDIO обробатывается по прерыванию, интересно, можно ли SDIO сделать полингом?
А кто-нибудь пробывал делать стейт-машины для SD карт?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Feb 1 2012, 16:29
Сообщение #195


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

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



Цитата(kostyan @ Nov 1 2010, 16:34) *
Есть какойто другой, быстрый способ снизить потребление SD карты кроме как командой Cmd12?

CMD12, если мне не изменяет память, это STOP_TRANSMISSION. После нее не надо делать никакую инициализацию.
Go to the top of the page
 
+Quote Post

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

 


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


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