Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Теория и практика автоматизации
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

PC/104 ЦАП с буфером FIFO?

 Ответить Ответить
Автор
Сообщение
serj_obninsk Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Апрель 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - serj_obninsk Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: PC/104 ЦАП с буфером FIFO?
    Опубликовано: 05 Апрель 2007 12:38
Здравствуйте, господа!
Я разрабатываю устройство, выполненное на основе процессорной платы Diamond Athena и платы АЦП/ЦАП Diamond DMM32X-AT, форм-фактора PC-104. Устройство должно оцифровывать сигнал с аналоговых входов, производить обработку сигналов, и параллельно с этим, с минимально возможной задержкой выводить сигнал на выходы ЦАПа. Жесткое РВ не требуется, поэтому используется Linux. Проблема следующая: для АЦП на плате существует FIFO-буфер, а для ЦАП - нет! Программная генерация сигнала точка-за-точкой - не устраивает из-за непредсказуемой паузы между обновлениями ЦАПа, вызываемой переключениями контекста. Генерация сигнала по прерываниям - также не устраивает (в существующем виде), так как в данном режиме прерывание генерируется НА КАЖДУЮ ТОЧКУ выводимого сигнала, и несколько десятков тысяч прерываний в секунду - это явный перебор. Меня интересует ответ на следующий вопрос: существуют ли в природе платы ЦАП форм-фактора PC/104 со встроенной буферной памятью на борту? Или же существует другой путь решения проблемы?
Наверх
serj_obninsk Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Апрель 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - serj_obninsk Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Апрель 2007 09:54

А в ответ тишина...  

 

Подумалось вот: а как же происходил вывод звука в старых звуковых картах на шине ISA? Был ли на них аппаратный буфер? Или на каждый отсчёт, 44100 раз в секунду, дёргалось прерывание? Вряд-ли... Если нет аппаратного буфера - остаётся DMA... Но каким боком DMA происходит на ISA, где нет Bus Mastering'а, и во время сеанса DMA процессор всё равно простаивает? Большой вопрос... Но звук-то как-то выводился :)

Наверх
SIBER Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 101
Свойства публикации Свойства публикации   Ответить, цитируя автора - SIBER Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Апрель 2007 10:22
Сдается мне, что столь резвый аналоговый вывод лежит где-то за рамками традиционных задач промышленной автоматизации. 20 лет назад очень похожую задачу решал разработкой модуля ЦАП в стандарте CAMAC с буфером соответствующего объема на борту :).
Наверх
serj_obninsk Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Апрель 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - serj_obninsk Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Апрель 2007 13:18

Мдя... Только своей платы мне и не хватало :)

А вообще, насколько это сложно - разработать собственную ISA-плату? И существуют ли какие-нибудь прототипные платы под это дело?

PS. То есть плата-то нужна PC/104, но электрически это та же ISA.

Наверх
SIBER Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 101
Свойства публикации Свойства публикации   Ответить, цитируя автора - SIBER Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Апрель 2007 14:41
Полагаю, что не сложно (при определенных навыках, разумеется). Кстати, практически все производители PC/104 в том числе и Diamond продают prototype board - звоните ближайшему дилеру.
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Апрель 2007 18:53

А почему-бы не использовать собственно звуковую плату ? На входе конденсатор убрать надо. А буфер у нее - будь здоров.

С уважением, SAN

 

Наверх
serj_obninsk Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Апрель 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - serj_obninsk Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Апрель 2007 08:46

>> А почему-бы не использовать собственно звуковую плату ? На входе конденсатор убрать надо. А буфер у нее - будь здоров.

Есть две проблемы:

1) звуковая плата не калибрована по напряжению;

2) параметры могут плавать в зависимости от температуры,  времени, и т.д.

 

И если первую проблему можно хоть как-то побороть (составлять калибровочные таблицы на каждый экземпляр устройства, благо устройство малотиражное), то вторая вводит в глубокий транс...

Наверх
Builder Смотреть выпадающим
Новичок
Новичок


Присоединился: 23 Июнь 2006
Категория: Belarus
Online Status: Offline
Публикации: 20
Свойства публикации Свойства публикации   Ответить, цитируя автора - Builder Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Апрель 2007 15:00
Первоначально опубликовано serj_obninsk

Подумалось вот: а как же происходил вывод звука в старых звуковых картах на шине ISA? Был ли на них аппаратный буфер? Или на каждый отсчёт, 44100 раз в секунду, дёргалось прерывание? Вряд-ли... Если нет аппаратного буфера - остаётся DMA... Но каким боком DMA происходит на ISA, где нет Bus Mastering'а, и во время сеанса DMA процессор всё равно простаивает? Большой вопрос... Но звук-то как-то выводился :)

Насколько помню, в звуковых картах не тормозит, потому что там именно DMA и используется...

Наверх
serj_obninsk Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Апрель 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - serj_obninsk Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Апрель 2007 16:24
Первоначально опубликовано Builder

Насколько помню, в звуковых картах не тормозит, потому что там именно DMA и используется...

 

А насколько я помню - ЦП и периферийное устройство на шине ISA не могут _одновременно_ иметь доступ к ОЗУ. То есть, пока звуковая карта выполняет цикл DMA, процессор либо простаивает, либо выполняет инструкции из кэша. Для моей задачи это неприемлемо ни в каком виде: процессор должен быть всегда готов к приходу прерывания от АЦП, а если ISA-ЦАП будет выполнять DMA, то процессор оказывается недоступен. Насколько мне помнится, именно по этой причине на "дешёвых" ISA-саундкартах был невозможен полноценный полный дуплекс с низкой задержкой. А на "дорогих" как раз были буферы FIFO. На шине PCI, с полноценным арбитражом шины памяти, такой проблемы нет. Прав ли я?

Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 10 Апрель 2007 07:04

Sond Blaster  может служить и как превосходный АЦП. Тогда звукашка вообще превратиться в целый АЦП-ЦАП  16-ти разрядный комплект, с полной самосинхронизацией. Пример описан в книге  С.В. Зубкова "Assembler для DOS, Windows и UNIX".

Шутка, но все-таки ...

 

Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz