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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> вопрос чайника: не получается послать UDP-пакет (использую S3eboard), ткните носом - где ошибка?
:-)
сообщение Jul 4 2008, 21:35
Сообщение #1


Местный
***

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



Хочу послать простой UDP-пакет с помощью кита s3eboard. Сам пакет получил с помощью вот этой проги: http://www.fpga4fun.com/files/EthernetUDP.zip . Далее реализовал простейшый FSM. Исходники прикреплены (pack.vhd - основной файл. pack_test.vhd - тест. И в довесок pack.ucf (обозвал pack.ucf.txt - иначе он не прикреплялся)). Работу FSM проверил (выдавал данные не на phy-микросхему, а на светодиоды на ките).

Вопросы:

1) Где я ошибся? Как заставить это работать?

2) А как вообще грамотно отлаживать такие вещи? Т.е. можно ли после программирования ПЛИС, во время её работы отслеживать состояние внутренних сигналов ПЛИС? Как это сделать для указанного кита?

P.S. Использую WebPack 10.1

Прикрепленный файл  pack.vhd ( 24.77 килобайт ) Кол-во скачиваний: 354
Прикрепленный файл  pack_test.vhd ( 1.81 килобайт ) Кол-во скачиваний: 336
Прикрепленный файл  pack.ucf.txt ( 1.21 килобайт ) Кол-во скачиваний: 290
Go to the top of the page
 
+Quote Post
:-)
сообщение Jul 6 2008, 09:51
Сообщение #2


Местный
***

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



Всем спасибо, разобрался сам. Не в том порядке выставлял биты в байте. Исправленный вариант в приложении.
Прикрепленные файлы
Прикрепленный файл  pack.vhd ( 24.77 килобайт ) Кол-во скачиваний: 215
Прикрепленный файл  pack.ucf.txt ( 922 байт ) Кол-во скачиваний: 250
 
Go to the top of the page
 
+Quote Post
:-)
сообщение Jul 6 2008, 18:31
Сообщение #3


Местный
***

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



В продолжении темы. Простой пример посылки UDP-пакета. Сам я когда искал, ничего подобного не нашёл, так что, может, кому пригодится.

В примере непрерывно генерируется ПСП (код Голда - такой же как у первого спутника GPS). Тактовая частоа 50 МГц. Далее это попадает в буфер и из содержимого буфера формируется UDP-пакет (основная задача посчитать CRC), который и передается.

В приложении проект для ISE Web Pack 10.1. И схема реализованного цифрового устройства.

Получена скорость 50 Мбит, думаю, это не предел.
Прикрепленные файлы
Прикрепленный файл  UDP.zip ( 274.75 килобайт ) Кол-во скачиваний: 341
 
Go to the top of the page
 
+Quote Post
per_aspera_ad_as...
сообщение Jul 8 2008, 07:21
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 26-01-08
Из: Гусь-Хрустальный - Владимир
Пользователь №: 34 452



В UDP возможны потери пакетов, скорости которые приведены это учитывают? А каким методом вы проверяли потери пакетов и какова была конфигурация сети?

Сообщение отредактировал per_aspera_ad_astra - Jul 8 2008, 07:22


--------------------
За беспокойство не беспокойтесь.
Go to the top of the page
 
+Quote Post
:-)
сообщение Jul 10 2008, 06:59
Сообщение #5


Местный
***

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



Цитата(per_aspera_ad_astra @ Jul 8 2008, 11:21) *
В UDP возможны потери пакетов, скорости которые приведены это учитывают? А каким методом вы проверяли потери пакетов и какова была конфигурация сети?


Нет, приведенные скорости не учитывают потери пакетов. Потери пакетов никак не проверял. Конфигурация сети самая примитивная: плата и компьютер соединены напрямую, без хабов/свичей.
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 11 2008, 08:13
Сообщение #6





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



Спасибо, направил на очень полезную инфу для новичка.
Объясни, пожалуйста, что такое:
1. FSM
2. Задачу(подробнее о пакете и тд) для полного понимания взаимодействия программы.
3. Подробнее о принципе работы твоей программы pack.vhd с описанием переменных типа что и для чего какая (для новичка) и для чего ты в программе проверяешь значение COUNT1 до 145.
4. Как ты управляешь микрухой LAN83C185? (как конфигурируешь регистры и проводишь первую её инициализацию).


Заранее благодарен.


А вообще твоя инфа очень полезная для новичков...
Go to the top of the page
 
+Quote Post
:-)
сообщение Aug 11 2008, 09:33
Сообщение #7


Местный
***

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



1. FSM - finite state machine, т.е. конечный автомат. Используется для управления. Подробнее о них можно поискать на форуме или в Яндексе.

2. Задача, поставленная в проекте pack.vhd - передача простого UDP-пакета на компьютер.

3. STATE1 и NEXT_STATE1 - текущее состояние FSM и следующее состояние. COUNT1 и NEXT_COUNT - текущее и следующее состояние счётчика. Он также используется для управления FSM. txd, txen, txd4, mdc, mdio - для взаимодействия с микросхемой phy.

4. Никакой начальной инициализации я не проводил. Без всякой инициализации всё заработало.

Логика работы проста: происходит постоянная посылка UDP-пакета, затем пауза, затем снова посылка и т.д. Посылается UDP-пакет минимальной длины (кажется, 64 байта). Полезная часть пакета представляет собой числа от 0 до 17 (всего 18 байт). Пересылка пакета производится частями по 4 бита.

Для запуска на другой машине с другим MAC - адресом придётся изменять заголовок пакета. Нужно правильно указать MAC-адрес получателя (компа), ip-адрес получателя и изменять контрольные суммы UDP-пакета и Ethernet-пакета. Проще сформировать новый пакет с помощью вот этой проги: http://www.fpga4fun.com/files/EthernetUDP.zip.

Рекомендую ознакомиться вот с этим сайтом: http://www.fpga4fun.com/10BASE-T.html
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 13 2008, 07:00
Сообщение #8





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



Спасибо
В процессе работы появляются все новые вопросы:
-когда ты посылаешь в PHY по 4 бита то она сама далее формирует пакет?
-можно ли обойтись вообще без МАК-адресов?
-формировал пакет с помощью проги - в итоге не могу разобраться с некоторыми байтами

исх. данные
МАК отправителя: 001234567890 (это должна быть фиксированная длина?)
МАК получателя: 0010А47ВЕА80
ИП отправителя: 192.168.0.44
ИП получателя: 192.168.0.4
Порты отправителя и получателя: 1024 и 1024 соответственно
Длина полезных данных в УДП - 18 байт
В итоге выдало следующее:
55555555555555D50010A47BEA8000123456789008004500002EB3FE000080110540C0A8002CC0A8
000404000400001A2DE8000102030405060708090A0B0C0D0E0F1011B331881B

в моем понимании полного пакета:
8байт(преамбула)+6байт(МАК получ)+6байт(отпр)+2байта(???)+20байт(ИП заголовок)+8байт(УДП заголовок)+22байта(????)

Так вот байты с вопросами- я не разобрался
Как используется вывод txd4 и для чего он?


и ещё, здесь все пишуь про генерацию готового блока езернета, так вот может кто-нить подробнее опишет процедуру генерации в коре-генераторе

спасибо.
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 13 2008, 11:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Timonnn @ Aug 13 2008, 11:00) *
Спасибо
В процессе работы появляются все новые вопросы:
-когда ты посылаешь в PHY по 4 бита то она сама далее формирует пакет?


Да
Цитата
-можно ли обойтись вообще без МАК-адресов?
Да, передавай FFFFFFFFFFFF - broadcast адрес
Цитата
-формировал пакет с помощью проги - в итоге не могу разобраться с некоторыми байтами

исх. данные
МАК отправителя: 001234567890 (это должна быть фиксированная длина?)
Да

Цитата
МАК получателя: 0010А47ВЕА80
ИП отправителя: 192.168.0.44
ИП получателя: 192.168.0.4
Порты отправителя и получателя: 1024 и 1024 соответственно
Длина полезных данных в УДП - 18 байт
В итоге выдало следующее:
55555555555555D50010A47BEA8000123456789008004500002EB3FE000080110540C0A8002CC0A8
000404000400001A2DE8000102030405060708090A0B0C0D0E0F1011B331881B

в моем понимании полного пакета:
8байт(преамбула)+6байт(МАК получ)+6байт(отпр)+2байта(???)+20байт(ИП заголовок)+8байт(УДП заголовок)+22байта(????)

2байта(???) - Длинна Ethernet пакета (в сетевом формате - MSB)

22байта(????) - 18 байт данных UDP + 4 байта CRC32 Ethernet пакета
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 13 2008, 11:50
Сообщение #10





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



XVR, Спасибо

Нашел инфу по форматам кадров и все, разобрался.

Остались вопросы:

Цитата
Как используется вывод txd4 и для чего он?


Цитата
и ещё, здесь все пишут про генерацию готового блока езернета, так вот может кто-нить подробнее опишет процедуру генерации в коре-генераторе


П.С. Обязательно ли считать контрольную сумму Ethernet пакета (последние 4 байта)?
Go to the top of the page
 
+Quote Post
:-)
сообщение Aug 14 2008, 06:11
Сообщение #11


Местный
***

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



txd4 - в данном случае никак не использовался.

Контрольную сумму Ethernet-пакета считать обязательно!
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 14 2008, 07:32
Сообщение #12





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



Цитата(:-) @ Aug 14 2008, 09:11) *
txd4 - в данном случае никак не использовался.



Я в принципе понял что не использовался, но хотелось бы разобраться для чего он?
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 22 2008, 05:15
Сообщение #13





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



Получилось передать простые данные по езернет.
Теперь пытаюсь считать CRC на плис самостоятельно.
По сему вопрос к :-):
Во втором примере я заметил, что при вычислении ты пользовался генератором кода http://www.easics.com/webtools/crctool.
Какой полином выбирал? Что делеал после, когда сгенерировал код?
Опиши поподробней как вычислял(все по порядку)
Спасибо

И еще вопрос: как принять пакет от компа? Для этого ты уже настраивал LAN83C185? Или она и так принимает все пакеты, только надо выделять свой ИП-адрес и обрабатывать дальше данные?
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 31 2008, 19:31
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Timonnn @ Aug 22 2008, 09:15) *
Получилось передать простые данные по езернет.
Теперь пытаюсь считать CRC на плис самостоятельно.
По сему вопрос к :-):
Во втором примере я заметил, что при вычислении ты пользовался генератором кода http://www.easics.com/webtools/crctool.
Какой полином выбирал? Что делеал после, когда сгенерировал код?
Опиши поподробней как вычислял(все по порядку)
Спасибо
Модуль CRC из рабочего проекта [attachment=24355:attachment]
Go to the top of the page
 
+Quote Post
litv
сообщение Jan 9 2009, 08:27
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Привет! rolleyes.gif Сделал пример из udp.rar. Все класс , пакеты в Commview на компьютер прилетают. Все мое - ip, мас,checksum.
Вот только данные какието не мои unsure.gif . В примере кодирую :
X"AF", X"F0", X"0A", X"AF", X"F0", X"0A", X"AF", X"F0", X"0A", X"AF", X"F0", X"0A", X"AF", X"F0", X"0A",
X"AF", X"F0", X"0A", X"AF", X"F0", X"0A", X"AF", X"F0", X"0A", X"AF", X"F0", X"0A", X"AF", X"F0", X"0A",
X"BC", X"DE",

А принимаются другие:
Received 962 bytes from 192.168.0.44:1024
44 32 0E 52 79 44 FA B4 45 56 47 A7 ED CD F2 A8 40 3A 91 37 83 D7 33 D8 0B CF A9 8B 71 BD 45 60 80 40 C7 60 71 BF E9 D2 D8 55 89 CB 76 3B BC 36 19 24 1B 4B 78 B8 14 9F 82 AE 7D 7C CC 71 B5 5B 1B B8 00 B3 67 68 2A EB A5 1C E2 51 4B 42 B6 B6 39 EC 87 E5 A2 1F 57 32 49 7F E1 F7 8D CB 0E 54 29 5F 8F 69 D9 FB E8 C7 C0 4A 2D 11 36 07 68 D1 23 8B 32 79 BF 32 9A 6B CD A9 DE 35 10 89 38 72 88 64 1C A4 F2 89 F5 68 8A AC 8F 4F DB 9B E5 50 80 75 22 6F 07 AE 67 B0 17 9F 53 16 E3 7A 8A C1 00 81 8E C0 E3 7F D3 A5 B0 AB 13 96 EC 77 78 6C 32 48 36 96 F1 70 29 3F 05 5C FA F9 98 E3 6A B6 37 70 01 66 CE D0 55 D7 4A 39 C4 A2 96 85 6D 6C 73 D9 0F CB 44 3E AE 64 92 FF C3 EF 1B 96 1C A8 52 BF 1E D3 B3 F7 D1 8F 80 94 5A 22 6C 0E D1 A2 47 16 64 F3 7E 65 34 D7 9B

Они все время повторяются с определенным сдвигом. Чем то закодированы? На сайте fpga4fun сразу правильные. В udp значит кодирование. Что почитать? cranky.gif
Go to the top of the page
 
+Quote Post

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

 


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


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