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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.08.2008, 01:32  
IgorAVR2
Прописка
 
Регистрация: 06.09.2007
Сообщений: 122
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IgorAVR2 на пути к лучшему
По умолчанию Проблема при чтении аудио данных c SD карты

Мне нужно оргонизовать чтение 8 битного звука с SD карты с чатотой 22050гц.

При попытке чтения командой CMD17 то есть читать по одному блоку между блоками происходит небольшая задержка, которая в данном случае не приемлима, т.к. от этого страдает звук.

В карточках есть комада CMD18 - последовательное чтение блоков, пока не появиться команда CMD12(Стоп). Но только между блоками каточка тоже выдаёт какие то байты, которые не относяться к содержимому следующего блока.
Как опредилить начало следующего блока в этой команде? И как вообще правильно использовать данныую команду, что бы можно было читать аудио данные, без существенных задержек?
Реклама:
IgorAVR2 вне форума  
Непрочитано 03.08.2008, 20:37  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Интересуюсь по данному вопросу, хотя накачено данных масса .
Не только по выше названной проблеме но и вообще - по иницилизации карточек , чтение/запись MMC/SD.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 04.08.2008, 00:05  
VDG
Прописка
 
Регистрация: 20.12.2005
Сообщений: 117
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
VDG на пути к лучшему
По умолчанию

кеш/буфер и ассинхронная работа поможет.
VDG вне форума  
Непрочитано 04.08.2008, 14:48  
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,545
Сказал спасибо: 700
Сказали Спасибо 4,327 раз(а) в 1,981 сообщении(ях)
Kabron на пути к лучшему
По умолчанию

Сообщение от VDG
кеш/буфер и ассинхронная работа поможет.
Мдя, ответ из серии "рация на башне"
Kabron вне форума  
Непрочитано 04.08.2008, 15:28  
Yegorvin
Прописка
 
Аватар для Yegorvin
 
Регистрация: 05.02.2008
Сообщений: 251
Сказал спасибо: 34
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
Yegorvin на пути к лучшему
По умолчанию

Сообщение от Kabron
Сообщение от VDG
кеш/буфер и ассинхронная работа поможет.
Мдя, ответ из серии "рация на башне"
Предварительно считывать в буфер нужно обязательно. Чтение с флеш карт не может идти с постоянной скоростью и без задержек. Так что организовываем в памяти микроконтроллера (или чем там считываеться карточка) буффер и туда записываем данные с упреждением, ну а от туда уже потихоньку выводим звук с нужной скоростью.
Yegorvin вне форума  
Непрочитано 04.08.2008, 15:40  
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,545
Сказал спасибо: 700
Сказали Спасибо 4,327 раз(а) в 1,981 сообщении(ях)
Kabron на пути к лучшему
По умолчанию

Я так понимаю, что агитировать за буферизацию никого и не надо.
Автор спрашивал как границы блоков опознавать. Это действительно интересно.
Kabron вне форума  
Непрочитано 04.08.2008, 16:20  
VDG
Прописка
 
Регистрация: 20.12.2005
Сообщений: 117
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
VDG на пути к лучшему
По умолчанию

Сообщение от Kabron
Я так понимаю, что агитировать за буферизацию никого и не надо.
Надо. Так как это не сделано. Раньше наверняка использовал команду побайтного чтения и упреждающее чтение следующего блока делала микросхема. Сейчас он читает блоками по 512 байт. Упреждающего чтения в кеш следующего блока микросхема за него не делает (что правильно).
Сообщение от Kabron
Автор спрашивал как границы блоков опознавать. Это действительно интересно.
Автор такую чушь не спрашивал. Он поблочно читает. Какой блок запросил, такой и считал. Какие ещё такие границы ему не известны?
VDG вне форума  
Непрочитано 04.08.2008, 16:26  
VDG
Прописка
 
Регистрация: 20.12.2005
Сообщений: 117
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
VDG на пути к лучшему
По умолчанию Re: Проблема при чтении аудио данных c SD карты

Сообщение от IgorAVR2
Но только между блоками каточка тоже выдаёт какие то байты, которые не относяться к содержимому следующего блока.
Как опредилить начало следующего блока в этой команде? И как вообще правильно использовать данныую команду, что бы можно было читать аудио данные, без существенных задержек?
Нет таких данных которые карта может выдавать, не относящиеся к блоку. Писали небось по 1024 байта, а считывание делаете по 1050 (если в цифре не ошибаюсь).
Вот Вам отсюда и "левые" данные и якобы "задержка" и мнимые "границы" при потоковом чтении блоков.

При потоковых операциях микросхема делает упреждающее чтение (правда если карте не 100 лет) следующего блока/байта.
Чтобы не было "мусора" читайте и пишите командами на блоки равной длины - либо на 1024 байт, либо на 1050 байт.
Вобщем, читать даташит на протокол надо очень внимательно. Там каждая буква важна.
VDG вне форума  
Непрочитано 05.08.2008, 11:35  
IgorAVR2
Прописка
 
Регистрация: 06.09.2007
Сообщений: 122
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IgorAVR2 на пути к лучшему
По умолчанию

Так, в вопросе я разобрался (помогли в другом месте), результаты следующие.

Меня действительно интересовало как опознать начало следующего блока в команде CMD18 и как выяснилось что в конце бока идут два байта CRC считанного блока (что из даташита я так и не понял). Имено их я считал левыми байтами. А дальше, что бы опрелделить начало следующего блока, ждём от карты FE, после чего идут данные самого блока.

За буферизацию агетировать я думаю не надо, т.к. до этого варианта я сам то же догадался, но он не всегда приемлим, т.к. требует совершенно других вичислительных ресурсов. А они не всегда имеются.

Я же пока сделал без буферизации, для голоса качество получилось вполне приличное, хотя не большая задержка между блоками есть, но на слух при воспроизведении голоса или даже музыки это не слышно.
IgorAVR2 вне форума  
Непрочитано 05.08.2008, 11:49  
IgorAVR2
Прописка
 
Регистрация: 06.09.2007
Сообщений: 122
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IgorAVR2 на пути к лучшему
По умолчанию Re: Проблема при чтении аудио данных c SD карты

Сообщение от VDG
Писали небось по 1024 байта, а считывание делаете по 1050 (если в цифре не ошибаюсь).
А разве размер блока может быть больше 512байт? Если можно ткните носом, где это написано. Потому что мне помница то что не больше 512 байт?
IgorAVR2 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DS1307 и глюки при чтении _Stealth_ Микроконтроллеры, АЦП, память и т.д 20 21.12.2011 14:06
Борьба с шумом при захвате аудио whazza Аудиотехника 1 23.05.2008 10:39
Связь 2 двух МК по RS485,ошибки при передаче данных. Zemlyanov Микроконтроллеры, АЦП, память и т.д 8 12.10.2007 12:58
При чтении CD диска выдаёт 00 треков 00:00 минут axle Аудиотехника 3 10.04.2006 11:06
PIC16F84A проблема с записью в ПЗУ данных Jerry86 Микроконтроллеры, АЦП, память и т.д 2 23.12.2004 03:43


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


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