|
|
  |
Помогите со связкой AVR+SD |
|
|
|
Sep 12 2010, 02:59
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
Добрый день! Подскажите, куда двигаться. Делаю регистратор (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. Правильно ли ее сажать на землю?
|
|
|
|
|
Sep 12 2010, 14:51
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
Цитата(smalcom @ Sep 12 2010, 13:24)  есть так проект PetitFatFs. Там есть примеры общения с SD'шкой Примеров в сети множество, а что делать с конкретным железом в описанной ситуации (CVAVR, FATFS), я не нашел. Внутрисхемного отладчика у меня пока нет.
|
|
|
|
|
Sep 12 2010, 15:18
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
Цитата(_Александр_ @ Sep 12 2010, 05:59)  Там 9 нога на земле. На карточке 9 нога (со стороны контактов крайняя правая, перед 1) DAT2. Правильно ли ее сажать на землю? Во всех схемах, что я видел, она к питанию подтятута резюком, так что может и не правильно. Хотя, если f_mount проходит, то врядли в ней дело. Воспользуйтесь лучше примерами непосредственно от Chan-а. Оно так правильнее будет.
|
|
|
|
|
Sep 12 2010, 19:18
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
[Воспользуйтесь лучше примерами непосредственно от Chan-а. Оно так правильнее будет.] Да, конечно, но для этого мне необходимо освоить другой компилятор вместо CVAVR, к которому я привык, ничего другого и не знаю. Видимо, это GCC. Потребуется время. Если не найду выхода, придется поступать так. Либо сделаю внутрисхемный отладчик (у DiHalt есть) и попытаюсь найти неполадку.
|
|
|
|
|
Sep 14 2010, 04:10
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 16-06-05
Пользователь №: 6 074

|
1. Вам нужно разобраться в схеме подключения SD. Нужно смотреть не номера выводов, а на их назначение (название). 2. В CV последних версий уже встроена библиотека FatFs от Chan-а.
P.S. Из личного опыта: Пересаживайтесь на GCC или IAR.
|
|
|
|
|
Sep 14 2010, 19:41
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
[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.Может ли быть применен какой-либо способ диагностики соединения контроллера с картой?
|
|
|
|
|
Sep 17 2010, 03:48
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 16-06-05
Пользователь №: 6 074

|
1. Создание логического диска не является признаком правильного подключения, создастся и без флешки. Определение размера сектора, да, подтверждает подключение. 2. Контакты DAT1 и DAT2 лучше подтянуть к питанию через ~50kOm. Хотя у меня на отладке они болтались в воздухе и все работало. 3. Я использовал пример с сайта Чана.
|
|
|
|
|
Sep 17 2010, 16:42
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
Цитата(Vetal-Soft @ Sep 17 2010, 07:48)  1. Создание логического диска не является признаком правильного подключения, создастся и без флешки. Определение размера сектора, да, подтверждает подключение. 2. Контакты DAT1 и DAT2 лучше подтянуть к питанию через ~50kOm. Хотя у меня на отладке они болтались в воздухе и все работало. 3. Я использовал пример с сайта Чана. Большое спасибо. Буду разбираться с примером Чана.
|
|
|
|
|
Sep 23 2010, 15:57
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
В этом месте: 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, 18:15
|
Группа: Участник
Сообщений: 10
Регистрация: 11-09-10
Пользователь №: 59 430

|
Большое спасибо. Нельзя ли файл с программой по первой ссылке получить в удобоваримой форме?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|