AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
31.01.2012, 17:05
|
|
Частый гость
Регистрация: 20.01.2012
Сообщений: 16
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: SD/MMC на AVR
Да, я то же уже запустил на 2 Гб флешке.
Но человек на этом же проекте проовал 4 Гб. Видится, но много с нее не работали.
Так же отвечу на свои вопросы, прежде чем задать новые.
Делитель на резисторах заработал. проблема была в том, что при разводке платы поставил делитель на линии которая от карты к меге, т.е. там и так 3 вольта, а я их еще и поделил ![Улыбка](images/smilies/icon_smile.gif)
А вот на линии которая от меги к карте, наоборот не поделил. И на карту пошло 5 вольт по линии данных. К счастью никто из карт не умер.
Теперь другой вопрос, по открытию и закрытию файлов.
В общем это логгер. Я сначала собираю данные в буфер, а потом хочу сбрасывать их на карту.
Проблема в том, что файл открыть могу только 1 раз. Записываю в него буфер, закрываю. Закрытия успешно проходит. Когда соберу второй буфер и начинаю открывать тот же файл для записи - получаю ошибку 13 (FR_NOT_ENABLEC..) Открываю один и то же файл.
Как вариант можно не закрывать файл, пока нужно собирать данные. Но это не выход.
Сталкивался ли кто-то с подобным?
|
|
|
|
07.02.2012, 09:42
|
|
Прохожий
Регистрация: 17.09.2011
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: SD/MMC на AVR
Добрый день.
Поправьте, пожалуйста, допустим у нас на процессоре используется SPI интерфейс для подключения стандартных Serial Flash чипов памяти, соответственно в загрузчике u-boot установлен драйвер m25p80 и использует шину spi0.0. Возможно, ли к этой шине дополнительно подключить SD карточку (конечно с другим CS#) – как я понимаю шина уже будет spi0.1 и нужен драйвер, но суть вопроса в том, совместимо ли использование на аппаратном уровне Serial Flash и SD карточка? Т.е. будет использоваться общие MOSI, MISO, SCLK, а разные только CS#.
|
|
|
|
07.09.2012, 01:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: SD/MMC на AVR
На аппаратном уровне так и должно быть. MOSI, MISO, SCK идут общие для всех устройств + отдельно по CS для каждого устройства.
Для инициализации SD-карточки нужно, чтобы в начальный момент скорость (частота SCK импульсов) была достаточно низкой. После успешной инициализации скорость выставляется не больше максимальной поддерживаемой SD-карточкой.
|
|
|
|
07.09.2012, 06:21
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: SD/MMC на AVR
Скажу иначе - по докам, после 250 мс от обнаружения карты в разъеме 74 тактовых импульсов должны выдаваться в течение 1 мс.
|
|
|
|
07.09.2012, 08:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от Valentin44
|
Проблема в том, что файл открыть могу только 1 раз. Записываю в него буфер, закрываю. Закрытия успешно проходит. Когда соберу второй буфер и начинаю открывать тот же файл для записи - получаю ошибку 13 (FR_NOT_ENABLEC..) Открываю один и то же файл.
Как вариант можно не закрывать файл, пока нужно собирать данные. Но это не выход.
Сталкивался ли кто-то с подобным?
|
Какую FS применили? Что в ней написано про функцию fopen()? Каким был тип файла изначально при его создании?
__________________
С уважением,
Vic / ut1wpr
Последний раз редактировалось ut1wpr; 07.09.2012 в 08:54.
|
|
|
|
07.09.2012, 09:25
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: SD/MMC на AVR
ut1wpr, тот чел уже больше как полгода назад спрашивал 31.01.2012, 16:05
Блин, ну и Гадзилла, раскопал тему с последним постом от февраля-месяца.
Последний раз редактировалось Алекс Василич; 07.09.2012 в 09:27.
|
|
|
|
07.09.2012, 09:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: SD/MMC на AVR
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
07.09.2012, 12:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от Алекс Василич
|
Блин, ну и Гадзилла, раскопал тему с последним постом от февраля-месяца.
|
Ничё страшного. Мне скоро тоже придётся с SD возиться.
Вот, кстати, и вопрос.
Везде пишут 2 гига, FAT12/16.
Современные флешки больше 2 гигов. При форматировании в винде автоматом FAT32. Как с этим дела обстоят?
Да, а можно готовыми функциями форматировать? Или свою функцию придётся писать?
|
|
|
|
07.09.2012, 19:48
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: SD/MMC на AVR
А я ж уже писал в предыдущих темах об особенностях SD флешек разного объема.
С точки зрения физического интерфейса и базовых кеманд, все SD флешки одинаковы, независимо от файловой системы (за исключением ветвления при инициализации флешки). Работа с файловой системой осуществляется посредством базовых команд чтения или записи. Поэтому, в принципе, даже отформатировать флэшку можно и на устройстве, просто воссоздав необходимаю структуру FAT базовыми командами протокола работы с флэшкой.
Пользователь может вообще организовать свою собственную структуру хранения данных на карте и работать с нею в своем устройстве без каких-либо ограничений.
В этом случае, как правило, в начале адресного пространства карты располагают "оглавление" - указатель диапазона адресов хранения какой-либо информации. Но если SD используется просто как бааальшая такая EEPROM, то все управление диапазоном адресов может находиться в коде контроллера.
Поэтому, гугли структуру файловой систему применительно к работе на SD карте и просто работай с ней.
Цитата:
|
скорость выставляется не больше максимальной поддерживаемой SD-карточкой.
|
Для SPI-режима это не актуально, так как в этом режиме класс скорости не стандартизуется и контроллер должен работать с картой по Speed Class 0.
Если желаешь использовать все скоростные возможности карты, тогда нужно работать по интерфейсу SD.
|
|
|
|
07.09.2012, 20:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от Алекс Василич
|
Работа с файловой системой осуществляется посредством базовых команд чтения или записи. Поэтому, в принципе, даже отформатировать флэшку можно и на устройстве, просто воссоздав необходимаю структуру FAT базовыми командами протокола работы с флэшкой.
|
Ну это и ежу понятно. Вопрос был в другом.
Нужно:
Средствами контроллера форматировать флешку в FAT32.
Работать с файловыми системами FAT16 и FAT32.
FatFS библиотека Чена имеет готовые функции для этого?
Не хотелось бы тратить уйму времени для изучения FAT32 и написания функций для работы с ней.
Сообщение от Алекс Василич
|
Пользователь может вообще организовать свою собственную структуру хранения данных на карте и работать с нею в своем устройстве без каких-либо ограничений.
|
Нужно, чтобы эта флешка спокойно читалась потом на обычном компе. Также, хотелось бы, чтобы устройство понимало флешки, отформатированные на компе.
Сообщение от Алекс Василич
|
Для SPI-режима это не актуально, так как в этом режиме класс скорости не стандартизуется и контроллер должен работать с картой по Speed Class 0.
|
Тут идёт речь о максимальной поддерживаемой частоте SPI. На 50 МГц будет работать? А на 20 МГц?
P.S. Нагуглить можно почти всё. Но форумы для того и созданы. Может, кто уже решал подобную проблему.
Хотелось бы услышать ответ в стиле: Библиотека Чена не поддерживает фат32. Для работы с фат32 надо использовать такую-то. Ну или что-то в этом духе. Заранее спасибо.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:58.
|
|