|
|
  |
Звук в карту памяти ? |
|
|
|
Jun 21 2007, 21:07
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 21-06-07
Пользователь №: 28 613

|
У кого есть инфа как проще сделать оцифровку звука на mega8 например и записать это на карту SD или какую другую ? Если мона то схему и алгоритм для проца
|
|
|
|
|
Jun 21 2007, 21:34
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(gora_electric @ Jun 22 2007, 01:07)  У кого есть инфа как проще сделать оцифровку звука на mega8 например и записать это на карту SD или какую другую ? Если мона то схему и алгоритм для проца Если исходить из спецификации SD/MMC - то этого сделать нельзя. Потому как задержка при записи сектора может быть существенно больше, чем объем оперативной памяти у mega8, необходимый для буферизации оцифровки на время этой задержки. Кроме того, реализация файловой системы - штука достаточно сложная (хотя, конечно, можно тупо писать сектор за сектором - но и воспроизводить или считывать придется нестандартным же способом), или сделать что-то типа преформатирования, выделив определенную цельную область под файл и работать строго в этой области. И для любительской поделки можно рискнуть и положиться на предположительно малую задержку при записи сектора. Иначе - прямой путь к каким-нибудь ARMам, у которых и с быстродействием лучше, и спамятью... Что до вообще оцифровки и записи на твердотельный носитель применительно к микроконтроллерам AVR - на атмеловском сайте есть аппликуха цифрового диктофона с использованием ихнего же serial dataflash...
|
|
|
|
|
Jun 22 2007, 09:47
|

Частый гость
 
Группа: Свой
Сообщений: 128
Регистрация: 21-06-07
Из: Омск
Пользователь №: 28 594

|
Записать то конечно можно, но вот только оцифровкой и собственно сжатием всего этого потока данных должен заниматься не AVR , а скажем специализированая для мп3 плееров ИМС  (к примеру VS1001) (заодно она поддерживает и сжатие => потребуется меньше места для хранения записи, чем если её не сжимать). Задачей же Меги будет управление этой VS и работа с файловой системой. Только вот сдесь могут попасться грабли связанные с особенностью файловой системы, а именно то, что минимальный блок считаных данны будет 512 байт, таким образом на всё остальное у нас остаётся ещё 512 байт ОЗУ, а уж хватит ли этих оставшихся байт на всё остальное это можно узнать только когда окончательно напишем программу. Вообще я порекомендовал бы посетить этот сайт на котором представлен проект мп3 плеера, и есть краткое руководство, что такое FAT и карта памяти. Хотя конечно если не нужно эти данные передавать на комп. или када ещё, а просто записать их на карту и потом на этойже меге их воспроизвести, то можно обойтись и без файловой системы, а просто писать тупо байт за байтом на карту как уже сказал rx3apf
|
|
|
|
|
Jun 23 2007, 13:59
|
Группа: Новичок
Сообщений: 9
Регистрация: 26-10-06
Пользователь №: 21 702

|
|
|
|
|
|
Jun 26 2007, 15:22
|
Группа: Новичок
Сообщений: 5
Регистрация: 28-09-06
Пользователь №: 20 768

|
Ну что Вы такое говорите, я делал 20 кГц, запись на ММС в файлы WAV (правда на ПИКе 16 Ф 876 т.частота 20МГц), прослушивание с ЦАПом на выходе -звук идеальный.
|
|
|
|
|
Jun 29 2007, 08:03
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 15-07-05
Пользователь №: 6 832

|
реально. есть рабочий вариант. мега8, 14,7456, SDcard, часы реального времени и 16*2 LCD все работает и пишется в FAT16 в WAV формате 8000ГЦ моно. единственный нюанс, пока флешку форматирую на самой меге, и пишу сектор за сектором, потом формирую фат таблицу. но все на компе считывается, все нормально копируется и открывается. но можно и сразу писать по фат таблице, все успеет.
да. сжатия нет, то что с АЦП то и пишем на флешку. ресурсов меги хватило в притык.
|
|
|
|
|
Jun 29 2007, 16:44
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(KOG @ Jun 26 2007, 19:22)  Ну что Вы такое говорите, я делал 20 кГц, запись на ММС в файлы WAV (правда на ПИКе 16 Ф 876 т.частота 20МГц), прослушивание с ЦАПом на выходе -звук идеальный. Согласно спецификации - нельзя. Т.е. если нужно гарантировать, что данные не пропадут - нужна буферная память. То, что реально современные карточки имеют куда меньшую латентность - это, конечно, хорошо. Но _гарантий_ никто не даст...
|
|
|
|
|
Jul 1 2007, 14:52
|
Группа: Новичок
Сообщений: 5
Регистрация: 28-09-06
Пользователь №: 20 768

|
Цитата(rx3apf @ Jun 29 2007, 19:44)  Согласно спецификации - нельзя. Т.е. если нужно гарантировать, что данные не пропадут - нужна буферная память. То, что реально современные карточки имеют куда меньшую латентность - это, конечно, хорошо. Но _гарантий_ никто не даст... Я не понял что нельзя, то оцифровывать f-22050 Hz и записывать блочно по 512 байт в ММС-ку, а потом прописать FAT and Root-можно, а то что потеряется инфа от этого никто не застрахован (у меня были случаи).
|
|
|
|
|
Jul 4 2007, 08:59
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(KOG @ Jul 1 2007, 18:52)  Я не понял что нельзя, то оцифровывать f-22050 Hz и записывать блочно по 512 байт в ММС-ку, а потом прописать FAT and Root-можно, а то что потеряется инфа от этого никто не застрахован (у меня были случаи). Создать элементы структуры "потом" можно, и это даже правильнее. Но нет никакой гарантии, что удастся записать сектор за время заполнения буфера. Кстати, а где столько оперативной памяти вообще взять - пишем из буфера 512 байтов, и еще такой же надо бы - а у mega8 всего 1K. Можно, конечно, три по 256, два пишем, один заполняется - но тем более гарантии, что успеем освободить - нет. В спецификации указаны весьма солидные возможные задержки (как я понимаю, это на тот случай, когда обнаружен сбойный сектор при записи и собственный контроллер карточки выполняет замену).
Сообщение отредактировал rx3apf - Jul 4 2007, 09:00
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|