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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Hispanus
Грызет канифоль
Сообщения: 262
Зарегистрирован: Сб мар 26, 2011 14:17:14
Откуда: Оренбург

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

Сообщение Hispanus »

Antifritz писал(а):
Hispanus писал(а):Как можно смоделировать звуки, чтобы потом воспроизводить их силами МК? В частотности, что нужно, чтобы получить на выходе букву В?


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

Не ноты :) а отдельные буквы. Возможно здесь поможет ШИМ, но у меня ничего не получается..
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.

[i]Лорд Кельвин, физик, 1899 г.[/i]
Реклама
Аватара пользователя
Antifritz
Прорезались зубы
Сообщения: 222
Зарегистрирован: Чт июл 08, 2010 01:03:40
Откуда: Украина, Киев

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

Сообщение Antifritz »

Может звуки, а не буквы? хотите чтобы МК стал разговаривать? :))) Встроенного ШИМ не хватит у него частота слишком маленькая, нужен ЦАП с частотой 16кГц или выше, а для хранения звуков может понадобится внешняя память, так получится что-то типа цифрового плеера.
Для записи звуков нужно или внешний АЦП опять таки с частотой 16кГц или можно сделать запись на ПК, преобразовать ее в какой-нибудь простой формат(желательно без сжатия) и научить МК понимать этот формат.
Реклама
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

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

Сообщение urry »

Antifritz писал(а): Встроенного ШИМ не хватит у него частота слишком маленькая

сильное утверждение :)
Повторите этот проект и оцените качество звука.
http://elm-chan.org/works/sd8p/report.html
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

Antifritz писал(а):Встроенного ШИМ не хватит у него частота слишком маленькая, нужен ЦАП с частотой 16кГц или выше.

Ещё как хватит. Для монофонического звука, 16-битного таймера в AtTiny2313 за глаза хватит. :)
I am DX168B and this is my favourite forum on internet!
Реклама
Эиком - электронные компоненты и радиодетали
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

DX168B писал(а):Ещё как хватит. Для монофонического звука, 16-битного таймера в AtTiny2313 за глаза хватит. :)
было бы любопытно увидеть подтверждение этих слов какими-то расчетами, что ли...
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

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

Сообщение IfoR »

В принципе, с использованием 8-битного таймера с ШИМ можно попробовать воспроизвести сильно басовый голос. :dont_know:
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Реклама
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

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

Сообщение urry »

можно. Неро - звуковой редактор, открываем любой звуковой файл, затем - сохранить как ... Выбираем pcm формат - в опциях -частота дискретизации 32075, 8 бит, моно.
Сохраняем и слушаем.
Ровно так же оно звучит и в железе.
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

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

Сообщение IfoR »

А о каком контроллере речь идёт? А то я на автомате для ATtiny2313 прикинул. :))
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

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

Сообщение urry »

У Чана - моя ссылка выше - тини 25 45 , у меня дверной звонок на меге 8 (что под руками было, то и поставил).
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

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

Сообщение 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 декодер легко влез бы, но нужды не было. Точнее, к тому времени "срочно-срочно" сотню устройств сделали, после чего продолжения не последовало и софт дописывать не стал. И хорошо, так как тема немного противна была.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

IfoR писал(а):В принципе, с использованием 8-битного таймера с ШИМ можно попробовать воспроизвести сильно басовый голос. :dont_know:

А почему вдруг басовый то? таймер же будет чаще срабатывать.
В поисках истины человек развивается.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

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

Сообщение МитяРа »

Пушистые, подскажите..

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

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

ADC0CF = ((SYSCLK/3000000)-1)<<3;   // set SAR clock to 3MHz
ADC0CF |= 0x01;                                  // set internal amplifer gain to 1


Что означает
Это маска значения с тройкой, что-бы два младших бита не трогать или как.. :roll:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

МитяРа писал(а):Это маска значения с тройкой, что-бы два младших бита не трогать или как.. :roll:

Это вроде сдвиг на 3 разряда влево, но я не уверен. Никогда этим не пользовался :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

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

Сообщение МитяРа »

Gudd-Head, благодарю, пушистый.. :beer:
Это точно сдвиг, т.к. полученное значение должно записываться в старшие 5 бит регистра..
Спасибо, буду разбираться дальше с настройками АЦП..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

Gudd-Head писал(а):Это вроде сдвиг на 3 разряда влево, но я не уверен. Никогда этим не пользовался :)
ага, это сдвиг на 3 бита влево. равносильно умножению на 8
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

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

Сообщение МитяРа »

Мастер Ломастер писал(а):равносильно умножению на 8
Не, так непонятно.. Лучше запомню, что это сдвиг влево на три бита..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

МитяРа писал(а):Спасибо, буду разбираться дальше с настройками АЦП..

C8051F120/1/2/3/4/5/6/7 C8051F130/1/2/3??? :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

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

Сообщение МитяРа »

F30x - начнём с малого.. :)))
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

МитяРа писал(а):F30x - начнём с малого.. :)))

Вот ваша старая тема: viewtopic.php?f=20&t=20518 по СиЛабам. Есть опыт программирования F310 и F350, в т.ч. АЦП. Так что обращайтесь — не стесняйтесь :)))
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

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

Сообщение МитяРа »

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

Про свою тему не забыл, вот там и встретимся.. :beer:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Ответить

Вернуться в «Разные вопросы по МК»