реклама на сайте
подробности

 
 
> Работа со звуком в программе с операционной системой
stepper88
сообщение Jan 29 2013, 17:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 20-02-09
Пользователь №: 45 138



Здравствуйте, господа!
Понадобилось в проекте с операционной системой RL-ARM RTX проигрывать wav-файл с карты памяти. Подскажите пожалуйста, как лучше это реализовать. Само устройство сделано на базе LPC2378 (есть подключенная внешняя ОЗУ), звук выводится через ЦАП микроконтроллера. Я посмотрел, для вывода требуется частота отсчетов минимум 8 кГц, но системный тик RTX сейчас 1 милисекунда. Как поступить? Или уменьшать время системного тика, или каким-то образом задействовать еще один таймер и отправлять данные очередного отсчета из обработчика его прерывания?
Заранее благодарен
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ar__systems
сообщение Jan 30 2013, 06:50
Сообщение #2


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Нормальный звук врядли на нем удастся сделать.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Jan 30 2013, 08:01
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(ar__systems @ Jan 30 2013, 08:50) *
Нормальный звук врядли на нем удастся сделать.


Так не музыку же собираются играть, раз там Fs=8kHz.

Цитата
DMA не имеет доступа к ЦАПу


При Fs=8kHz и не надо никакого DMA.
Можно завести таймер на 8кгц и сделать два буфера, в один считывать с карты памяти, со второго - по прерыванию таймра выводить в ЦАП. По концу буфера, буфера меняются местами.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 30 2013, 08:23
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Allregia @ Jan 30 2013, 17:01) *
Можно завести таймер на 8кгц

Так моя и не спорит, понимает, что можно rolleyes.gif Вот только дергать ARM каждые 125 мкс как-то не камильфо. Нет, можно, но я, как уникальная личность, не сторонник такого подхода rolleyes.gif Желание эмулировать интерфейсы программно (где времянка играет основнополагающую роль) у меня еще отпало лет 6 назад rolleyes.gif

Гм... как абсурдная идея гнать аудио в FIFO USART, а на выходе конвертировать его сдвиговым регистром в параллельный код rolleyes.gif Я понимаю, печатка уже сделана.

Автор, когда придете к окончательному решению, будьте добры, расскажите нам, как и что rolleyes.gif Аж интересно стало!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
stepper88
сообщение Jan 30 2013, 14:06
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 20-02-09
Пользователь №: 45 138



Цитата(haker_fox @ Jan 30 2013, 14:23) *
Автор, когда придете к окончательному решению, будьте добры, расскажите нам, как и что rolleyes.gif Аж интересно стало!

Простите пожалуйста, что не ответил сразу. На работе интернет тормозит сегодня жутко. Пока что сделал сегодня только распаковку файла wav и вывод отсчетво на терминал.
У меня вопрос насчет таймера - если я сделаю прерывания с частотой 8 кГц это не порушит операционную систему? Просто устройство должно реализовывать госовое меню по телефону и охота отлавливать реакцию модема - повесил ли пользователь трубку, а может быть, нажал кнопку. С кодеком, к сожалению не получится - плата уже сделана и не хочется сильно вносить изменения в схемотехнику.
За идею с буферами спасибо отдельное - вполне возможно, что тоже пробовать буду.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jan 30 2013, 14:20
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(stepper88 @ Jan 30 2013, 18:06) *
У меня вопрос насчет таймера - если я сделаю прерывания с частотой 8 кГц это не порушит операционную систему? Просто устройство должно реализовывать госовое меню по телефону и охота отлавливать реакцию модема - повесил ли пользователь трубку, а может быть, нажал кнопку.

вы же используете голосовые функции модема? что там к вам от него валится?
Если поток валится, как анализируете?

я когда-то делал подобное, с использованием БПФ, но это было на PC
Мне от модема валился оцифрованный поток, я его просто БПФ скармливал и выделял КПВ оттуда
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 07:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01394 секунд с 7
ELECTRONIX ©2004-2016