Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: диктофон на ATmega
Шарага > Soft - НЕ железо > Программирование МК
Wise
..Выкроил три дня и дописал, таки, первую программу на ATmega48. Ту самую, скандально известную.. smile.gif
..Боже, как не лежит душа, после PIC-ов.. Все, кажется, по-уродски и не так, устроено в этих мегах..

..Правда, в железо еще не прописал и не проверял.

..Вот и новое заданье,
В три пятнадцать, возле бани.. (С)

..Теперь, хотят от меня диктофон, с памятью 45-ой, на той же самой 48-ой меге..
Проклят будь неизвестный советчик..

Кое-какую информацию я собрал. Но и "чужой" не погнушаюсь.
Принимаются советы и ссылки всякого рода.

..Есть нюанс - воспроизводить надо уметь сразу две записи.

..Еще: кто знает дешевую микросхему с АРУ для электретного микрофона.
Один раз, я применил схему, казалось-бы, дешевле некуда - LM324, пара транзисторов в SOT-23, и, конечно, многовато "обвязки" в формате 0805.
Там же, кроме АРУ, и низы надо отрезать, и верхи, для оцифровки..
..Нет, блядь, мы хотим за 10 копеек, да еще, чтобы, и места на плате много не занимала.. Хотя, станок, все равно, паяет..
У меня есть варианты и попроще, но уж больно, думаю, качество будет никакое..
Правда, для диктофона, много не надо.
В общем, принимаю рекомендации и по АРУ.

..Ну, не на элхе же мне спрашивать..? russian_ru.gif
Максим Зиновьев
Цитата
Один раз, я применил схему, казалось-бы, дешевле некуда - LM324, пара транзисторов в SOT-23, и, конечно, многовато "обвязки" в формате 0805.
Там же, кроме АРУ, и низы надо отрезать, и верхи, для оцифровки..


Поставь лм358, два диода "туда-сюда"+2 резистора+конденсатор верхи придавить в ООС первого, вторым ОУ отнормируешь под АЦП и дофильтруешь ВЧ+полосу загробишь.
Низы с электрета специально никогда резать не приходилось, R в питание, электрет, С разделительный, R в землю(часть делителя "полпитания" ОУ) - обычно достаточно.
Главное отфильтровать механически, чтобы ветер, в т.ч. близкоразговорный, "отсечь", но это конструктив и применение надо хотя бы представлять ...
Wise
Цитата(Максим Зиновьев @ 9.10.2010, 13:57) *
Поставь лм358, два диода "туда-сюда"+2 резистора+конденсатор верхи придавить в ООС первого, вторым ОУ отнормируешь под АЦП и дофильтруешь ВЧ+полосу загробишь.


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

..Ограничитель, батенька, у вас безинерционный, хотя и относительно «мягкий», за счет диодов. Это для малых перегрузок. Но, если рявкнуть, в микрофон, то, клипирование будет такое, что, выход «забубнит».. А мне надо не исказить, по возможности, нежный женский голос, сообщающий:

..Граждане, воздушная тревога!
Граждане, спасайтесь, ради бога! (С)

..Моя схема явилась неким компромиссом, между дешевизной и желанием мало-мальских динамических качеств:
Нажмите для просмотра прикрепленного файла

..Это вырваный кусок из общей схемы прибора. Который производился, но, заказчика укусила глупая жаба – как-же так, столько места на такую ерунду.. Хотя, в необходимости функции компрессирования микрофона, непосредственным опытом, я его убедил (вот, убеждать приходится, и просвещать, итиху..).

..А вот подборка из инета, лет 7 ей, правда.. В основном, там, всякие глупости, но, я собираю все.. wacko.gif
Нажмите для просмотра прикрепленного файла
Максим Зиновьев
Цитата
Ну, до этих высот лаконизма в схемотехнике, подниматься, увы, не приходилось, мешал некоторый опыт работы на телевидении и радио.. А может, и зря..


По-моему - зря. Мы ж работаем с сигналом "телефонного качества", 200-3500 Гц, расширил немного вниз, для акцентации грудности девичьего голоса.

Цитата
Но, если рявкнуть, в микрофон, то, клипирование будет такое, что, выход «забубнит»..


Честно говоря, вообще не понятно, зачем писать грудастенькую, которая рявкает и не понимает после одного-трёх тестовых самоепрослушиваний, как надо говорить в железяку. Михаил, у тебя 8 или 10 бит будет ацепация?

Если делать дорого, то ставить как в концертных РМ что-то типа NE5хх, забыл как звать, давно это было. Есть риск потерять заказчика, от жабозадушения.

Доб. А вопрос писать голос на 1ВМ-РС (хоть в студии), обрабатывать там же, нормализировать, конвертировать в нужную битность и спс, а потом сбрасывать на SD для установки в девайс не рассматривался? Картхолдер жабонезадушит? Опять же веселые ребята не позабавятся матерными частушками..
Wise
Цитата
Доб. А вопрос писать голос на 1ВМ-РС (хоть в студии), обрабатывать там же, нормализировать, конвертировать в нужную битность и спс, а потом сбрасывать на SD для установки в девайс не рассматривался? Картхолдер жабонезадушит? Опять же веселые ребята не позабавятся матерными частушками..

..Максим, тебе нельзя отказать в наблюдательности, ты не в разведке, часом, служил (у Колчака)..?
..Написано, ведь, диктофон, а не проигрыватель файлов, сделанных неизвестно где..

Цитата
..зачем писать грудастенькую

..Грудастенькую, не грудастенькую.. Важно, чтобы в ладонь (грудь) входила..

P.S. Что это наши знатоки AVR помалкивают? Боятся тайны великие выдать?
Так я все равно узнаю.. И работу выложу здесь..
Подумаешь, бином Ньютона..(С)
Максим Зиновьев
Цитата
..Написано, ведь, диктофон,
Потом показалось - речевой информатор системы оповещения...
Ладно.
orthodox
Популярные такие микрофонные усилители с АРУ и шумоподавителем, например, SSM2167 от AD и похожие на них.
Но не сильно дешевые, хотя кому как.
SSM2167-1RMZ-R2 на плате занимает размер 5*3 мм всего, с ногами вместе.
Wise
Цитата
Причём тут AVR если вопросы о аналоговщине, компрессорах всяких.

..Еще один разведчик Колчака..
Читают ли люди первый пост, отвечая в ветку..
Уже и спрашивать расхотелось. russian_ru.gif
Цитата
..Теперь, хотят от меня диктофон, с памятью 45-ой, на той же самой 48-ой меге..

Кое-какую информацию я собрал. Но и "чужой" не погнушаюсь.
Принимаются советы и ссылки всякого рода.

..Есть нюанс - воспроизводить надо уметь сразу две записи.


Цитата
..например, SSM2167

..Да, знаю. Это дорого.
_pasha
Как оно называлось?
Дельта модуляция с двойным интегрированием. Точно полкопейки!
orthodox
MAX9814 немного дешевле.
около $1 берется небольшими количествами.
Тоже микрофонный усилитель, с компрессором и шумоподавителем.
Harbinger
Вкину свои 5 коп. У ASAHI KASEI были занятные вещи, но вряд ли сейчас уже выпускаются. AK2358, AK2361, AK2368 и т.п. В аудиоканале, предназначенном для передатчика - компрессор, ограничитель, полосовой фильтр и 2 усилителя с цифровой регулировкой (по SPI-подобному интерфейсу) - до и после компрессора. Недостатки - цена под $10 и дополнительный кварц требуется. По идее, что-то в этом духе д.б. ещё у CML.
MrYuran
А аппаратный готовый кодек нельзя применить?
Нажмите для просмотра прикрепленного файла

На efind.ru вроде по 3-4 бакса. Дорого?
orthodox
Цитата(MrYuran @ 12.10.2010, 8:51) *
А аппаратный готовый кодек нельзя применить?
Нажмите для просмотра прикрепленного файла

На efind.ru вроде по 3-4 бакса. Дорого?

А что, в нем тоже компрессирование делается перед преобразованием?
MrYuran
Цитата(orthodox @ 12.10.2010, 14:34) *
А что, в нем тоже компрессирование делается перед преобразованием?

Если посмотреть внимательно, там есть выход управления питанием микрофона.
Наверно, это и есть компрессия (я мало в этом понимаю).
В даташите можно почитать.
По крайней мере кусок схемы - от реального серийного диктофона.
Wise
Цитата
А аппаратный готовый кодек нельзя применить?

Нет. Только 48-ая мега.
Их две будет - одна обслуживает 8 аналоговых входов (АЦП), 15 кнопок и 15 двухцветных светодиодов.
На второй думаю собрать диктофон, с внешним входом и от встроенного электретного микрофона, с возможностью выдачи двух записей одновременно.

..Мне бы больше информации по работе с памятью AT45 и по реализации алгоритма ADPCM, в приложении к мегам..
Кое-что есть, конечно. Но, мало, пока. Особенно, по ADPCM - есть пример программы для PIC-ов, только.. Да и то, без комментариев. Не могу же брать кусок программы, не понимая, как она работает.. wacko.gif
Wise
..Да, и перевод есть, даже..
Но, все-таки, не на мегу, и без сжатия..
Wise
Спасибо, Огурцов. Без иронии.
Эти докУменты у меня есть.
Мало.. russian_ru.gif
orthodox
Цитата(Wise @ 13.10.2010, 21:10) *
..Да, и перевод есть, даже..
Но, все-таки, не на мегу, и без сжатия..


Сжатие лучше делать в аналоге, по понятным причинам.
Или это и имеется в виду?
Максим Зиновьев
Цитата(Wise @ 13.10.2010, 21:10) *
..Да, и перевод есть, даже..
Но, все-таки, не на мегу, и без сжатия..


http://wiredworld.tripod.com/tronics/dvr.html там внизу есть
Цитата
Improvements
This device can be improved by using compression techniques to compress the audio before storing into the dataflash chip. This would allow the device to store more than 4 minutes of audio on a 16 Megabit FLASH chip.
.

Погугли, мож кто и сделал уже сжатие.

Кстати, а почему не взяли AT89C51SNDxx на звук? Возможно, его бы хватило и на 15 аналоговых датчиков и прочие задачи...

Там, правда, внешний ЦАП, но можно обойтись парой регистров, r-2r и маненько логики, чтобы декодировать i2s/pcm интерфейс.
Wise
Цитата
Кстати, а почему не взяли AT89C51SNDxx на звук? Возможно, его бы хватило и на 15 аналоговых датчиков и прочие задачи...

Цитата
А аппаратный готовый кодек нельзя применить?

Цитата
Нет. Только 48-ая мега.



Цитата
Погугли, мож кто и сделал уже сжатие.

..Все прогуглено.. Этот диктофон на AT89C51SNDxx уже в зубах навяз.. все ссылки ведут к нему в первоисточнике, либо, к его русскому переводу..

Цитата
Сжатие лучше делать в аналоге, по понятным причинам.
Или это и имеется в виду?

..Здесь не аналоговое компрессирование имеется в виду.

ADPCM = АДИКМ = адаптивная дифференциальная импульсно-кодовая модуляция. Она позволяет сжать объем оцифрованного сигнала речи. И довольно сильно - из 16-ти бит, делает 4. Из 8-ми - тоже 4.

..Сама принципиальная возможность такого финта ушами, базируется на том факте, что, между соседними выборками речевого сигнала существует корреляция. Когда, например, между выборками сигнала "белый шум", корреляции нет.

..Интересно бы разобраться.. Там, вроде, даже не разность между соседними отсчетами кодируется, но, предсказание этой разности..
Одинаковый узел в кодере и декодере так и называется - предсказатель..
Не хило он предсказывает, если, из 16 бит позволяет выкинуть 12..

..С другой стороны, заниматься ADPCM меня никто не заставляет. Могу спокойно писать/извлекать стандартный поток 64000 бит в секунду.
Всего надо иметь возможность четырех записей по 16 секунд. Вот, четырех метров памяти вполне хватит.

..Но, все-таки, АЦП на борту 10-ти разрядный. Огрублять его до 8-ми, как-то "впадлу".. Тут бы и применить ADPCM.
Сам алгоритм описан в международных рекомендациях G.721, G.726. Однако, между этими документами и конкретным представлением, что и как делать с байтами и битами, в конкретном МК - дистанция большая.. russian_ru.gif
Максим Зиновьев
Цитата
..Но, все-таки, АЦП на борту 10-ти разрядный. Огрублять его до 8-ми, как-то "впадлу"..
Его и огрублять не придётся, сам свалится бит на 7. Не помню, как конкретно фронтенд ацп в 48/88/168 меге устроен. Полпитания будет на вых ОУ микрофонном ... Хуйня кака-та получится, имхо..
Я бы попробовал отмакетить тот диктофон на sm8535 c "компрессионным" микрофоном... Мож и какчества там нет.. совсем.
Как вариант - AC97 ежели не хочется простенький ставить, то попробовать найти кофидек/SLIC какой дешевый.. Сразу и вполучишь а or u..

Ты меня, Михаил, не ругай, но затея с двумя м48, э-эээ, говнястинькая, сдаётся мне...
М.б., 1хм48 и кофидек телефонный на практически весь звук, а? smile.gif
Wise
48-ая мега мне задана по условию, замена не обсуждается.
Я и в ней-то плаваю, только одну программу, пока, написал.
Осваивать еще какой-то sm8535 - ни времени, ни желания..

..Качество речи потока 64000 бит/сек., я знаю..

Цитата
Ты меня, Михаил, не ругай, но затея с двумя м48, э-эээ, говнястинькая, сдаётся мне...

..И как я запихаю, просто физически, выводы всех кнопок и светодиодов, аналоговых входов, в одну 48-ю мегу..? Да еще с памятью надо работать - это тоже пины.. Зуммер еще есть.. и прочие потребности..
Мне нельзя использовать внешние мультиплексоры и регистры последовательного вывода.
Могу две меги использовать.. dash1.gif
Максим Зиновьев
Цитата
Сам алгоритм описан в международных рекомендациях G.721, G.726. Однако, между этими документами и конкретным представлением, что и как делать с байтами и битами, в конкретном МК - дистанция большая..


Дизайнера56 поспрошай. Или аппнотики по телефоничным слик (у силабсовцев неплохо) полистай smile.gif

Цитата
..Качество речи потока 64000 бит/сек., я знаю..
8х8ksps, т.е. ? Дык там не просто 8 бит, а or u-law. ... Как раз, адаптивная pcm.

Был бы я на месте, я б тебе сбросил аппнотиков. Но, имхо, на АЦП м48 не особо можно сделать :(
_pasha
Цитата(Максим Зиновьев @ 14.10.2010, 17:40) *
8х8ksps, т.е. ? Дык там не просто 8 бит, а or u-law. ... Как раз, адаптивная pcm.

А или МЮ как раз экономят 4 бита разрядности.
Итого, чтоб получить телефонный кодек, надо 12 бит ацп. Если б не было этих двух каналов, задача решалась бы с помощью типокомпандера - амплитуду заводить на опору, а так - немного говенненько.
Максим Зиновьев
Цитата
Если б не было этих двух каналов, задача решалась бы с помощью типокомпандера - амплитуду заводить на опору

Насколько я понял, два канала это на play, а на mic rec достаточно одного. smile.gif
Осталось уточнить, а 48 умеет ли работать с внешней опорой? И еще - насколько, по весу мс и пассивки, можно легко сделать первый квадрант гиперболы или логарифм для вреф. Могу наврать, кажется, для для малого сигнала вреф д.б. мало, а для большого - велико, для мю-лав...
Wise
..Что-то не туда вас повело..
..Заводить ОС на REF не буду. Так как.
Сжатие должно быть программное.
Раз оно есть и его делают, я тоже должен сделать:

..А что же мы..?
И мы не хуже многих..
Мы тоже можем много выпивать..
(С)

..Конкретной (относительно) информации, смог добыть всего только..
Нажмите для просмотра прикрепленного файла

..Когда я сделаю эту (свою) байду, информации в инете, по данному поводу, резко прибавится.. russian_ru.gif
Максим Зиновьев
Цитата
..Что-то не туда вас повело..
..Заводить ОС на REF не буду. Так как.
Сжатие должно быть программное.


Мы маненько про качество отвлеклись. Подумали, что ежели было бы достаточно просто 8 бит 8 килосемплов пер секонд, то в телефонии б никто не заморачивался лавами, бо массовая отрасль, довольно-таки.

А, может быть, не жать и поставить две 45-х?

Вспомнил, тут еще немного мыслей можно увидеть по плеерам http://elm-chan.org/he_a_e.html

П.С. Какой-то гайморит с тырнетом, файл твой *.doc не получается скачать.. Может быть его программно сжать каким-нибудь rar-ом?

http://instruct1.cit.cornell.edu/courses/e...rks33/index.htm про ADPCM на AVR
Wise
Цитата
Вспомнил, тут еще немного мыслей можно увидеть по плеерам http://elm-chan.org/he_a_e.html

http://instruct1.cit.cornell.edu/courses/e...rks33/index.htm про ADPCM на AVR

..Да, это хорошая информация. Спасибо!
..Сейчас, пока отвлекся немного, от темы. Позже вернусь, продолжим дела наши скорбные.. dash1.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.