| Автор |
Съобщение |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Вадене на звук от микроконтролер.
Кое е по-добрия вариант откъм качество, за да извади човек звук от микроконтролер (говорим за говор, но трябва да е ясен и отчетлив дори и на китайски  ). Контролера е STM32 и имам на разположение 12 битов DAC или PWM изхода. Или да си шибна външен аудио-дак?
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Апр 15, 2013 11:42 am |
|
 |
|
Н'бабане Гт'муан'га
Ранг: Форумен бог
Регистриран на: Сря Яну 25, 2012 9:14 am Мнения: 5298
|
 Re: Вадене на звук от микроконтролер.
записан ли ще ти е звука, или ще го генерираш на момента? това е много важен детайл, който си пропуснал да споменеш
_________________ 'просто' е технически синоним на 'красиво'
|
| Пон Апр 15, 2013 12:02 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: Вадене на звук от микроконтролер.
Записан PCM/8Khz/16 bit. Другото основно изискване е да не мъчи процесора, че имам други неща да върша.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Апр 15, 2013 12:33 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
 Re: Вадене на звук от микроконтролер.
DAC + DMA. Ще трябва преди това да "адаптираш" записите - от signed short 16b на unsigned short 12b. Ако ти трябва регулиране на Volume-то, ползвай втория DAC за регулируем референс за първия. По принцип става и с PWM, даже е за предпочитане, ако ще ползваш клас D изходно стъпало ( дискретни MOS е най-добре ). С PWM качеството е ниско, ще ти трябва ДОБЪР аналогов band pass филтър.
|
| Пон Апр 15, 2013 1:02 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
 Re: Вадене на звук от микроконтролер.
Аз съм правил с 12 битов DAC. Става си прилично. Но звука трябва да се запише с нормализирана амплитуда за да имаш динамичен диапазон. И в изхода с един цифров потенциометър си регулираш силата на звука. Отделно си правиш в PC-то конвертор към 12 bit unsigned и си пишеш файловете в твой формат.
|
| Пон Апр 15, 2013 1:07 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Вадене на звук от микроконтролер.
щом е PCM най-читавото решение е някой евтин AC97 codec с вграден усилвател... ква беше оная реклама - от едната страна ръгаш кабела за слушалки/спикър от другата страна SPI/I2S/I2C и готово  Ех, софтуерът може малко да се усложни ако трябва да му управляваш екстрите ама малко 
|
| Пон Апр 15, 2013 1:34 pm |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
 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:20 pm |
|
 |
|
Н'бабане Гт'муан'га
Ранг: Форумен бог
Регистриран на: Сря Яну 25, 2012 9:14 am Мнения: 5298
|
 Re: Вадене на звук от микроконтролер.
затова те питах дали ще е записан звук. преди време и аз трябваше да вадя голямо количество висококачествен звук. направих го с един pic18, sd карта и vs1011. стана много лесно и звука беше перфектен. иначе другия вариант - както колегата отгоре с PWM. разгледай vlsi.fi
_________________ 'просто' е технически синоним на 'красиво'
|
| Пон Апр 15, 2013 2:40 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: Вадене на звук от микроконтролер.
Ако може, държа да мина без външни чипове (само с крайно стъпало). Иначе с кодеци знам как да стане  Единствено бих турнал външен кодек, ако е с вградено стъпало и е нещо от сорта на 1-1.5$ за 1к броя. Някой да има предвид такъв. Крайното стъпало в предишната генерация е било MSC1157.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Апр 15, 2013 3:08 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
 Re: Вадене на звук от микроконтролер.
Всъщност с STM32 имаш достатъчна производителност да си направиш в реално време конверсията от wave към 12 бит unsigned и същевременно да смяташ по някакъв коефициент на делене с който да регулираш нивото на звука. Ако предположим че минималното намаляне ще е 4 пъти от максималната сила на звука ще се получи че работиш с резолюция 10 бита на DAC-a което пак си звучи приемливо като за говор. Самото пращане на данните към dac-a би трябвало да може да стане с DMA като се тактува от таймер. Като си пуснеш пакет данни по DMA имаш достатъчно време да си прочетеш следващия пакет и да го обработиш. Така съм го направил аз в ATXmega,но без обработките щото AVRX не е много производителен и нямаше да има време за останалите дейности.
|
| Пон Апр 15, 2013 3:20 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: Вадене на звук от микроконтролер.
Абе то и тоя процесор си има маса други задължения. Та някак си не ми се ще да го товаря и с това. Затова искам данните да са готови и смляни и само с DMA да ги чета от някакъв флеш и с DMA да ги мятам в DAC-а и процесора въобще да не се занимава с глупости. Усилването не подлежи на промяна - вика колкото може, та и глухите да чуят. 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Апр 15, 2013 3:51 pm |
|
 |
|
sparkybg
Ранг: Форумен бог
Регистриран на: Вто Авг 23, 2005 12:02 pm Мнения: 3070 Местоположение: София
|
 Re: Вадене на звук от микроконтролер.
За самия звук и 8 бита е достатъчно. Може дори и 8 битов порт с R-2R група отвън + филтър. Данните към порта с DMA. Имаше такива конвертори навремето за паралелен порт на PC. За говор е предостатъчно.
Ама като си имаш DAC, горното само заема място на платката. Сложи му след DAC-а един филтър от втори или 4-ти ред на 4-5Khz, и си готов. Качеството за говор ще е предостатъчно, а DAC-а почти няма да се чува, да не кажа хич.
|
| Пон Апр 15, 2013 3:52 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Вадене на звук от микроконтролер.
Проблемът на кодеците е, че не се задържат във времето... поне евтините (т.е. дето ги ползват братята такайци). Иначе от любопитсво пуснах търсене в дигикейа - MAX9860 е на 1.2$ ама само слушалки...
|
| Пон Апр 15, 2013 4:13 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: Вадене на звук от микроконтролер.
Максим, а не мерси 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Апр 15, 2013 4:26 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Вадене на звук от микроконтролер.
каубойци ? имат 1-2W class D пак за около 1.2-1,5$ ако не те кефят каубойците имат и други марки, само трябва да потърсиш 
|
| Пон Апр 15, 2013 4:58 pm |
|
|