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

 
 
5 страниц V  « < 3 4 5  
Reply to this topicStart new topic
> LVDS DDR данные из АЦП в ПЛИС
doom13
сообщение Jul 9 2014, 10:01
Сообщение #61


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Golikov A. @ Jul 9 2014, 12:05) *
У меня нет времени и желания разбираться в предложенном варианте по 2 причинам
1. Вариант понятен и прост, сделать его тяп ляп просто, сделать его правильно с защитой и диагностикой сложно
2. Я не вижу преимуществ этого вариант перед вариантом с FIFO, ни в реализации ни в использовании.

Так проще всего не разобравшись (стоило только более внимательно прочитать все предыдущие посты, чтобы понять - о чём идёт речь) сказать, что это "мрак". Оба варианта примерно одинаковы и просты в реализации, Вам нравится Ваш, мне - мой.

Цитата(Golikov A. @ Jul 9 2014, 12:05) *
Также я хочу заметить что подход
Цитата(doom13 @ Jul 9 2014, 10:52) *

Из собственного опыта .... есть проблемы с приёмом под Windows, но комп с Linux всё нормально принимает и обрабатывает.

Весьма детский и непрофессиональный

В чем собственно непрофессионализм - в использовании Linux? Вы сначала попробуйте принять примерный поток на ПК под управлением Windows - потом будете говорить о непрофессионализме.


Цитата(Golikov A. @ Jul 9 2014, 12:05) *
Утверждения вида
Цитата(doom13 @ Jul 9 2014, 10:52) *

Писал уже, если передача данных происходит не между континентами, то всё будет нормально с UDP даже при отправке фрагментированных IP-пакетов, никаких потерь и путаницы пакетов и фрагментов пакета не будет.

Допустимы только на студенческих курсовых да и то претендующих на зачет не более...

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

Цитата(Golikov A. @ Jul 9 2014, 12:05) *
Есть стандарт, в стандарте указано что гарантий нет, значит их нет! Если вы в одних идеальных условиях что-то проверили, и сегодня оно работает - это не дает вам права делать такие утверждения! Откуда вы знаете какие и где будут условия? По передавайте через вайфай на границе сигнала. Понаделают таких поделок, а потом у нас ракеты падают, говорят саботаж... Да я согласен - такой подход САБОТАЖ!

Если Вы так опираетесь на стандарт, с которым никто и не спорит, тогда посмотрите ещё и на длины соединений между отдельными узлами сети для которых этот стандарт выполняется, на прохождение данных через всевозможные сетевые устройства. Я точно могу сказать на каком расстоянии друг от друга находятся блоки системы (это не киллометры и даже не сотни метров), через какое количество коммутаторов должны пройти данные, могу проверить работоспособность системы, процент потери пакетов и на основании всего этого сделать заключение - UDP вполне подходит для данных целей.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 9 2014, 10:15
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



FIFO
1. Размер отправляемого пакета - любой задается через порог фифо не пусто. В любой момент можно изменить, даже на лету.
2. Число буферизуемых пакетов без потерь - ограничен только объемом памяти, число пакетов меняется на лету с их размером
3. Потери памяти (используемая физически, но не используемая для хранения данных) 0. Все пакеты лежат друг за другом байт в байт, выравнивания не требуется
4. Адрес чтения данных - один
5. Автомат управления адресом чтения - отсутствует

Вариант с 2 буферами
1. Размер отправляемого пакета - минимум ограничен заполняемостью буфера, если поставите 1 байт то оба буфера будут забиты. Второе ограничение ширина шины адреса, она определяет максимальную длину пакета
2. Число буферизуемых пакетов без потерь - 1. Чтобы их стало больше необходимо ставить еще блоки памяти. Усложнять мультиплексор выбор блока. На лету изменить с изменением размера пакета невозможно.
3. На каждый буфер вы используете один брам 18К, весь хвост 18К - размер пакета у вас не используется.
4. Адрес чтения пакета сменный, и зависит от размера пакета, с изменением размера пакета необходимо менять диапазон адресов
5. Необходим автомат управления адресом при чтении очередью, либо программные циклы с инкрементом

Достаточно или есть еще вопросы почему FIFO однозначно лучше? 2 буфера - решение для простоты, но если есть готовое FIFO надо брать его и использовать.


Цитата
В чем собственно непрофессионализм - в использовании Linux

Нет, непрофессионализм - это на основе своего частного мнения и конечного числа экспериментов выдвигать нарушающие стандарт утверждения.


Цитата
Это допустимо даже в очень нестуденческих проектах.

В очень не студенческих, но крайне плохих проектах. Проблема не в использовании UDP, проблема в неправильном его использовании. Кто мешает в UDP пакет вместе с данными положить заголовок с определяющий положение данных? Нет необходимости крутить тяжелый ТСР, но считать что UDP пакеты всегда будут идти друг за другом и никогда не потеряются - преступно!


Потому можете сколько угодно трясти готовыми проектами которые так работают. Я не изменю своего мнения. Проект построенный на таких допущениях - барахло!


Go to the top of the page
 
+Quote Post
doom13
сообщение Jul 9 2014, 10:52
Сообщение #63


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Golikov A. @ Jul 9 2014, 13:15) *
Нет, непрофессионализм - это на основе своего частного мнения и конечного числа экспериментов выдвигать нарушающие стандарт утверждения.

Вы, как всегда, не так поняли, я не выдвигал нарушающих стандарт утверждений, я всего лишь сказал, что для решения поставленной задачи UDP будет вполне достаточно и качество передачи данных будет достаточно надёжным. Сама система приёма/передачи данных реализовывалась с помощью советов знающих людей с данного форума (за что им и спасибо), которые уже проходили этот путь. Так что утверждать о субъективном мнении и ограниченном числе экспериментов не стоит.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
В очень не студенческих, но крайне плохих проектах. Проблема не в использовании UDP, проблема в неправильном его использовании. Кто мешает в UDP пакет вместе с данными положить заголовок с определяющий положение данных? Нет необходимости крутить тяжелый ТСР, но считать что UDP пакеты всегда будут идти друг за другом и никогда не потеряются - преступно!

Ваша оценка здесь неуместна, другие люди решают хорошо оно сделано или плохо. Заголовок для данных используется, но он не помогает восстановить данные, просто используется как информация о потере данных и всё.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
Потому можете сколько угодно трясти готовыми проектами которые так работают. Я не изменю своего мнения. Проект построенный на таких допущениях - барахло!

Про допущения я уже всё пояснил, читайте пожалуйста внимательней. Мне кажется, лучше "трясти" готовым, что работает и проверено, чем голословно без всякой проверки утверждать - всё очень плохо (замечал такое за Вами).
Go to the top of the page
 
+Quote Post
doom13
сообщение Jul 9 2014, 11:55
Сообщение #64


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Golikov A. @ Jul 9 2014, 13:15) *
FIFO
1. Размер отправляемого пакета - любой задается через порог фифо не пусто. В любой момент можно изменить, даже на лету.
Вариант с 2 буферами
1. Размер отправляемого пакета - минимум ограничен заполняемостью буфера, если поставите 1 байт то оба буфера будут забиты. Второе ограничение ширина шины адреса, она определяет максимальную длину пакета

Размер отправляемого пакета известен заранее, можно выбрать необходимый размер RAM или FIFO для хранения необходимого количества данных. Менять размер накапливаемых данных в сторону уменьшения возможно в обоих случаях,
в сторону увеличения везде столкнёмся с ограничением, которое задали при создании IP-ядра. Но в изменении длины накапливаемых данных и нет необходимости. По поводу того, что два буфера памяти могут заполниться одновременно,
объяснять Вам не буду, читайте выше. С шиной адреса тоже проблем не вижу, естественно, закладываем такую, чтоб обеспечить адресацию всех накопленных данных.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
FIFO
2. Число буферизуемых пакетов без потерь - ограничен только объемом памяти, число пакетов меняется на лету с их размером
Вариант с 2 буферами
2. Число буферизуемых пакетов без потерь - 1. Чтобы их стало больше необходимо ставить еще блоки памяти. Усложнять мультиплексор выбор блока. На лету изменить с изменением размера пакета невозможно.

Хранение/передачу данных в обоих случаях можно организовать без потерь, объяснять как Вам не буду, смотрите выше.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
FIFO
3. Потери памяти (используемая физически, но не используемая для хранения данных) 0. Все пакеты лежат друг за другом байт в байт, выравнивания не требуется
Вариант с 2 буферами
3. На каждый буфер вы используете один брам 18К, весь хвост 18К - размер пакета у вас не используется.

Что мешает выбрать оптимальный размер данных, чтобы и работать было удобно и память максимально эффективно использовалась, потери памяти были по нулям. Всё реализуемо.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
FIFO
4. Адрес чтения данных - один
Вариант с 2 буферами
4. Адрес чтения пакета сменный, и зависит от размера пакета, с изменением размера пакета необходимо менять диапазон адресов

Один раз выбирается длина данных с которой хотим работать и больше ничего менять не надо.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
FIFO
5. Автомат управления адресом чтения - отсутствует
Вариант с 2 буферами
5. Необходим автомат управления адресом при чтении очередью, либо программные циклы с инкрементом

Вы опять о чём-то своём. Говорим DMA адрес буфера данных и на этом наше участие в формировании адресов заканчивается, для FIFO DMA не инкреметирует адрес, для RAM - инкремитирует. Всё просто в обеих случаях.
Если процессор использовать то цикл чтения будет и для FIFO и для RAM, для вычитки RAM ещё можно memcpy использовать и тогда совсем никаких циклов не видно и адрес инкреметировать не нужно.
Цитата(Golikov A. @ Jul 9 2014, 13:15) *
Достаточно или есть еще вопросы почему FIFO однозначно лучше? 2 буфера - решение для простоты, но если есть готовое FIFO надо брать его и использовать.

Все Ваши доводы неубедительны.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 14:16
Рейтинг@Mail.ru


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