|
Система сбора данных, 60 дифференциальных каналов, дискретизация 500-2500гц |
|
|
|
 |
Ответов
|
Aug 25 2010, 08:16
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(Клим @ Aug 25 2010, 11:42)  Требуется система сбора данных в комп. Необходимо с частотой дискретизации до 2500гц получать аналоговые данные с ~60 дифференциальных каналов. Точности 12 бит вполне достаточно. Есть куча решений в виде плат PCI/PCIex, но смущает размер буфера в 1-4к. Будут ли такие карточки обеспечивать непрерывный сбор данных под windows? Пока нашел приличные платы от NI и Advantech, но хотелось бы подешевле. Если PCI master - при правильно написанных драйверах будут. Если режима master нет, то таже при правильно написанных драйверах можно придумать ситуацию, приводящую к потере данных.
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Aug 25 2010, 08:31
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(DS @ Aug 25 2010, 12:16)  Если режима master нет, то таже при правильно написанных драйверах можно придумать ситуацию, приводящую к потере данных. При правильно написанных и при отсутствии в системе неправильно написанных - сложно придумать такую ситуацию. Это ведь нужно, чтобы DPC находилось в очереди несколько миллисекунд. Ну а задержка больше 10 микросекунд на транзакцию - это очень глубокая PCI шина.
--------------------
Пишите в личку.
|
|
|
|
|
Aug 25 2010, 08:54
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(DS @ Aug 25 2010, 12:39)  1.5 мс всего. Каналов то 60. А родной драйвер windows для com порта умудряется терять байты (очень иногда, но имеет место быть), уже на скорости 115200. 1/(60*2500*2/4)=13 микросекунд. А если считывать сразу 128-битными родными для процессора типами, то еще в 4 раза больше. У родной микросхемы компорта буфер всего 16 байт. Там реально меньше миллисекунды на обработку прерывания. Тоже в принципе достаточно, но первые драйвера от MS были сами очень кривыми. Посмотрите на примеры в старых DDK. Майкрософты не зря новую модель драйверов придумывали, так как правильно написать WDM драйвер с нуля довольно сложно..
--------------------
Пишите в личку.
|
|
|
|
|
Aug 25 2010, 09:21
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(Oldring @ Aug 25 2010, 13:16)  1/(2500*60*2/4096) = 13 мс Это порядок разницы. Причины необслуживания прерывания в течение более чем миллисекунды могут быть самыми разными. Например, ошибки в самом драйвере. Например, невовремя лочит новые буфера в памяти. Да, прошу прощения, обсчитался в уме. Это, кончено, резко снижает вероятность потери данных. Но тем не менее, если нужна надежность, я бы не стал закладываться и на 13 мс - именно из-за возможного наличия кривизны в других драйверах. По моему опыту, ошибка "переполнение буфера" исчезает полностью, если его хватает больше, чем на 100, а лучше 500 мс. Если меньше 100 мс, то при эксплуатации разными людьми на разных компьютерах иногда кто-то нарывается на переполнение.
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Aug 25 2010, 09:24
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(DS @ Aug 25 2010, 13:21)  Да, прошу прощения, обсчитался в уме. Это, кончено, резко снижает вероятность потери данных. Но тем не менее, если нужна надежность, я бы не стал закладываться и на 13 мс - именно из-за возможного наличия кривизны в других драйверах. Мастер с буфером 4К от этого всё равно не спасет. Инициирует обмен мастера всё равно ЦП, указав место в памяти, куда именно складировать данные.
--------------------
Пишите в личку.
|
|
|
|
|
Aug 25 2010, 09:26
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(Oldring @ Aug 25 2010, 13:24)  Мастер с буфером 4К от этого всё равно не спасет. Инициирует обмен мастера всё равно ЦП, указав место в памяти, куда именно складировать данные. Ну так при разумном подходе ему можно назначить мегабайтный, например, буфер. Еще лучше, если кольцевой.
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
Сообщений в этой теме
Клим Система сбора данных Aug 25 2010, 07:42          DS Цитата(Oldring @ Aug 25 2010, 13:32) Коль... Aug 25 2010, 09:47           Oldring Цитата(DS @ Aug 25 2010, 13:47) Косвенно ... Aug 25 2010, 09:53            DS Цитата(Oldring @ Aug 25 2010, 13:53) Не и... Aug 25 2010, 09:57             Oldring Цитата(DS @ Aug 25 2010, 13:57) Если начи... Aug 25 2010, 10:04 DS А откуда ограничение на 4 Кбайта ? В PLX, например... Aug 25 2010, 10:27 Oldring Цитата(DS @ Aug 25 2010, 14:27) А откуда ... Aug 25 2010, 10:35 DS Так память на плате для DMA обычно вообще прозрачн... Aug 25 2010, 10:43 Oldring Цитата(DS @ Aug 25 2010, 14:43) Для реали... Aug 25 2010, 10:55  DS Цитата(Oldring @ Aug 25 2010, 14:49) Допу... Aug 25 2010, 10:55   Oldring Цитата(DS @ Aug 25 2010, 14:55) Прерывани... Aug 25 2010, 11:05    DS Цитата(Oldring @ Aug 25 2010, 15:03) Что,... Aug 25 2010, 11:08     Oldring Цитата(DS @ Aug 25 2010, 15:08) В любом с... Aug 25 2010, 11:13 DS Вроде мы тут уже с разных сторон рассмотрели, что ... Aug 25 2010, 11:15 Oldring Цитата(DS @ Aug 25 2010, 15:15) Вроде мы ... Aug 25 2010, 11:27 DS Ну и названий же их тоже нет. Так что ответить нев... Aug 25 2010, 11:32 Клим Цитата(DS @ Aug 25 2010, 14:32) Ну и назв... Aug 26 2010, 06:49 DS Судя по описаниям, все подходят. NI получше смотри... Sep 1 2010, 17:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|