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

Обсуждаем контроллеры компании Atmel.
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение nikityan »

Простите, но я всё равно не могу разобраться.
Смотрите:
Я даю команду 18 читать все сектора подряд. В цикле после этого каждый раз выпрашиваю data(0xff); в ответ приходят данные с лишними (паразитными CRC) байтами. SPDR приравниваю к регистру OCR. Получаю звук с тарахтением. Видимо это и есть 2 лишних байта. Как их подешевле отрезать? И получать только полезную информацию?
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

Так и не выводите эти байты в OCR. Пытаюсь объяснить - 512 байт вывели в OCR, потом знаем, что дальше мусор (последний байт мусора 0xFE) и соответственно эти байты не надо посылать в OCR.
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение 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);
}
}
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение nikityan »

А возможно получить список файлов находяшийся на microSD с адресами полезных секторов? Буду признателен за информацию)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

Посмотрите реализации Fat для микроконтроллеров в интернете. У меня реализовано было очень упрощенно - большая часть вычислений была сделана на компьютере - надо было втиснуть в простенький микроконтроллер. Это работало только под один тип карточек - их сразу покупали много.
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение nikityan »

Добрый день) Пришло время избавиться от WAVа и перейти на mp3 поставив уже купленный декодер VS1011e soic28. Плату какую-ни какую я придумал уже. У кого есть наработки с работой с данным чипом? Исходники, советы также принимаються. Я так понимаю что чипу нужна инициализация и т.д. Очень интересен данный вопрос.
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение nikityan »

Людии! АУУУ!!!
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

А что у производителя информации недостаточно?
http://www.vlsi.fi/en/support/software/ ... tware.html
Врядли кто в наше время занимается изготовлением мп3 плеера, вот на армах вытягивают мп3 без декодера.
AlexAlcoa
Открыл глаза
Сообщения: 48
Зарегистрирован: Сб фев 10, 2007 18:49:28
Откуда: Самара

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

Сообщение AlexAlcoa »

nikityan писал(а):CMD0 проходит успешно в результате 0x01. Далее какие только команды не пробую 0x00 не возвращает.


У меня проблема 1в1, карточки microSD 512mb/1Gb/2Gb...

nikityan писал(а):Научился инициализировать флешку) Теперь читаю с неё подряд все сектора.


Как побороли? Можно глянуть Ваш инит карты? Спасибо.
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение nikityan »

Вот бета версия WAV плеера. Код был заточен под 128 мегу. Но потом решил под 32 мегу ноги поменять. вообшем пробуйте) задавайте вопросы)
Вложения
main.rar
(749 байт) 167 скачиваний
AlexAlcoa
Открыл глаза
Сообщения: 48
Зарегистрирован: Сб фев 10, 2007 18:49:28
Откуда: Самара

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

Сообщение 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.
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение nikityan »

Люди) А что нужно чтоб проигрывать 8 битный WAV стерео. А то моно уже надоело. Я не могу понять как он записан, какие части на какой канал посылать?
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

сначала идет значение амплитуды для левого канала, затем для правого, затем снова для левого и так далее (с)
http://audiocoding.ru/%D1%81%D1%82%D0%B ... D0%B0.html
nikityan
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

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

Сообщение 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 крутиться в цикле. Звук хриплый очень
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

может не будем мучиться: http://elm-chan.org/works/sd8p/report.html
kotriks
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

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

Сообщение kotriks »

где бы диктофон найти на библах чайна, а то кругом одни плееры.
Ответить

Вернуться в «AVR»