Страница 3 из 3
Re: Инициализация SD карты+Atmega128a
Добавлено: Пн мар 18, 2013 23:35:22
nikityan
Простите, но я всё равно не могу разобраться.
Смотрите:
Я даю команду 18 читать все сектора подряд. В цикле после этого каждый раз выпрашиваю data(0xff); в ответ приходят данные с лишними (паразитными CRC) байтами. SPDR приравниваю к регистру OCR. Получаю звук с тарахтением. Видимо это и есть 2 лишних байта. Как их подешевле отрезать? И получать только полезную информацию?
Re: Инициализация SD карты+Atmega128a
Добавлено: Вт мар 19, 2013 07:25:28
oleg110592
Так и не выводите эти байты в OCR. Пытаюсь объяснить - 512 байт вывели в OCR, потом знаем, что дальше мусор (последний байт мусора 0xFE) и соответственно эти байты не надо посылать в OCR.
Re: Инициализация SD карты+Atmega128a
Добавлено: Вт мар 19, 2013 16:43:23
nikityan
Спасибо большое получилось!
void PLAY (void)
{
unsigned int c;
for(c=0; c<512; c++)
{
__delay_cycles(60);
data(0xff);
OCR1A=SPDR;
}
while (SPDR!=0xFE)
{
data(0xff);
}
}
Re: Инициализация SD карты+Atmega128a
Добавлено: Чт мар 21, 2013 00:23:08
nikityan
А возможно получить список файлов находяшийся на microSD с адресами полезных секторов? Буду признателен за информацию)
Re: Инициализация SD карты+Atmega128a
Добавлено: Чт мар 21, 2013 13:43:19
oleg110592
Посмотрите реализации Fat для микроконтроллеров в интернете. У меня реализовано было очень упрощенно - большая часть вычислений была сделана на компьютере - надо было втиснуть в простенький микроконтроллер. Это работало только под один тип карточек - их сразу покупали много.
Re: Инициализация SD карты+Atmega128a
Добавлено: Пт апр 19, 2013 07:51:35
nikityan
Добрый день) Пришло время избавиться от WAVа и перейти на mp3 поставив уже купленный декодер VS1011e soic28. Плату какую-ни какую я придумал уже. У кого есть наработки с работой с данным чипом? Исходники, советы также принимаються. Я так понимаю что чипу нужна инициализация и т.д. Очень интересен данный вопрос.
Re: Инициализация SD карты+Atmega128a
Добавлено: Ср апр 24, 2013 11:28:09
nikityan
Людии! АУУУ!!!
Re: Инициализация SD карты+Atmega128a
Добавлено: Ср апр 24, 2013 13:09:47
oleg110592
А что у производителя информации недостаточно?
http://www.vlsi.fi/en/support/software/ ... tware.html
Врядли кто в наше время занимается изготовлением мп3 плеера, вот на армах вытягивают мп3 без декодера.
Re: Инициализация SD карты+Atmega128a
Добавлено: Пн апр 29, 2013 07:26:25
AlexAlcoa
nikityan писал(а):CMD0 проходит успешно в результате 0x01. Далее какие только команды не пробую 0x00 не возвращает.
У меня проблема 1в1, карточки microSD 512mb/1Gb/2Gb...
nikityan писал(а):Научился инициализировать флешку) Теперь читаю с неё подряд все сектора.
Как побороли? Можно глянуть Ваш инит карты? Спасибо.
Re: Инициализация SD карты+Atmega128a
Добавлено: Вт апр 30, 2013 19:09:19
nikityan
Вот бета версия WAV плеера. Код был заточен под 128 мегу. Но потом решил под 32 мегу ноги поменять. вообшем пробуйте) задавайте вопросы)
Re: Инициализация SD карты+Atmega128a
Добавлено: Вт апр 30, 2013 21:13:24
AlexAlcoa
Спасибо. Вопрос решился:) сам накосячил...
Мое устройство имеет батарейное питание, причем предполагается его непрерывная работа. Я принял решение отключать питание с карты во время простоя, сделал просто, на вывод мк посадил флешку и по желанию ее вкл/выкл вроде все ок. Но как выяснилось она жрет при ините в 38мА! в ожидании 4,4мА поэтому мой инит толком не проходил, CMD0 всегда был ок а вот далее флешка не реагировала т.к. при запуске инита питающий вывод перегружался и ограничивал ток через флешку что приводило к ее сбросу по питанию. Сейчас зацепил напрямую от 3.3v все пашет:)
Инит у меня такой:
1)CMD0 [0] ok далее, иначе выход.
2)CMD55 [0] ok далее (карта SD v1 или v2), иначе (карта MMC) на пункт 4.
3)ACMD41 [0] долбим пока не выйдет время ~1c или заведемся.
4)CMD1 [0] долбим пока не выйдет время ~1c или заведемся.
Карты большого объема >2G пока пока не использовал, но в принципе ее инициализация д.б. такая же только в аргументе ACMD41 нужно поднять бит HCS.
Re: Инициализация SD карты+Atmega128a
Добавлено: Сб май 04, 2013 17:53:11
nikityan
Люди) А что нужно чтоб проигрывать 8 битный WAV стерео. А то моно уже надоело. Я не могу понять как он записан, какие части на какой канал посылать?
Re: Инициализация SD карты+Atmega128a
Добавлено: Сб май 04, 2013 19:08:25
oleg110592
сначала идет значение амплитуды для левого канала, затем для правого, затем снова для левого и так далее (с)
http://audiocoding.ru/%D1%81%D1%82%D0%B ... D0%B0.html
Re: Инициализация SD карты+Atmega128a
Добавлено: Вс май 05, 2013 20:14:16
nikityan
не получается
void PLAY (void)
{
unsigned int c;
for(c=0; c<512; c++)
{
__delay_cycles(20);
data(0xff);
OCR1A=SPDR;
OCR1B=SPDR;
}
while (SPDR!=0xFE)
{
data(0xff);
}
}
делаю так. процедура PLAY крутиться в цикле. Звук хриплый очень
Re: Инициализация SD карты+Atmega128a
Добавлено: Вс май 05, 2013 20:22:22
oleg110592
Re: Инициализация SD карты+Atmega128a
Добавлено: Пн май 06, 2013 04:01:30
kotriks
где бы диктофон найти на библах чайна, а то кругом одни плееры.