Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Вадене на звук от микроконтролер.
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=11285
Страница 1 от 3

Автор:  Цецо [ Пон Апр 15, 2013 11:42 am ]
Заглавие:  Вадене на звук от микроконтролер.

Кое е по-добрия вариант откъм качество, за да извади човек звук от микроконтролер (говорим за говор, но трябва да е ясен и отчетлив дори и на китайски :) ).

Контролера е STM32 и имам на разположение 12 битов DAC или PWM изхода.

Или да си шибна външен аудио-дак?

Автор:  Н'бабане Гт'муан'га [ Пон Апр 15, 2013 12:02 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Цецо написа:
Кое е по-добрия вариант откъм качество, за да извади човек звук от микроконтролер (говорим за говор, но трябва да е ясен и отчетлив дори и на китайски :) ).

Контролера е STM32 и имам на разположение 12 битов DAC или PWM изхода.

Или да си шибна външен аудио-дак?


записан ли ще ти е звука, или ще го генерираш на момента? това е много важен детайл, който си пропуснал да споменеш

Автор:  Цецо [ Пон Апр 15, 2013 12:33 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Записан PCM/8Khz/16 bit. Другото основно изискване е да не мъчи процесора, че имам други неща да върша.

Автор:  bateAz [ Пон Апр 15, 2013 1:02 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

DAC + DMA. Ще трябва преди това да "адаптираш" записите - от signed short 16b на unsigned short 12b. Ако ти трябва регулиране на Volume-то, ползвай втория DAC за регулируем референс за първия. По принцип става и с PWM, даже е за предпочитане, ако ще ползваш клас D изходно стъпало ( дискретни MOS е най-добре ). С PWM качеството е ниско, ще ти трябва ДОБЪР аналогов band pass филтър.

Автор:  Nikola Kirov [ Пон Апр 15, 2013 1:07 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Аз съм правил с 12 битов DAC. Става си прилично. Но звука трябва да се запише с нормализирана амплитуда за да имаш динамичен диапазон. И в изхода с един цифров потенциометър си регулираш силата на звука. Отделно си правиш в PC-то конвертор към 12 bit unsigned и си пишеш файловете в твой формат.

Автор:  miro_atc [ Пон Апр 15, 2013 1:34 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

щом е PCM най-читавото решение е някой евтин AC97 codec с вграден усилвател... ква беше оная реклама - от едната страна ръгаш кабела за слушалки/спикър от другата страна SPI/I2S/I2C и готово ;-)

Ех, софтуерът може малко да се усложни ако трябва да му управляваш екстрите ама малко ;-)

Автор:  Edesign [ Пон Апр 15, 2013 2:20 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

аз имам няколко алармени модула с гласово обаждане.
Правил съм го с PIC24Fj32 .... не се сещам в момента за нататък, ама става всякакъв с честота 32Mhz и памет поне 32к. Чете wav файл от SD карта 16кХз 8 бита и щрака 100кХз PWM през 62,5uS. Качеството е перфектно, т.е. всеки може да пусне на PC как звучи такъв глас но за глас е повече от достатъчно. PWMa излиза на RC група 1к, 100nF и има едваааа долувима разлика с PC.

Ако можеш смени концепцията 16кХз 8 бита отколкото 8кХз 16 бита разликата е голяма

Автор:  Н'бабане Гт'муан'га [ Пон Апр 15, 2013 2:40 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

затова те питах дали ще е записан звук. преди време и аз трябваше да вадя голямо количество висококачествен звук. направих го с един pic18, sd карта и vs1011. стана много лесно и звука беше перфектен. иначе другия вариант - както колегата отгоре с PWM.
разгледай vlsi.fi

Автор:  Цецо [ Пон Апр 15, 2013 3:08 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Ако може, държа да мина без външни чипове (само с крайно стъпало). Иначе с кодеци знам как да стане :)

Единствено бих турнал външен кодек, ако е с вградено стъпало и е нещо от сорта на 1-1.5$ за 1к броя. Някой да има предвид такъв. Крайното стъпало в предишната генерация е било MSC1157.

Автор:  Nikola Kirov [ Пон Апр 15, 2013 3:20 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Всъщност с STM32 имаш достатъчна производителност да си направиш в реално време конверсията от wave към 12 бит unsigned и същевременно да смяташ по някакъв коефициент на делене с който да регулираш нивото на звука. Ако предположим че минималното намаляне ще е 4 пъти от максималната сила на звука ще се получи че работиш с резолюция 10 бита на DAC-a което пак си звучи приемливо като за говор. Самото пращане на данните към dac-a би трябвало да може да стане с DMA като се тактува от таймер. Като си пуснеш пакет данни по DMA имаш достатъчно време да си прочетеш следващия пакет и да го обработиш. Така съм го направил аз в ATXmega,но без обработките щото AVRX не е много производителен и нямаше да има време за останалите дейности.

Автор:  Цецо [ Пон Апр 15, 2013 3:51 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Абе то и тоя процесор си има маса други задължения. Та някак си не ми се ще да го товаря и с това.

Затова искам данните да са готови и смляни и само с DMA да ги чета от някакъв флеш и с DMA да ги мятам в DAC-а и процесора въобще да не се занимава с глупости. Усилването не подлежи на промяна - вика колкото може, та и глухите да чуят. :)

Автор:  sparkybg [ Пон Апр 15, 2013 3:52 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

За самия звук и 8 бита е достатъчно. Може дори и 8 битов порт с R-2R група отвън + филтър. Данните към порта с DMA. Имаше такива конвертори навремето за паралелен порт на PC. За говор е предостатъчно.

Ама като си имаш DAC, горното само заема място на платката. Сложи му след DAC-а един филтър от втори или 4-ти ред на 4-5Khz, и си готов. Качеството за говор ще е предостатъчно, а DAC-а почти няма да се чува, да не кажа хич.

Автор:  miro_atc [ Пон Апр 15, 2013 4:13 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Цецо написа:
Единствено бих турнал външен кодек, ако е с вградено стъпало и е нещо от сорта на 1-1.5$ за 1к броя. Някой да има предвид такъв.


Проблемът на кодеците е, че не се задържат във времето... поне евтините (т.е. дето ги ползват братята такайци).

Иначе от любопитсво пуснах търсене в дигикейа - MAX9860 е на 1.2$ ама само слушалки...

Автор:  Цецо [ Пон Апр 15, 2013 4:26 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

Максим, а не мерси :)

Автор:  miro_atc [ Пон Апр 15, 2013 4:58 pm ]
Заглавие:  Re: Вадене на звук от микроконтролер.

каубойци ?

имат 1-2W class D пак за около 1.2-1,5$

ако не те кефят каубойците имат и други марки, само трябва да потърсиш ;-)

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/