|
Преобразование данных Ethernet в потоки E1 |
|
|
|
Mar 7 2011, 19:06
|
Группа: Новичок
Сообщений: 3
Регистрация: 7-03-11
Пользователь №: 63 454

|
В процессе выполнения работы возникла серьезная проблема. Мне нужно запрограммировать ПЛИС так, чтобы она преобразовывала данные, пришедшие по каналу Ethernet в однобитный поток E1. Скорость передачи данных по Ethernet больше, чем по E1, поэтому использую следующую схему: компьютер посылает на ПЛИС N-ое количество пакетов, ПЛИС загоняет их в буфер и начинает передавать по каналу E1. Как только буфер освобождается до определенного уровня, ПЛИС посылает компьютеру запрос, мол я освобождаюсь, давай еще данные, и компьютер шлет еще. Важно чтобы буфер при этом не освобождался и не переполнялся, потому что данные в потоке Е1 должны идти непрерывно и последовательно. Так вот, проблема в том что буфер, скотина этакая, несмотря на размер в 100 Кб все же как-то умудряется освобождаться!!! То есть посылка данных на какое-то время прерывается и за это время буфер успевает освободиться. Парюсь с этим говном уже месяц. Люди если есть какие мысли, подскажите пожалуйста, с чем это может быть связано и как с этим бороться? Конфигурация следующая: ПЛИС Xilinx XC4VLX20, скорость Ethernet около 10 Мбайт/с, скорость Е1 2 Мбайта/с, данные передаются по UDP, ОС на компе Windows XP, программа для передачи данных написана на C#, комп имеет на борту Core2Duo E8400 3ГГц, 4 Гига DDR2-800 и жесткий диск гигов на 200. Буфер представляет собой FIFO, сгенерированное при помощи Xilinx Core Generator.
|
|
|
|
|
 |
Ответов
|
Mar 7 2011, 19:32
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
Цитата скорость Е1 2 Мбайта/с Странный у Вас Е1. Раз в 8 быстрее, чем у всех остальных...  Цитата программа для передачи данных написана на C# Как-то была история - притаскиваю (на другой конец области) программистам железку, подключаемую к компу через Езернет и тестовую программу, написанную на C Builder. Включаем, запускаем прогу - всё работает. Уезжаю. Через 2 недели звонок - приезжай, не работает твоя железка. Приезжаю (на другой конец области), показывают мне свою красивую программу, написанную на C#, запускают - не работает. Достаю ноут, подключаю, запускаю свою тестовую программу - работает. В общем, ихняя красивая программа на C# работала таааааааааак медленно, что поток информации просто не успевала принимать.
|
|
|
|
|
Mar 7 2011, 20:18
|
Группа: Новичок
Сообщений: 3
Регистрация: 7-03-11
Пользователь №: 63 454

|
Цитата(Koluchiy @ Mar 7 2011, 22:32)  Странный у Вас Е1. Раз в 8 быстрее, чем у всех остальных...  На ПЛИС 8 потоков E1 мультиплексируется в один, отсюда и скорость 2 Мбайта/с Цитата(Alexium @ Mar 7 2011, 22:46)  Зная потенциальную медлительность C#, спрашиваю: изучали латентность вашей программы? Т.е. время между получением (а еще лучше - посылкой )запроса и ответом на запрос. Насколько я понимаю, время от времени возникают задержки по 10-15 мс, они в принципе не велики, но регулярны, так что если такая задержка произойдет в то время, когда буфер опустошается и ПЛИС требует еще данных, может произойти полное опустошение буфера. А windows может быть виноватым в этом безобразии?
|
|
|
|
Сообщений в этой теме
Wad1988 Преобразование данных Ethernet в потоки E1 Mar 7 2011, 19:06 VladimirB Цитата(Koluchiy @ Mar 7 2011, 22:32) ...
... Mar 7 2011, 19:46 Alexium Цитата(Koluchiy @ Mar 7 2011, 21:32) Стра... Mar 7 2011, 19:46 SFx А демультиплексор вы тоже делаете? почему бы не пе... Mar 7 2011, 20:36 Koluchiy ЦитатаНормальный, как у всех, если память не измен... Mar 7 2011, 21:16 vadimuzzz Цитата(Wad1988 @ Mar 8 2011, 01:06) Важно... Mar 8 2011, 05:00 Koluchiy Цитатавам никто не сможет гарантировать, что буфер... Mar 8 2011, 10:04 Andr2I Цитата(Koluchiy @ Mar 8 2011, 13:04) Это ... Mar 8 2011, 12:02 vadimuzzz Цитата(Koluchiy @ Mar 8 2011, 16:04) Ну п... Mar 8 2011, 12:15 Koluchiy ЦитатаА чему противоречит поток нулей по E1 (особе... Mar 8 2011, 13:00 vadimuzzz Цитата(Koluchiy @ Mar 8 2011, 19:00) Ну б... Mar 8 2011, 13:13 Victor® Цитата(Koluchiy @ Mar 8 2011, 17:00) Ну б... Mar 9 2011, 21:14 Koluchiy В данном случае (насколько я понимаю) разговор иде... Mar 8 2011, 13:23 vadimuzzz Цитата(Koluchiy @ Mar 8 2011, 19:23) В да... Mar 8 2011, 13:37 des00 не могу понять чем GFP не устраивает Mar 8 2011, 13:24 AndruB Я бы отлаживал примерно в такой последовательности... Mar 9 2011, 19:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|