Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Звук в карту памяти ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
gora_electric
У кого есть инфа как проще сделать оцифровку звука на mega8 например и записать это на карту SD или какую другую ? Если мона то схему и алгоритм для проца
rx3apf
Цитата(gora_electric @ Jun 22 2007, 01:07) *
У кого есть инфа как проще сделать оцифровку звука на mega8 например и записать это на карту SD или какую другую ? Если мона то схему и алгоритм для проца

Если исходить из спецификации SD/MMC - то этого сделать нельзя. Потому как задержка при записи сектора может быть существенно больше, чем объем оперативной памяти у mega8, необходимый для буферизации оцифровки на время этой задержки. Кроме того, реализация файловой системы - штука достаточно сложная (хотя, конечно, можно тупо писать сектор за сектором - но и воспроизводить или считывать придется нестандартным же способом), или сделать что-то типа преформатирования, выделив определенную цельную область под файл и работать строго в этой области. И для любительской поделки можно рискнуть и положиться на предположительно малую задержку при записи сектора. Иначе - прямой путь к каким-нибудь ARMам, у которых и с быстродействием лучше, и спамятью...
Что до вообще оцифровки и записи на твердотельный носитель применительно к микроконтроллерам AVR - на атмеловском сайте есть аппликуха цифрового диктофона с использованием ихнего же serial dataflash...
Ден
Записать то конечно можно, но вот только оцифровкой и собственно сжатием всего этого потока данных должен заниматься не AVR , а скажем специализированая для мп3 плееров ИМС 1111493779.gif (к примеру VS1001) (заодно она поддерживает и сжатие => потребуется меньше места для хранения записи, чем если её не сжимать). Задачей же Меги будет управление этой VS и работа с файловой системой.
Только вот сдесь могут попасться грабли связанные с особенностью файловой системы, а именно то, что минимальный блок считаных данны будет 512 байт, таким образом на всё остальное у нас остаётся ещё 512 байт ОЗУ, а уж хватит ли этих оставшихся байт на всё остальное это можно узнать только когда окончательно напишем программу.
Вообще я порекомендовал бы посетить этот сайт на котором представлен проект мп3 плеера, и есть краткое руководство, что такое FAT и карта памяти.

Хотя конечно если не нужно эти данные передавать на комп. или када ещё, а просто записать их на карту и потом на этойже меге их воспроизвести, то можно обойтись и без файловой системы, а просто писать тупо байт за байтом на карту как уже сказал rx3apf
SpaceInvader
Посмотри здесь.
http://www.uni-electronics.newmail.ru/dictophon.htm
rezident
Разнообразные цифровые диктофоны представлены на сайте Телесистем.
http://www.telesys.ru/products/recorders/index.php
http://www.telesys.ru/products/avr/avr.php
http://www.telesys.ru/electronics/index.php?do=schemme
dx40
8 мега + SD карта = диктофон 8кГц/8бит моно.
Вполне реально, даже работает. Правда без фата и прочего...
KOG
Ну что Вы такое говорите, я делал 20 кГц, запись на ММС в файлы WAV (правда на ПИКе 16 Ф 876 т.частота 20МГц), прослушивание с ЦАПом на выходе -звук идеальный.
showone
реально.
есть рабочий вариант.
мега8, 14,7456, SDcard, часы реального времени и 16*2 LCD
все работает и пишется в FAT16 в WAV формате 8000ГЦ моно.
единственный нюанс, пока флешку форматирую на самой меге, и пишу сектор за сектором, потом формирую фат таблицу.
но все на компе считывается, все нормально копируется и открывается.
но можно и сразу писать по фат таблице, все успеет.

да.
сжатия нет, то что с АЦП то и пишем на флешку.
ресурсов меги хватило в притык.
rx3apf
Цитата(KOG @ Jun 26 2007, 19:22) *
Ну что Вы такое говорите, я делал 20 кГц, запись на ММС в файлы WAV (правда на ПИКе 16 Ф 876 т.частота 20МГц), прослушивание с ЦАПом на выходе -звук идеальный.

Согласно спецификации - нельзя. Т.е. если нужно гарантировать, что данные не пропадут - нужна буферная память. То, что реально современные карточки имеют куда меньшую латентность - это, конечно, хорошо. Но _гарантий_ никто не даст...
KOG
Цитата(rx3apf @ Jun 29 2007, 19:44) *
Согласно спецификации - нельзя. Т.е. если нужно гарантировать, что данные не пропадут - нужна буферная память. То, что реально современные карточки имеют куда меньшую латентность - это, конечно, хорошо. Но _гарантий_ никто не даст...


Я не понял что нельзя, то оцифровывать f-22050 Hz и записывать блочно по 512 байт в ММС-ку, а потом прописать FAT and Root-можно, а то что потеряется инфа от этого никто не застрахован (у меня были случаи).
rx3apf
Цитата(KOG @ Jul 1 2007, 18:52) *
Я не понял что нельзя, то оцифровывать f-22050 Hz и записывать блочно по 512 байт в ММС-ку, а потом прописать FAT and Root-можно, а то что потеряется инфа от этого никто не застрахован (у меня были случаи).

Создать элементы структуры "потом" можно, и это даже правильнее. Но нет никакой гарантии, что удастся записать сектор за время заполнения буфера. Кстати, а где столько оперативной памяти вообще взять - пишем из буфера 512 байтов, и еще такой же надо бы - а у mega8 всего 1K. Можно, конечно, три по 256, два пишем, один заполняется - но тем более гарантии, что успеем освободить - нет. В спецификации указаны весьма солидные возможные задержки (как я понимаю, это на тот случай, когда обнаружен сбойный сектор при записи и собственный контроллер карточки выполняет замену).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.