NSergeevich 0 June 11, 2015 Posted June 11, 2015 · Report post Надобность в симуляции уже отпала. Я правильно применил ODDR2 примитив и у меня правильно дата стала преобразовываться из 8 битной шины в 4-х битную для RGMII. А проверил я это осциллографом. Появилась новая проблема и очень странная. Если я компилирую весь проэкт (синтезис) а дату которая должна идти на PHY биндю (в ucf) на диоды то MAC пропускает все данные которые я ему на вход педалю. !!!А если я дату биндю на ножки PHY (собственно как и нужно) то MAC не пропускает дату которую я ему на вход отдаю. Отдает только преамбулу и Pad с FCS. Что за странная вещь??? Разобрался.... странная вещь под названием подтягивающий резистор =))) Теперь phy не пропускает данные Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 June 11, 2015 Posted June 11, 2015 · Report post Вы зря отказались от короткого тренинга по симуляции. Она очень полезна, и для отладки и для тестов. Все модули обязательно пишу с тестбенчами и отлаживаю в симуляторе. Так проект можно даже без железки сделать. Симулятор надо обязательно освоить, даже если сейчас все получилось без него... Quote Share this post Link to post Share on other sites More sharing options...
NSergeevich 0 June 15, 2015 Posted June 15, 2015 · Report post Вы зря отказались от короткого тренинга по симуляции. Она очень полезна, и для отладки и для тестов. Все модули обязательно пишу с тестбенчами и отлаживаю в симуляторе. Так проект можно даже без железки сделать. Симулятор надо обязательно освоить, даже если сейчас все получилось без него... Симулятору действительно можно доверять? Не получится так, что в симуляторе одно, а на практике другое? Quote Share this post Link to post Share on other sites More sharing options...
NSergeevich 0 June 15, 2015 Posted June 15, 2015 · Report post Нужна помощь в конфигурировании phy через mdio. Как настроить AR8035 AR8035.pdf чтобы данные которые я подаю на tx появились на выходе (можно было бы например осциллографом посмотреть на витой паре ну или на wireshark) На tx я отправляю ethernet frame IEEE Std 802.3-2008 И в данный момент я не конфигурировал ни один регистр, стало быть, раз на выходе нет данных зничит какой-то регистр/ы надо сконфигурировать. Не понимаю какими играться надо. p.s. состояния регистров читаю успешно. Quote Share this post Link to post Share on other sites More sharing options...
NSergeevich 0 June 15, 2015 Posted June 15, 2015 · Report post В данный момент на wareshark-е я вижу Broadcast ARP пакеты, а лампочка постоянно мигает желтым цветом (на ethernet-е плис) Quote Share this post Link to post Share on other sites More sharing options...
iosifk 3 June 15, 2015 Posted June 15, 2015 · Report post Вы зря отказались от короткого тренинга по симуляции. Она очень полезна, и для отладки и для тестов. Все модули обязательно пишу с тестбенчами и отлаживаю в симуляторе. Так проект можно даже без железки сделать. Симулятор надо обязательно освоить, даже если сейчас все получилось без него... А вот и нифига подобного! Можно еще зеркальце протереть или колесо ногой попинать... И уж только потом, если не поможет... Только тогда... Quote Share this post Link to post Share on other sites More sharing options...
NSergeevich 0 June 18, 2015 Posted June 18, 2015 · Report post Появился вопрос для всех кто сталкивался. Я формирую ethernet frame с данными "на шару" и пытаюсь поймать их на wareshark-е. Буквально мой фрейм выглядит следующим образом: Preamble-SFD-DestinationMacAdd-SourceMacAdd-EthernetType[0800]-Data[01....01]-PAD-FCS Ключевой момент в следующем! Ethernet Type я указал 0800 это значит, что я идентифицирую протокол. Какой протокол? ipv4? Значит ли это, что я поле Data теперь должен как-то по особенному заполнять? Сейчас у меня просто 01010101....0101(60byte) Как мой фрейм должен выглядить, чтобы wireshark поймал "любой" фрейм. Мне кажется, что он сейчас мои покеты просто отбрасывает. Или может быть, есть какая-нибудь строчка в linux-е прописав которую wireshark начнет все пропускать?=) Спасибо! Quote Share this post Link to post Share on other sites More sharing options...
lkg47 0 June 19, 2015 Posted June 19, 2015 · Report post извиняюсь, что вмешиваюсь, но правильно ли я понял из этого: Ну и сделайте сразу 2 клока с разностью фаз в 180 градусов. А писать ( ~clk ) нельзя. Операции с высокочастотными клоками допускаются только с применением специальных примитивов. тогда на PLL генерят clk и clk_180( сдвинутый по фазе на 180 град), так даже правильнее чтобы не было задержки от инверсии клока. Это стандартный метод формирования дуал дата рейт. Так делают для памяти и ваще.... т.е. если сигналы подведены с одинаковыми задержками к триггерам c posedge и negedge то между их выходами не будет 180 градусов? на прикрепленном рисунке ALM в chipplanner-е есть знак инверсии, а в handbook cyclone V нет, подскажите где искать информацию? Quote Share this post Link to post Share on other sites More sharing options...
Dimitry 0 June 19, 2015 Posted June 19, 2015 · Report post Всем Привет. Если тема еше актуальна по поводу преобразования данных [7:0] в [3:0] на обеих ребрах клока, у Xilinx есть готовая корка на обеих языках. xapp692.zip Quote Share this post Link to post Share on other sites More sharing options...
xvr 12 June 19, 2015 Posted June 19, 2015 · Report post Ключевой момент в следующем! Ethernet Type я указал 0800 это значит, что я идентифицирую протокол. Какой протокол? ipv4?Ну например Значит ли это, что я поле Data теперь должен как-то по особенному заполнять?Да, если хотите, что бы этот пакет поняли на стандартном приемном конце Сейчас у меня просто 01010101....0101(60byte)OS не поймет Как мой фрейм должен выглядить, чтобы wireshark поймал "любой" фрейм.А вот wireshark поймает, ему все равно что внутри Quote Share this post Link to post Share on other sites More sharing options...
Dimitry 0 June 19, 2015 Posted June 19, 2015 · Report post Появился вопрос для всех кто сталкивался. Я формирую ethernet frame с данными "на шару" и пытаюсь поймать их на wareshark-е. Буквально мой фрейм выглядит следующим образом: Preamble-SFD-DestinationMacAdd-SourceMacAdd-EthernetType[0800]-Data[01....01]-PAD-FCS Ключевой момент в следующем! Ethernet Type я указал 0800 это значит, что я идентифицирую протокол. Какой протокол? ipv4? Значит ли это, что я поле Data теперь должен как-то по особенному заполнять? Сейчас у меня просто 01010101....0101(60byte) Как мой фрейм должен выглядить, чтобы wireshark поймал "любой" фрейм. Мне кажется, что он сейчас мои покеты просто отбрасывает. Или может быть, есть какая-нибудь строчка в linux-е прописав которую wireshark начнет все пропускать?=) Спасибо! Я с этой Проблемой уже 2 недели борюсь. Для этого даже Ethernet генератор использовал. LED мигает, данные уходят, а wireshark ничего не показывает, но в Interface Details пишет что пришло столько пакетов с ошибками. Quote Share this post Link to post Share on other sites More sharing options...
NSergeevich 0 June 19, 2015 Posted June 19, 2015 · Report post Вообще как правильно ethernet frame отправлять, что в нем должно быть обязательно, чтобы он принялся любым устройством? Как в него добавить UDP ? В интернете второй день ищу, ничего полезного не нашел. Quote Share this post Link to post Share on other sites More sharing options...
Jackov 2 June 19, 2015 Posted June 19, 2015 · Report post Вообще как правильно ethernet frame отправлять, что в нем должно быть обязательно, чтобы он принялся любым устройством? Как в него добавить UDP ? В интернете второй день ищу, ничего полезного не нашел. Я отправлял сырой Езернет, без всяких UDP, на скорости 100, wireshark принимал. Надо указать МАС-адрес приёмника, убедится что он передаётся старшими битами (или байтам, уже не помню) вперёд, указать размер передаваемой полезной информации, и собственно сама полезная информация. Всё остальное (МАК-передатчика, преамбулы и т.д.) должны сделать МАС-модуль и микросхема PHY-уровня. Quote Share this post Link to post Share on other sites More sharing options...
NSergeevich 0 June 22, 2015 Posted June 22, 2015 · Report post Я отправлял сырой Езернет, без всяких UDP, на скорости 100, wireshark принимал. Надо указать МАС-адрес приёмника, убедится что он передаётся старшими битами (или байтам, уже не помню) вперёд, указать размер передаваемой полезной информации, и собственно сама полезная информация. Всё остальное (МАК-передатчика, преамбулы и т.д.) должны сделать МАС-модуль и микросхема PHY-уровня. Все так и делаю. MAC адрес приемника также пробовал и по широковещательному запросу (ff:ff:ff:ff:ff:ff). MAC на плис указал (1A:1B:1C:1D:1E:1F) Размер полезной информации, у меня, 64 байта (т.е. чуть больше минимально разрешенной). Размер полезной информации, который указывается в L/T 2byte, там так и прописать 64байта ? (т.е. 0040 ?) Всё остальное преамбулы и т.д. MAC добавляет и это уже поверенно. Quote Share this post Link to post Share on other sites More sharing options...
Dimitry 0 June 22, 2015 Posted June 22, 2015 · Report post Вообще как правильно ethernet frame отправлять, что в нем должно быть обязательно, чтобы он принялся любым устройством? Как в него добавить UDP ? В интернете второй день ищу, ничего полезного не нашел. Добрый день, Sergeevich У меня все заработало. Вот на этом форуме http://electronix.ru/forum/index.php?showt...p;#entry1346543 я все описал как я делал. Если будут вопросы,пишите. Quote Share this post Link to post Share on other sites More sharing options...