Полная версия этой страницы:
Помогите со связкой AVR+SD
_Александр_
Sep 12 2010, 02:59
Добрый день!
Подскажите, куда двигаться. Делаю регистратор (Mega128 + SD). Использую CVAVR. Для проверки работоспособностии устройства взял примеры (все) из CV. Функция f_mount OK (Терминал:<0>Logical drive 0: mounted OK) , disk_ioctl(0,GET_SECTOR_SIZE,§or_size) показывает размер сектора. При попытке считать количество секторов, а также при попытке f_open создать или открыть файл возникает ошибка: ERROR: FR_DISK_ERR.
Заранее благодарю.
Дополняю: Распайку разъема под SD я взял из halp CVAVR. Там 9 нога на земле. На карточке 9 нога (со стороны контактов крайняя правая, перед 1) DAT2. Правильно ли ее сажать на землю?
smalcom
Sep 12 2010, 09:24
есть так проект PetitFatFs. Там есть примеры общения с SD'шкой
_Александр_
Sep 12 2010, 14:51
Цитата(smalcom @ Sep 12 2010, 13:24)

есть так проект PetitFatFs. Там есть примеры общения с SD'шкой
Примеров в сети множество, а что делать с конкретным железом в описанной ситуации (CVAVR, FATFS), я не нашел.
Внутрисхемного отладчика у меня пока нет.
Artem_Petrik
Sep 12 2010, 15:18
Цитата(_Александр_ @ Sep 12 2010, 05:59)

Там 9 нога на земле. На карточке 9 нога (со стороны контактов крайняя правая, перед 1) DAT2. Правильно ли ее сажать на землю?
Во всех схемах, что я видел, она к питанию подтятута резюком, так что может и не правильно. Хотя, если f_mount проходит, то врядли в ней дело.
Воспользуйтесь лучше примерами непосредственно от Chan-а. Оно так правильнее будет.
_Александр_
Sep 12 2010, 19:18
[Воспользуйтесь лучше примерами непосредственно от Chan-а. Оно так правильнее будет.]
Да, конечно, но для этого мне необходимо освоить другой компилятор вместо CVAVR, к которому я привык, ничего другого и не знаю. Видимо, это GCC. Потребуется время. Если не найду выхода, придется поступать так. Либо сделаю внутрисхемный отладчик (у DiHalt есть) и попытаюсь найти неполадку.
Vetal-Soft
Sep 14 2010, 04:10
1. Вам нужно разобраться в схеме подключения SD. Нужно смотреть не номера выводов, а на их назначение (название).
2. В CV последних версий уже встроена библиотека FatFs от Chan-а.
P.S. Из личного опыта: Пересаживайтесь на GCC или IAR.
_Александр_
Sep 14 2010, 19:41
[quote name='Vetal-Soft' date='Sep 14 2010, 08:10' post='809778']
1. Вам нужно разобраться в схеме подключения SD. Нужно смотреть не номера выводов, а на их назначение (название).
2. В CV последних версий уже встроена библиотека FatFs от Chan-а.
Я использую встроенную в CV 2.04.4a библиотеку FatFs .
Задам конкретные вопросы:
1.Являются ли признаком правильного подключения факты создания логического диска и определения размера сектора?
2.При подключении к SPI встречаются 3 варианта соединения контакта DAT2 карты: к земле, подтянут к питанию, не подключен. Какой вариант правильный?
3.Может ли быть применен какой-либо способ диагностики соединения контроллера с картой?
Vetal-Soft
Sep 17 2010, 03:48
1. Создание логического диска не является признаком правильного подключения, создастся и без флешки. Определение размера сектора, да, подтверждает подключение.
2. Контакты DAT1 и DAT2 лучше подтянуть к питанию через ~50kOm. Хотя у меня на отладке они болтались в воздухе и все работало.
3. Я использовал пример с сайта Чана.
_Александр_
Sep 17 2010, 16:42
Цитата(Vetal-Soft @ Sep 17 2010, 07:48)

1. Создание логического диска не является признаком правильного подключения, создастся и без флешки. Определение размера сектора, да, подтверждает подключение.
2. Контакты DAT1 и DAT2 лучше подтянуть к питанию через ~50kOm. Хотя у меня на отладке они болтались в воздухе и все работало.
3. Я использовал пример с сайта Чана.
Большое спасибо. Буду разбираться с примером Чана.
_Александр_
Sep 23 2010, 15:57
В этом месте:
http://my-avr.at.ua/publ/atmega8_sd_s_podd...oj_fat/1-1-0-54 есть проект fat16, который мне удалось адаптировать для мого железа. У меня есть 3 карты: Transcend 2GB, Kingston 2GB и Canon 32 MB. С одной из них, Kingston, контроллер общается. Две других инициализируются, но не инициализируется файловая система. Жаль, что в библиотеке проекта нет функции записи в файл. После этого пробовал с рабочей карточкой проект из CV SDCARD1. По-прежнему инициализирует карту, показывает размер сектора, при попытке получить количество секторов выдает ошибку 1.
Хвост Слона
Sep 23 2010, 16:29
Посмотрите, здесь работающий проект Мега64+SD
http://www.1slon.ru/sp_tlm.htmА тут сама библиотека
http://www.1slon.ru/other.html
_Александр_
Sep 23 2010, 18:15
Большое спасибо. Нельзя ли файл с программой по первой ссылке получить в удобоваримой форме?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.