Страница 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
может не будем мучиться: http://elm-chan.org/works/sd8p/report.html

Re: Инициализация SD карты+Atmega128a

Добавлено: Пн май 06, 2013 04:01:30
kotriks
где бы диктофон найти на библах чайна, а то кругом одни плееры.