PC/104 ЦАП с буфером FIFO? |
Ответить |
Автор | |
Новичок Присоединился: 05 Апрель 2007 Категория: Russian Federation Online Status: Offline Публикации: 5 |
Опубликовано: 05 Апрель 2007 12:38 |
Здравствуйте, господа!
Я разрабатываю устройство, выполненное на основе процессорной платы Diamond Athena и платы АЦП/ЦАП Diamond DMM32X-AT, форм-фактора PC-104. Устройство должно оцифровывать сигнал с аналоговых входов, производить обработку сигналов, и параллельно с этим, с минимально возможной задержкой выводить сигнал на выходы ЦАПа. Жесткое РВ не требуется, поэтому используется Linux. Проблема следующая: для АЦП на плате существует FIFO-буфер, а для ЦАП - нет! Программная генерация сигнала точка-за-точкой - не устраивает из-за непредсказуемой паузы между обновлениями ЦАПа, вызываемой переключениями контекста. Генерация сигнала по прерываниям - также не устраивает (в существующем виде), так как в данном режиме прерывание генерируется НА КАЖДУЮ ТОЧКУ выводимого сигнала, и несколько десятков тысяч прерываний в секунду - это явный перебор. Меня интересует ответ на следующий вопрос: существуют ли в природе платы ЦАП форм-фактора PC/104 со встроенной буферной памятью на борту? Или же существует другой путь решения проблемы? |
|
Новичок Присоединился: 05 Апрель 2007 Категория: Russian Federation Online Status: Offline Публикации: 5 |
|
А в ответ тишина...
Подумалось вот: а как же происходил вывод звука в старых звуковых картах на шине ISA? Был ли на них аппаратный буфер? Или на каждый отсчёт, 44100 раз в секунду, дёргалось прерывание? Вряд-ли... Если нет аппаратного буфера - остаётся DMA... Но каким боком DMA происходит на ISA, где нет Bus Mastering'а, и во время сеанса DMA процессор всё равно простаивает? Большой вопрос... Но звук-то как-то выводился :) |
|
Действительный член Присоединился: 15 Апрель 2005 Категория: Russian Federation Online Status: Offline Публикации: 101 |
|
Сдается мне, что столь резвый аналоговый вывод лежит где-то за рамками традиционных задач промышленной автоматизации. 20 лет назад очень похожую задачу решал разработкой модуля ЦАП в стандарте CAMAC с буфером соответствующего объема на борту :).
|
|
Новичок Присоединился: 05 Апрель 2007 Категория: Russian Federation Online Status: Offline Публикации: 5 |
|
Мдя... Только своей платы мне и не хватало :) А вообще, насколько это сложно - разработать собственную ISA-плату? И существуют ли какие-нибудь прототипные платы под это дело? PS. То есть плата-то нужна PC/104, но электрически это та же ISA. |
|
Действительный член Присоединился: 15 Апрель 2005 Категория: Russian Federation Online Status: Offline Публикации: 101 |
|
Полагаю, что не сложно (при определенных навыках, разумеется). Кстати, практически все производители PC/104 в том числе и Diamond продают prototype board - звоните ближайшему дилеру.
|
|
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
|
А почему-бы не использовать собственно звуковую плату ? На входе конденсатор убрать надо. А буфер у нее - будь здоров. С уважением, SAN
|
|
Новичок Присоединился: 05 Апрель 2007 Категория: Russian Federation Online Status: Offline Публикации: 5 |
|
>> А почему-бы не использовать собственно звуковую плату ? На входе конденсатор убрать надо. А буфер у нее - будь здоров. Есть две проблемы: 1) звуковая плата не калибрована по напряжению; 2) параметры могут плавать в зависимости от температуры, времени, и т.д.
И если первую проблему можно хоть как-то побороть (составлять калибровочные таблицы на каждый экземпляр устройства, благо устройство малотиражное), то вторая вводит в глубокий транс... |
|
Новичок Присоединился: 23 Июнь 2006 Категория: Belarus Online Status: Offline Публикации: 20 |
|
Насколько помню, в звуковых картах не тормозит, потому что там именно DMA и используется... |
|
Новичок Присоединился: 05 Апрель 2007 Категория: Russian Federation Online Status: Offline Публикации: 5 |
|
А насколько я помню - ЦП и периферийное устройство на шине ISA не могут _одновременно_ иметь доступ к ОЗУ. То есть, пока звуковая карта выполняет цикл DMA, процессор либо простаивает, либо выполняет инструкции из кэша. Для моей задачи это неприемлемо ни в каком виде: процессор должен быть всегда готов к приходу прерывания от АЦП, а если ISA-ЦАП будет выполнять DMA, то процессор оказывается недоступен. Насколько мне помнится, именно по этой причине на "дешёвых" ISA-саундкартах был невозможен полноценный полный дуплекс с низкой задержкой. А на "дорогих" как раз были буферы FIFO. На шине PCI, с полноценным арбитражом шины памяти, такой проблемы нет. Прав ли я? |
|
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
|
Sond Blaster может служить и как превосходный АЦП. Тогда звукашка вообще превратиться в целый АЦП-ЦАП 16-ти разрядный комплект, с полной самосинхронизацией. Пример описан в книге С.В. Зубкова "Assembler для DOS, Windows и UNIX". Шутка, но все-таки ...
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |