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

 
 
> Организация передачи потока данных АЦП через Ethernet (UDP) - как не изобретать велосипед?, Как наиболее стандартно это сделать?
Ruslan1
сообщение Nov 2 2013, 09:12
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Здравствуйте,

Есть такая задачка:
8-канальный 24-битный АЦП выдает данные 1000 сэмплов в секунду.
То есть трафик полезных передаваемых данных: 8 каналов * 24 бита * 1000 сэмплов = 192 Килобита в секунду (плюс еще мелочь вроде текущего времени)

Нужно передавать этот поток в канал Ethernet. Супернадежность не нужна, потеря фрейма не страшна. По всем критериям UDP подходит.
генерировать фреймы проблемы не вижу, проблема как это сделать так, чтобы с принимающей стороны это было просто принимать и обрабатывать.

Может быть, есть более-менее стандартные (популярные) методики для передачи подобной информации, например, какие-нибудь АЦП модуль с Езернетом, и на них известен формат фрейма?
Или, может быть, несложно сделать так чтобы со стороны принимающего компьютера это выглядело как удаленный виртуальный COM-порт (с уникальным IP и port) ?

Какие подводные камни могут быть? возможно ли, чтобы несколько приемников(компьютеров) принимали эти UDP дэйтаграммы (вроде бы да) ?

например, нашел у lcard.ru похожие устройства с UDP.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gerber
сообщение Nov 2 2013, 09:45
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(Ruslan1 @ Nov 2 2013, 12:12) *
Супернадежность не нужна, потеря фрейма не страшна. По всем критериям UDP подходит.

Не подходит. На первом же коммутаторе два пакета UDP вполне себе могут "поменяться местами", то есть отправленный позже пакет придёт раньше. Думаю, что для АЦП данных это критично.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Nov 2 2013, 10:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(gerber @ Nov 2 2013, 11:45) *
Не подходит. На первом же коммутаторе два пакета UDP вполне себе могут "поменяться местами", то есть отправленный позже пакет придёт раньше. Думаю, что для АЦП данных это критично.

Я однозначно в каждый UDP пакет буду вставлять время первого сэмпла в начало (опять же вопрос что вставлять, пока что склоняюсь к 4-байтовому числу формата time_t плюс 2-байтовый номер миллисекунды).

Спасибо за замечание, это означает что нужно писать свой приемник, который будет не просто вставлять пакеты в итоговый файл один-за-другим, а делать это строго согласно заголовку с временем (то есть возможна вставка). Получается, что просто глупый приемник потока в файл (как с последовательным портом) не подходит.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 2 2013, 10:18
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ruslan1 @ Nov 2 2013, 14:04) *
Спасибо за замечание, это означает что нужно писать свой приемник, который будет не просто вставлять пакеты в итоговый файл один-за-другим, а делать это строго согласно заголовку с временем (то есть возможна вставка). Получается, что просто глупый приемник потока в файл (как с последовательным портом) не подходит.

Вот только как будете разруливать ситуацию, когда скажем пакет "поздний" придет, а "ранний" потеряется... Ждать? Не ждать, так тогда как?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Nov 2 2013, 10:47
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(iosifk @ Nov 2 2013, 12:18) *
Вот только как будете разруливать ситуацию, когда скажем пакет "поздний" придет, а "ранний" потеряется... Ждать? Не ждать, так тогда как?

Ну да, ну да, согласен. Это вечная проблема (наряду с переводом времени назад).

Ограничил (себе) задачу, буду просто на экран график в онлайне выводить.
Для надежной передачи есть файлы с данными и по FTP доступны, так что объявил этот UDP поток онлайн интерфейсом для тестирования-наладки.
В-общем, в таком виде все просто: храню историю последних 10 секунд, если точка есть- засвечиваю на графике, если нет- то ее не видно.
Похоже, по сложности реализации конструкция выходного дня получается, искать чужой формат фрейма расхотелось, быстрей свое самому написать в билдере sm.gif
Go to the top of the page
 
+Quote Post
reijn
сообщение May 16 2014, 08:58
Сообщение #6





Группа: Новичок
Сообщений: 2
Регистрация: 11-04-11
Пользователь №: 64 305



Добрый день!
Скажите, у вас всё-таки получилось организовать передачу данных с АЦП по Ethernet или нет?
Go to the top of the page
 
+Quote Post
megajohn
сообщение May 16 2014, 09:09
Сообщение #7


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(reijn @ May 16 2014, 12:58) *
Скажите, у вас всё-таки получилось организовать передачу данных с АЦП по Ethernet или нет?


Тоже задавался этим вопросом
сделал так


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
reijn
сообщение May 17 2014, 10:32
Сообщение #8





Группа: Новичок
Сообщений: 2
Регистрация: 11-04-11
Пользователь №: 64 305



Доброго времени суток!

Я вот столкнулся с такой задачей:
На двухканальный АЦП подаются синфазная и квадратурная компоненты сигнала.
Сигнал с частатой f<1МГц.
Необходимо полученный после АЦП поток данных отправить по Ethernet на комп.

Подскажите, на чём лучше выполнить формирование и осуществить отправку E-кадров,
и может будут какие-то рекомендации в по-поводу того, какой АЦП лучше использовать?
Go to the top of the page
 
+Quote Post



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

 


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


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