Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

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  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: SD/MMC на AVR

Сообщение от Алекс Василич Посмотреть сообщение
ДА, МОЖНО!
Принципиальных запретов на выполение этих операций средствами контроллера нет.
Так никто и не спорит, что можно. Всё можно, но есть одно но... Время.

Сколько потребуется времени, чтобы изучить структуру фат32, все нюансы. А то получится, что контроллер всё отформатировал. Ок. Даже файлы записал. Вставляем в комп - усё путём. Обратно - пися. Просто комп один байтик где-то изменил, и всё, ппц... Не говоря уже про форматирование и загрузчики с вытекающими отсюда смещениями и поползновениями.

Это я к тому, что зачем тратить своё время, когда тот же Чен, например, уже сделал всё в лучшем свете с обработчиками ошибок и пр.

Сообщение от Алекс Василич Посмотреть сообщение
А вот нафига я выкладывал мануал то? В SPI возможна работа в High-Speed Mode после переключения командой CMD6
Ну это был не вопрос, чтобы узнать сколько именно, а как бы намёк, что и в этом случае, наверняка, есть ограничения.

P.S. Пока не до этого. Попозже, скорее всего, плотно займусь спецификациями SD/MMC и FAT16/32.
Godzilla82 вне форума  
Непрочитано 07.09.2012, 23:42  
Алекс Василич
Прописка
 
Аватар для Алекс Василич
 
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
Алекс Василич на пути к лучшему
По умолчанию Re: SD/MMC на AVR

А вот для того, чтобы узнать скоросные возможности воткнутой карты, на этапе инициализации считываеются служебные регистры карты и определяется версия протокола и поддерживаемые скорости, затем интерфейс переключается на разрешенную скорость.
Алекс Василич вне форума  
Непрочитано 07.09.2012, 23:59  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: SD/MMC на AVR

Сообщение от Алекс Василич Посмотреть сообщение
А вот для того, чтобы узнать скоросные возможности воткнутой карты, на этапе инициализации считываеются служебные регистры карты и определяется версия протокола и поддерживаемые скорости, затем интерфейс переключается на разрешенную скорость.
вооот, а то:
Сообщение от Алекс Василич Посмотреть сообщение
Для SPI-режима это не актуально
Godzilla82 вне форума  
Непрочитано 01.11.2012, 13:09  
whoim
Почётный гражданин KAZUS.RU
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Простите за вопрос.. Тоже скоро придется работать с SD, в принципе 2гб/FAT будет достаточно. Но есть нюанс..

В МК все SPI порты заняты альтернативными функциями.. есть из свободного SDA/SCL. Есть ли библиотеки, в которых реализован протокол SD позволяющий вешаться на GPIO пины свободные?
whoim вне форума  
Непрочитано 01.11.2012, 13:57  
whoim
Почётный гражданин KAZUS.RU
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от whoim Посмотреть сообщение
Простите за вопрос.. Тоже скоро придется работать с SD, в принципе 2гб/FAT будет достаточно. Но есть нюанс..

В МК все SPI порты заняты альтернативными функциями.. есть из свободного SDA/SCL. Есть ли библиотеки, в которых реализован протокол SD позволяющий вешаться на GPIO пины свободные?
Перефразирую вопрос
Подскажите библиотеку для avr, в которой будет программно реализован SPI с возможностью вешатся на любые пины, будет поддержка FAT16 и коротких имен?
whoim вне форума  
Непрочитано 01.11.2012, 14:02  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от whoim Посмотреть сообщение
Перефразирую вопрос
Подскажите библиотеку для avr, в которой будет программно реализован SPI с возможностью вешатся на любые пины, будет поддержка FAT16 и коротких имен?
Это типа "Кнопку нажал - спина вспотела" ?
Возьмите либу Чана, замените железный SPI на его софтовую реализацию и будет вам счастье.
Заодно подскажите скорость ногодрыга для вашего avr, исходя из этого увидим, на какой скорости будет ваш FAT летать.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 01.11.2012, 14:04  
whoim
Почётный гражданин KAZUS.RU
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от ut1wpr Посмотреть сообщение
Это типа "Кнопку нажал - спина вспотела" ?
Возьмите либу Чана, замените железный SPI на его софтовую реализацию и будет вам счастье.
Заодно подскажите скорость ногодрыга для вашего avr, исходя из этого увидим, на какой скорости будет ваш FAT летать.
ногодрыг хочу на 32мгц запустить, минимум 16 будет точно. Скорость чтения/записи особо не важна, так как будет довольно неспеша туда файлики складываться.

но, конечно, хотелось бы найти решение максимально быстрое. Возможно, с asm вставкой в плане софтового SPI.

Либа Чана - с какой страницы начать читать эту тему? ))
whoim вне форума  
Непрочитано 01.11.2012, 14:16  
whoim
Почётный гражданин KAZUS.RU
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию 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?
Достаточно его модифицировать с использованием первой ссылки поста и вуаля?
whoim вне форума  
Непрочитано 01.11.2012, 14:32  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от whoim Посмотреть сообщение
Позволю себе обрисовать один путь, скорее чтобы не забыть. Возможно, он получится.

начну с программного 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?
Достаточно его модифицировать с использованием первой ссылки поста и вуаля?
Особого "вуаля" не стоит ожидать. Чтение этого фрагмента, подстановка значений тактовой МК при вычислений задержек рисует (мне кажется) не очень радужную картину в плане скоростных качеств этого 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
ut1wpr вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
AVR JTAGICE MKII - проблемы firmware... Luxurious AVR 25 20.10.2014 10:50
БИНС на AVR grisha109 Микроконтроллеры, АЦП, память и т.д 30 15.06.2011 16:08


Часовой пояс GMT +4, время: 06:37.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot