AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
07.09.2012, 21:36
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: SD/MMC на AVR
Тогда, когда я разбирался с SD (MMC), я еще не знал о существовании библиотек Чена. Потому, писал самостоятельно, основываясь просто на структуре FAT. Насколько это было коряво или не коряво, но главное, работоспособно. В библиотеку Чена не заглядывал, она мне просто не нужна была, поэтому без понятия, чего там есть, чего нет.
Со структурой FAT32 работать можно, можно отформатировать флешку средствами контроллера так, чтобы она опознавалась на компе в винде. ДА, МОЖНО!
Все, что для этого требуется - записать несколько секторов информации в соответствии с требованиями фат32.
Ничего сверхособого нет в работе с файловой структурой. Главное, соблюсти формат в начале адресов флешки. Ну и таблица размещения файлов будет указывать номера кластеров, в которых содержится какой-либо файл.
Принципиальных запретов на выполение этих операций средствами контроллера нет.
Цитата:
|
Тут идёт речь о максимальной поддерживаемой частоте SPI. На 50 МГц будет работать? А на 20 МГц?
|
А вот нафига я выкладывал мануал то? В SPI возможна работа в High-Speed Mode после переключения командой CMD6
Последний раз редактировалось Алекс Василич; 07.09.2012 в 21:42.
|
|
|
|
07.09.2012, 22:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от Алекс Василич
|
ДА, МОЖНО!
Принципиальных запретов на выполение этих операций средствами контроллера нет.
|
Так никто и не спорит, что можно. Всё можно, но есть одно но... Время.
Сколько потребуется времени, чтобы изучить структуру фат32, все нюансы. А то получится, что контроллер всё отформатировал. Ок. Даже файлы записал. Вставляем в комп - усё путём. Обратно - пися. Просто комп один байтик где-то изменил, и всё, ппц... Не говоря уже про форматирование и загрузчики с вытекающими отсюда смещениями и поползновениями.
Это я к тому, что зачем тратить своё время, когда тот же Чен, например, уже сделал всё в лучшем свете с обработчиками ошибок и пр.
Сообщение от Алекс Василич
|
А вот нафига я выкладывал мануал то? В SPI возможна работа в High-Speed Mode после переключения командой CMD6
|
Ну это был не вопрос, чтобы узнать сколько именно, а как бы намёк, что и в этом случае, наверняка, есть ограничения.
P.S. Пока не до этого. Попозже, скорее всего, плотно займусь спецификациями SD/MMC и FAT16/32.
|
|
|
|
07.09.2012, 23:42
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: SD/MMC на AVR
А вот для того, чтобы узнать скоросные возможности воткнутой карты, на этапе инициализации считываеются служебные регистры карты и определяется версия протокола и поддерживаемые скорости, затем интерфейс переключается на разрешенную скорость.
|
|
|
|
07.09.2012, 23:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от Алекс Василич
|
А вот для того, чтобы узнать скоросные возможности воткнутой карты, на этапе инициализации считываеются служебные регистры карты и определяется версия протокола и поддерживаемые скорости, затем интерфейс переключается на разрешенную скорость.
|
вооот, а то:
Сообщение от Алекс Василич
|
Для SPI-режима это не актуально
|
|
|
|
|
01.11.2012, 13:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Простите за вопрос.. Тоже скоро придется работать с SD, в принципе 2гб/FAT будет достаточно. Но есть нюанс..
В МК все SPI порты заняты альтернативными функциями.. есть из свободного SDA/SCL. Есть ли библиотеки, в которых реализован протокол SD позволяющий вешаться на GPIO пины свободные?
|
|
|
|
01.11.2012, 13:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от whoim
|
Простите за вопрос.. Тоже скоро придется работать с SD, в принципе 2гб/FAT будет достаточно. Но есть нюанс..
В МК все SPI порты заняты альтернативными функциями.. есть из свободного SDA/SCL. Есть ли библиотеки, в которых реализован протокол SD позволяющий вешаться на GPIO пины свободные?
|
Перефразирую вопрос ![Улыбка](images/smilies/icon_smile.gif)
Подскажите библиотеку для avr, в которой будет программно реализован SPI с возможностью вешатся на любые пины, будет поддержка FAT16 и коротких имен?
|
|
|
|
01.11.2012, 14:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от whoim
|
Перефразирую вопрос ![Улыбка](images/smilies/icon_smile.gif)
Подскажите библиотеку для avr, в которой будет программно реализован SPI с возможностью вешатся на любые пины, будет поддержка FAT16 и коротких имен?
|
Это типа "Кнопку нажал - спина вспотела" ? ![Улыбка](images/smilies/icon_smile.gif)
Возьмите либу Чана, замените железный SPI на его софтовую реализацию и будет вам счастье.
Заодно подскажите скорость ногодрыга для вашего avr, исходя из этого увидим, на какой скорости будет ваш FAT летать.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
01.11.2012, 14:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Сообщение от ut1wpr
|
Это типа "Кнопку нажал - спина вспотела" ? ![Улыбка](images/smilies/icon_smile.gif)
Возьмите либу Чана, замените железный SPI на его софтовую реализацию и будет вам счастье.
Заодно подскажите скорость ногодрыга для вашего avr, исходя из этого увидим, на какой скорости будет ваш FAT летать.
|
ногодрыг хочу на 32мгц запустить, минимум 16 будет точно. Скорость чтения/записи особо не важна, так как будет довольно неспеша туда файлики складываться.
но, конечно, хотелось бы найти решение максимально быстрое. Возможно, с asm вставкой в плане софтового SPI.
Либа Чана - с какой страницы начать читать эту тему? ))
|
|
|
|
01.11.2012, 14:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Позволю себе обрисовать один путь, скорее чтобы не забыть. Возможно, он получится.
начну с программного SPI. Вот: http://avr-asm.tripod.com/avrspi.html
Оно на ассемблере.
Теперь сама библиотека: http://elm-chan.org/fsw/ff/00index_p.html
В примере http://elm-chan.org/fsw/ff/pfsample.zip
каталог AVR есть файл usi.S
Я правильно понимаю, что это есть управление аппаратным SPI?
Достаточно его модифицировать с использованием первой ссылки поста и вуаля?
|
|
|
|
01.11.2012, 14:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: SD/MMC на AVR
Особого "вуаля" не стоит ожидать. Чтение этого фрагмента, подстановка значений тактовой МК при вычислений задержек рисует (мне кажется) не очень радужную картину в плане скоростных качеств этого SPI.
Код:
|
lo_mosi:
mosi_lo
nop ;also create setup time on MOSI
mosi_done:
;
sck_hi
;
;must now time the hi pulse - not much else we can do here but waste time
;
set_delay temp,4 ;(4 * 3) cycle delay; range is from 1 to 7!
time_hi:
inc_delay temp ;inc upper nibble until it rolls over; then,
brcs time_hi ; C gets CLEARED, & temp has original value
;
sck_lo ;drop clock line low
;
;must now delay before reading in SPI data on MISO
;
set_delay temp,4
time_lo:
inc_delay temp
brcs time_lo
;
sbic pinb,miso ;after delay, read in SPI bit & put into D0
inc spi_lo ;we FORCED D0=0, so use INC to set D0.
;
dec temp
brne spi_loop |
Но, как говорится, что имеем - то имеем. Тут нужны эксперименты. Смотря какой внешний девайс у вас будет обслуживаться, такие и требования к таймингам.
А в целом почему бы и не пурквапа?
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:37.
|
|