Страница 33 из 386

Re: Вопросы по С/С++ (СИ)

Добавлено: Вс авг 07, 2011 23:17:34
Hispanus
Antifritz писал(а):
Hispanus писал(а):Как можно смоделировать звуки, чтобы потом воспроизводить их силами МК? В частотности, что нужно, чтобы получить на выходе букву В?
Простой МК может генерировать только однобитные звуки (просто пищать, как встроенный динамик ПК или как ринготоны на древних мобилках). Я когда-то делал функции, которые проигрывали определенные ноты с необходимой длительностью. Так можно проиграть простенькую мелодию. Для воспроизведения реальных звуков нужно подключать ЦАП и, возможно, внешнюю дополнительную память.
Буква В - это имеется ввиду нота "си"?
Не ноты :) а отдельные буквы. Возможно здесь поможет ШИМ, но у меня ничего не получается..

Re: Вопросы по С/С++ (СИ)

Добавлено: Пн авг 08, 2011 08:39:06
Antifritz
Может звуки, а не буквы? хотите чтобы МК стал разговаривать? :))) Встроенного ШИМ не хватит у него частота слишком маленькая, нужен ЦАП с частотой 16кГц или выше, а для хранения звуков может понадобится внешняя память, так получится что-то типа цифрового плеера.
Для записи звуков нужно или внешний АЦП опять таки с частотой 16кГц или можно сделать запись на ПК, преобразовать ее в какой-нибудь простой формат(желательно без сжатия) и научить МК понимать этот формат.

Re: Вопросы по С/С++ (СИ)

Добавлено: Пн авг 08, 2011 09:30:55
urry
Antifritz писал(а): Встроенного ШИМ не хватит у него частота слишком маленькая
сильное утверждение :)
Повторите этот проект и оцените качество звука.
http://elm-chan.org/works/sd8p/report.html

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 19:34:59
DX168B
Antifritz писал(а):Встроенного ШИМ не хватит у него частота слишком маленькая, нужен ЦАП с частотой 16кГц или выше.
Ещё как хватит. Для монофонического звука, 16-битного таймера в AtTiny2313 за глаза хватит. :)

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 20:41:54
Мастер Ломастер
DX168B писал(а):Ещё как хватит. Для монофонического звука, 16-битного таймера в AtTiny2313 за глаза хватит. :)
было бы любопытно увидеть подтверждение этих слов какими-то расчетами, что ли...

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 20:51:22
IfoR
В принципе, с использованием 8-битного таймера с ШИМ можно попробовать воспроизвести сильно басовый голос. :dont_know:

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 20:57:55
urry
можно. Неро - звуковой редактор, открываем любой звуковой файл, затем - сохранить как ... Выбираем pcm формат - в опциях -частота дискретизации 32075, 8 бит, моно.
Сохраняем и слушаем.
Ровно так же оно звучит и в железе.

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 21:05:15
IfoR
А о каком контроллере речь идёт? А то я на автомате для ATtiny2313 прикинул. :))

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 21:10:47
urry
У Чана - моя ссылка выше - тини 25 45 , у меня дверной звонок на меге 8 (что под руками было, то и поставил).

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 21:47:44
avreal
Лет восемь-девять назад делал аудио-информатор на ATtiny26L-8 и AT45DB (с ИК-барьером и проигрыванием по очереди звуковых фрагментов на голову ни в чём не виноватого покупателя).

Тини26, тини 25/45/85 хороши PLL и, как следствие, повышенной частотой ШИМ.

Мне достаточно было "около-телефонного" качества (что-то в духе 150 Гц - 3,5 кГц вышло), так вообще без проблем, я до 8кГц опустил частоту дискретизации во флешке и для облегчения фильтрации уже в тиньке делал линейную интерполяцию между двумя отсчётами для поднятия семплирования до 16 кГц (иначе несущая семплов подсвистывала через фильтр 3-го порядка на одном КТ315).

Если частоту семплирования поднять до 32 кГц, то звук вполне приличный.
Я конвертировал звук SOX-ом, включив его в процесс с makefile.
Т.е. накидал в каталог wav-ок, make автоматом все подхватил, sox-ом конвертнул в нужые 8 кГц моно 8 бит без сжатия (PCM). По прикидке в ту же tiny26 на том же С еще и ADPCM 4-bit декодер легко влез бы, но нужды не было. Точнее, к тому времени "срочно-срочно" сотню устройств сделали, после чего продолжения не последовало и софт дописывать не стал. И хорошо, так как тема немного противна была.

Re: Вопросы по С/С++ (СИ)

Добавлено: Вт авг 09, 2011 22:23:58
vitalik_1984
IfoR писал(а):В принципе, с использованием 8-битного таймера с ШИМ можно попробовать воспроизвести сильно басовый голос. :dont_know:
А почему вдруг басовый то? таймер же будет чаще срабатывать.

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:08:30
МитяРа
Пушистые, подскажите..

Есть пример на Си:

Код: Выделить всё

ADC0CF = ((SYSCLK/3000000)-1)<<3;   // set SAR clock to 3MHz
ADC0CF |= 0x01;                                  // set internal amplifer gain to 1
Что означает Это маска значения с тройкой, что-бы два младших бита не трогать или как.. :roll:

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:11:58
Gudd-Head
МитяРа писал(а):Это маска значения с тройкой, что-бы два младших бита не трогать или как.. :roll:
Это вроде сдвиг на 3 разряда влево, но я не уверен. Никогда этим не пользовался :)

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:20:48
МитяРа
Gudd-Head, благодарю, пушистый.. :beer:
Это точно сдвиг, т.к. полученное значение должно записываться в старшие 5 бит регистра..
Спасибо, буду разбираться дальше с настройками АЦП..

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:21:16
Мастер Ломастер
Gudd-Head писал(а):Это вроде сдвиг на 3 разряда влево, но я не уверен. Никогда этим не пользовался :)
ага, это сдвиг на 3 бита влево. равносильно умножению на 8

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:24:26
МитяРа
Мастер Ломастер писал(а):равносильно умножению на 8
Не, так непонятно.. Лучше запомню, что это сдвиг влево на три бита..

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:28:41
Gudd-Head
МитяРа писал(а):Спасибо, буду разбираться дальше с настройками АЦП..
C8051F120/1/2/3/4/5/6/7 C8051F130/1/2/3??? :)

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:39:31
МитяРа
F30x - начнём с малого.. :)))

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 14:44:14
Gudd-Head
МитяРа писал(а):F30x - начнём с малого.. :)))
Вот ваша старая тема: http://radiokot.ru/forum/viewtopic.php?f=20&t=20518 по СиЛабам. Есть опыт программирования F310 и F350, в т.ч. АЦП. Так что обращайтесь — не стесняйтесь :)))

Re: Вопросы по С/С++ (СИ)

Добавлено: Ср авг 10, 2011 15:01:20
МитяРа
Спасибо, пушистый..
Мя щас с настройками портов и периферии занимаюсь, но приходится разбираться урывками..
Времени, что-бы посидеть и всё прочитав, подумать, нету катастрофически.. одна надежда на отпуск.. :roll:

Про свою тему не забыл, вот там и встретимся.. :beer: