| Микроконтролери и електроника 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: Вадене на звук от микроконтролер. | |||||||||
записан ли ще ти е звука, или ще го генерираш на момента? това е много важен детайл, който си пропуснал да споменеш |
||||||||||
| Автор: | Цецо [ Пон Апр 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: Вадене на звук от микроконтролер. | |||||||||
Проблемът на кодеците е, че не се задържат във времето... поне евтините (т.е. дето ги ползват братята такайци). Иначе от любопитсво пуснах търсене в дигикейа - 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/ |
|