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

 
 
7 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> Обмен данными с компьютером, Принимаю советы и замечания по модернизации старого проекта
zltigo
сообщение Mar 15 2009, 10:27
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SM @ Mar 15 2009, 13:06) *
1) Обеспечить соответствие ТЗ (в данном случае пропускную).

Пропускная способность на первом этапе не ограничивает ничего, на последующих этапах USB по сравнению с гигабитным Ethernet проигрывает.
Цитата
2) Минимизировать затраты, а именно 2А - на разработку, 2Б - на себестоимость, ну и

На разработку - бабущка надвое сказала - Вы утверждаете, что с помощью моста и "VID-PID на свой поправить, и все" решили проблемы, я смею утверждать, что не имею нималейщих проблем в написании считанных десятков строчек для поддержки физического уровня Ethernet. На себестоимость - слово Автору топика "Т.к. изделия не серийные, то можно использовать компоненты (в т.ч. ПЛИС) ценой в несколько тысяч рублей."
Цитата
2В) занять минимум лишнего места на плате.

Опять Автор - "с местом проблем нет"
Цитата
Пока предложений не было.

Ну если хотите считать, что "не было", считайте,что не было.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 15 2009, 10:32
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



То, что нет проблем с местом на плате, и то, что можно использовать компоненты в тыщи баксов совсем не означает того, что 5 долларов с девайса в карман это плохо и не нужно, и то, что (грубо) замена компонента за 1000 на компонент за 900 это лишнее. Имхо минимизация затрат - непременный атрибут любой разработки, и не серийной тоже.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 15 2009, 10:32
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SM @ Mar 15 2009, 13:20) *
В софте....

В общем ситуация с софтом для "просто гнать данные" совершенно одного уровня сложности, что для USB, что для ETH. Только для Ethernet при этом еще и нет завязки на конкретного производителя моста и его софт - полная свобода выбора и действий

P.S.
Тем не менее "мост" иметь ввиду - случаи в жизни они разные бывают.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 15 2009, 10:54
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Mar 15 2009, 13:32) *
В общем ситуация с софтом для "просто гнать данные" совершенно одного уровня сложности, что для USB, что для ETH.

Причем я об этом сказал значительно раньше smile.gif smile.gif http://electronix.ru/forum/index.php?showt...st&p=562417

Цитата(zltigo @ Mar 15 2009, 13:32) *
нет завязки на конкретного производителя моста и его софт - полная свобода выбора и действий


Что касается завязки на софт производителя моста - этого на самом деле нет. Производитель дает лишь примеры софта, и никто не заставляет завязываться на них, а не например на софт для УСБ от микрософта (bulkusb), который точно так же, как и ezusb.sys, позволяет тупо гнать данные. Про линукс я уже сказал - там все еще проще - там драйвер контроллера USB сразу предоставляет необходимый доступ к любому девайсу через /proc/bus/usb/.... И никаких лишних драйверов не нужно вообще, открывай и юзай.

Завязка на железо - все равно есть - либо завязка на конкретного производителя внешнего MAC, либо PHY. ТОЧНО также, как либо на производителя моста УСБ, или УСБ-трансивера (если УСБ-контроллер пихать в ПЛИС, что околоодинаково и по ресурсам ПЛИС, и по затратам времени с MAC в ПЛИС).

ЗЫ. Я вот сейчас как раз занимаюсь УСБ high speed в ПЛИС без моста. Так как на мост к сожалению не хватило ни места, ни питания, а трансивер с размером корпуса 3.5х3.5 мм влез. Поэтому и знаю про затраты....
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 15 2009, 11:04
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SM @ Mar 15 2009, 13:36) *
Причем я об этом сказал значительно раньше...

Не вижу, на что конкретно ссылаететесь.... Но о том, что работа с Ethernet, причем с любым ГОЛЫМ MAC контроллером проста как лом, написал в первом-же своем посте. В ответ услышал от некоторых участников:
Цитата
ПО, работающее с МАС уровнем ethernet - задача ой как не тривиальная.

Работать с мостом от CYPRESS слегка правя имеющийся софт от CYPRESS тоже просто - очень рад. Взял на заметку, хотя с вероянностью 99% у это будет делаться на встроенном в какой-нибудь 32битник USB контроллер, нежели прицепленный к его параллельной шине 51 с USB и сторонним софтом на борту.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 15 2009, 11:16
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Mar 15 2009, 14:04) *
Не вижу, на что конкретно ссылаететесь....

На "Сообщение #22", вторая его половина.

Цитата(zltigo @ Mar 15 2009, 14:04) *
хотя с вероянностью 99% у это будет делаться на встроенном в какой-нибудь 32битник USB контроллер, нежели прицепленный к его параллельной шине 51 с USB и сторонним софтом на борту.

Ну разумеется, если уже есть 32-битник, то лучше взять его сразу с УСБ, чем цеплять к нему что-то снаружи. Речь-то все таки о FPGA, а не о 32-битнике, а это совсем другая тема.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Mar 15 2009, 11:36
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(zltigo @ Mar 15 2009, 11:42) *
IP стек? Одругих слышать не приходилось? А в пределах локальной сети используется масса других, и стандарты существуют.


Ну вы нас в натуре за лохов-то не держите disco.gif

Цитата(zltigo @ Mar 15 2009, 11:42) *
Ну тогда я Вас сейчас осчастливлю smile.gif несколькими десятками строчек "для писюка". Вырезал из собственно проектика под Linux.
CODE

char *device = "eth0";

int interface_init(void)
{
struct ifreq ifr;
int fd, flags = 0;
if( ( fd = socket( PF_INET, SOCK_PACKET, htons(ETH_P_802_2) ) ) < 0 )
{
printf( "Cannot open RAW/SAP device socket\n" );
return( -1 );
}

strcpy( ifr.ifr_name, device );

if( ioctl( fd, SIOCGIFFLAGS, &ifr ) < 0 )
{ printf( "Cannot get RAW/SAP interface flags\n" );
return( -1 );
}
ifr.ifr_flags |= IFF_BROADCAST;
if( ( flags = ioctl( fd, SIOCSIFFLAGS, &ifr ) ) < 0 )
{ printf( "Cannot set RAW/SAP interface flags\n" );
return( -3 );
}

if( ioctl( fd, SIOCGIFHWADDR, &ifr ) < 0 )
{ printf( "Cannot get MAC Address\n" );
return( -4 );
}
.....

return( fd );
}

int eth_send( uchar *buff, int len )
{
........
memcpy( eth_outbuff.body, buff, len );
mac_flush();
return( 0 );
}

uchar *readinterface( int fd, int *plen )
{
int cc = 0, from_len, readmore = 1;
struct sockaddr from;
while( readmore )
{ from_len = sizeof(from);
if( ( cc = recvfrom( fd, (uchar *)&eth_inpbuff, PKT_MAX, 0, &from, &from_len ) ) < 0 )
{
if( errno != EWOULDBLOCK )
return( NULL );
}
if( strcmp( device, from.sa_data ) == 0 )
readmore = 0;
}
*plen = cc;
return( (uchar *)&eth_inpbuff );
}

int mac_flush(void)
{
int retvalue = 0;
struct sockaddr to;
errno = 0;
int plen = ntohs( eth_outbuff.mac.len ) + sizeof(MAC_addr)*2 + sizeof(ushort);
int to_len = sizeof(to);

strcpy( to.sa_data, device );

if( (retvalue = sendto( rawsock, (uchar *)&eth_outbuff, plen, 0, (struct sockaddr *)&to, to_len )) < 0 )
{
printf( "RAW Sendto:%s\n", strerror(errno));
}
return( retvalue );
}

Вот и вся премудрость доступа к фрейму. Для Windows придется, запихтвать еще драйвера cтронних производителей, ибо RAW там поддерживаются условно, но написать в результате, придется примерно то-же самое.


Этого недостаточно. А где механизм обеспечения целостности передачи?

Цитата(zltigo @ Mar 15 2009, 11:42) *
Не использование стандарнных, а использование стандарных КЕМ-ТО УЖЕ НАПИСАННЫХ протоколов. Да это упрощает, ибо делать ничего собственно и не надо smile.gif. Поэтому я вполне понимаю и разделяю Вашу радость от того, что повесив CYPRESS и Вам удалось решить Вашу задачу левым мизинцем.


Несомненно. У нас есть один специалист, который все делает сам. Типа у всех руки кривые. Вот я с ним уже шесть лет работаю. Ни одного законченного продукта.
Хотя специалист сильный.



Честно говоря, не вижу смысла дальше спорить. Я не ярый сторонник USB или Ethernet.
Просто, как я уже сказал, у нас в организации было разработано и то, и то.
И все сходятся во мнении, что для подобных задач реализация на USB - лучше. Даже те, кто разрабатывал Ethernet интерфейс.
И я, как пользователь этих каналов. Человек, которому этими интерфейсами приходится пользоваться постоянно.

А на вкус и цвет, товарищей нет
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 15 2009, 12:11
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Михаил_K @ Mar 15 2009, 14:36) *
Этого недостаточно. А где механизм обеспечения целостности передачи?

Это Вы писали:
Цитата
Не говоря уже о том, что для того, чтобы сделать на писюке ПО, работающее с МАС уровнем ethernet - задача ой как не тривиальная.

То, что Вы назвали нетривиальной задачей, то и выложил.
Следующий уровень с возможностью включения квитирования, перепередачи (ксати, а где это все у USB моста? smile.gif ) при этом нумерация принятых переданных и контроль факта пропадания есть само-собой всегда. Вcе это, кстати, за счет реального времени и пропускной способности. Представляет собой вариации на тему IEEE 802.2, писалось лет так 12 назад, работает у меня далеко не только через Ethernet и содержит ровно 378 строчек на C. Вот такая нетривиальная задача.
Цитата(Михаил_K @ Mar 15 2009, 14:36) *
Этого недостаточно. А где механизм обеспечения целостности передачи?

Это Вы писали:
Цитата
Не говоря уже о том, что для того, чтобы сделать на писюке ПО, работающее с МАС уровнем ethernet - задача ой как не тривиальная.

То, что Вы назвали нетривиальной задачей, то и выложил.
Следующий уровень с возможностью включения квитирования, перепередачи (ксати, а где это все у USB моста? smile.gif ) при этом нумерация принятых переданных и контроль факта пропадания есть само-собой всегда. Вcе это, кстати, за счет реального времени и пропускной способности. Представляет собой вариации на тему IEEE 802.2, писалось лет так 12 назад, работает у меня далеко не только через Ethernet и содержит ровно 378 строчек на C. Вот такая нетривиальная smile.gif задача.


Цитата(SM @ Mar 15 2009, 14:16) *
Ну разумеется, если уже есть 32-битник, то лучше взять его сразу с УСБ, чем цеплять к нему что-то снаружи. Речь-то все таки о FPGA, а не о 32-битнике, а это совсем другая тема.

Вы же сами сказали, что MAC уровни, тем более, что брать готовые корки smile.gif в FPGA одинаковы по трудоемкости, софт, для тупой передачи потока, как выяснилось, - тоже одного порядка. Дальше что? На моей стороне равноправные партнеры, а не опрашивемое переферийное устройство, удаление на сотни метров, гальваническая развязка, возможность гигабита. На ваше стороне, "5 баксов" и "5x5 миллиметров", да и то только в случае выбора между мостом USB и контроллером MAC. Есть выбор. Я ничего не упустил?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Mar 15 2009, 12:12
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(zltigo @ Mar 15 2009, 15:03) *
Следующий уровень с возможностью включения квитирования, перепередачи (ксати, а где это все у USB моста? smile.gif


у USB моста это все встроено, и работает. Достаточно лишь выбрать вид передачи BULK smile.gif
А чтобы уместить все это в 378 строчек, нужно быть хорошим программистом.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 15 2009, 14:39
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Mar 15 2009, 15:11) *
Следующий уровень с возможностью включения квитирования, перепередачи (ксати, а где это все у USB моста? smile.gif )

Как где? В спецификации УСБ, главы 8.5...8.7. Любой УСБ девайс, коим является и мост, обязан это обеспечивать.
Цитата(zltigo @ Mar 15 2009, 15:11) *
Вы же сами сказали, что MAC уровни, тем более, что брать готовые корки smile.gif в FPGA одинаковы по трудоемкости, софт, для тупой передачи потока, как выяснилось, - тоже одного порядка. Дальше что? На моей стороне равноправные партнеры, а не опрашивемое переферийное устройство, удаление на сотни метров, гальваническая развязка, возможность гигабита. На ваше стороне, "5 баксов" и "5x5 миллиметров", да и то только в случае выбора между мостом USB и контроллером MAC. Есть выбор. Я ничего не упустил?

Упустили главное. Засовывание и отладка корки, что УСБ, что МАК, одинаковый геморрой недели на две, особенно если впервые, а поднятие передачи с мостом - вопрос получаса. Плюс, если впервые, еще работа по откручиванию всяких там вишбонов, ahb, amba и прочего нахрен не нужного хлама, пока до локальной шины не доберешься. Выигрышь в стоимости разработки при применении моста виден сразу.

Осталось взять все доступные мосты, а именно MACи внешние и УСБ-мосты, и сравнить их по параметрам, как то цена, занимаемое место, жрачка. Ну и сравнить их же с решением вкрячивания корки в ПЛИС с использованием внешнего PHY, предполагая, что она займет для УСБ ~2800 LE / 8 M4K (можно обкастрировать где-то до 2100) и для Eth 10/100 3800 LE / 9 M4K (можно обкастрировать где то до 1500, но потом за счет контроля целостности и ретрансмитов оно разростется обратно думаю до объема как раз USB). Объемы приведены примеро для корок от CAST под FPGA Cyclone-II.

Если свести все в единую таблицу, где учесть время на разработку, учесть стоимость компонентов, учесть площадь платы, переведя все эти составляющие в деньги, то решения с USB-мостами окажутся порядочно впереди Eth-решений с внешними макамию, а решения с УСБ-корками незначительно дешевле, чем с МАК-корками (при условии, что трансформатор можно по ТЗ выкинуть, разница за счет цен на PHY и занимаемой площади ими на плате). По крайней мере так было полтора года назад, когда я эту работу проводил. Из чего напрямую следует, что если применим по ТЗ и тот, и этот интерфейсы, то наиболее быстро реализуемое решение, при этом самое дешовое - будет именно USB мост.

Что касается 5х5 мм - то найдите хотя бы Eth PHY такой smile.gif При том, что USB PHY имеют размер 3.5х3.5 мм smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 15 2009, 15:51
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SM @ Mar 15 2009, 17:39) *
поднятие передачи с мостом - вопрос получаса.

Понял, добавляем очень очень очень быстрый старт. Я правда предпочитаю быстрому старту долгую жизнь smile.gif и возможности развития. Осталось после всего этого выслушать Автора топика.
P.S.
Все, я уезжаю на недельку по делам, наверное будет не до electronix sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Mar 15 2009, 18:06
Сообщение #42


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

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



Цитата(zltigo @ Mar 15 2009, 18:51) *
Понял, добавляем очень очень очень быстрый старт. Я правда предпочитаю быстрому старту долгую жизнь smile.gif и возможности развития. Осталось после всего этого выслушать Автора топика.
P.S.
Все, я уезжаю на недельку по делам, наверное будет не до electronix sad.gif


Мда, манера спора и аргументы zltigo выдают в нем любителя секса. В гамаке и стоя. Действительно Михаил К. прав, я тоже знаю одного такого специалиста. В свое время взял его на проект, который нормальный программист потом поднял за полгода. Меня в итоге чуть не застрелили.


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
Alex11
сообщение Mar 15 2009, 18:19
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Тут уже много чего сказано, но можно добавить, что USB вполне применим при условии, что достаточно потока 40 КБайт/сек. Выше практически не реализуемо. Я не работал с предлагаемым CY кристаллом, но на других (филипс) потоки порядка 30-35 КБайт/сек вполне получались даже при медленном контроллере в управлении. И еще. Для сбора данных не нужно использовать изохронную передачу. По двум причинам. Во-первых, это негарантированная доставка, а во-вторых - скорость меньше, особенно если посмотреть на ошибки микрософта в реализации hub-драйвера в этом режиме. Что касается замираний, то они есть, но небольшие. Проблема вполне решается установкой буфера размером 2-10 КБ для этих скоростей.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 15 2009, 22:03
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Alex11 @ Mar 15 2009, 21:19) *
но можно добавить, что USB вполне применим при условии, что достаточно потока 40 КБайт/сек.
Только не КБайт, а МБайт! А выше действительно сложно и не на каждой машине (физический предел 53-54 МБайт/с)
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Mar 16 2009, 10:34
Сообщение #45


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Фуххх... Вернулся из 2 дневной командировки.

Цитата(zltigo @ Mar 15 2009, 19:51) *
Осталось после всего этого выслушать Автора топика.

После предварительного согласования параметров системы сбора данных с соратниками, выяснилось, что необходима длина кабеля для передачи данных до 30-40 метров с обязательным наличием гальванической (или оптической) развязки, предельный поток данных получается около 15 MByte/s (или 120 MBit/s - так точнее) (к сожалению "сладкое будущее" стало тоскливой реальностью). Поэтому USB отпадает, насколько мне известно он не работает на такое расстояние и не имеет развязки. А жаль, первоначально предполагалось (мною), что удастся ограничиться один метром интерфейсного кабеля.

Естественно с таким потоком Ethernet-100 не справиться, соответственно прийдется использовать Gigabit Ethernet.
Теперь вопросы:
1. С чего лучше начать знакомство с Ethernet ?
2. Что лучше использовать чистый Ethernet или еще реализовывать и TCP/IP (в чем достоинства/недостатки обоих решений) ?
3. Исходя из 2, какие микросхемы/сборки лучше использовать ?

Еще раз повторю особенности этой разработки:
1. Данные необходимо гарантированно доставлять (т.к. у меня - система сбора данных).
2. Необходимо иметь возможность в будущем увеличить поток в 2 (или 2.5) раза, т.е. до 240Mbit/s (или 300Mbit/s - это крайняя цифра, выше неё прыгать не собираемся).
3. Очень важно минимизировать время разработки.
4. Место для аппаратного решения - 1дм2, можно и 1.5дм2 (да, так спроектировал систему - место есть).
5. Желательно чтобы суммарная цена копонентов не превышала десятка киборублей (не килодолларов !).
6. Программа приема данных на компьютере будет работать под Windows XP 32bit (тоже желательно позаботиться о программисте - дабы не сильно пух от проблем с голым Ethernet, или проблем как раз с Windows XP нет ?).

Пока видел 2 предложеных решения:
1. FPGA + ARM9 (как я понял, поддержку TCP/IP в ARM9 прийдётся делать самому, али есть готовое и доступное решение ?).
2. V4 Ethernet MAC (+ MicroBlase with LwIP - для поддержки TCP/IP).
Может еще какие предложения есть ?

Пока, второе предложение кажется более близким т.к. работаю с ISE давно и очень плотно (есть надежда, что и с EDK очень долго разбираться не прийдется), а вот про ARM только приходилось иногда слышать...
Go to the top of the page
 
+Quote Post

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

 


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


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