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

 
 
> Как заставить PHY Ethernet отправлять и получать пакеты
Shevnnov
сообщение Sep 24 2010, 11:45
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498



Всем доброго дня!
Продолжаю разрабатывать свой MAC блок. Столкнулся с очерендой проблемой - сейчас пытаюсь отладить свой компонент на плате Nios Embedded Evaluation Kit на Cyclone III. Встраиваю компонент в стандартный пример системы идущей вместе с платой. Драйверы, RTL проверены симуляцией (только увы не на этом Kit'e а на другом от Cyclone II - т.к. от платы никак не хочет симулироваться jtag_uart (( ) Порты моего компонента рукам прописываю в топовом файле quartus-проекта. Пины использую те, что были забиты ранее для tse (HC_RX_D, HC_RX_CLK и т.д.). RESET_N assign'ом присваиваю 1. Компилирую всё это. Всё более-менее, прошивка создается. Заливаю её в ПЛИС'ку запускаю программу - ничего не происходит. Регистры компонента вроде считываются - но попытка передать и принять набор данных (не ethernet-кадр а просто набор бит длиной 64 байта) не приводят ни к чему.
По структуре сейчас реализована RX часть, слушающая RX-порты MII интерфейса, и TX часть, отправляющая данные по TX интерфейсу (и то урезанно, реализованы порты RX_CLK, RXD, RX_DV, TX_CLK, TXD, TX_EN). MDC и MDIO поддержки нет.
Вопрос где искать подвох? Он может быть везде, но хотелось бы узнать примерные советы для проверки от людей, которые сталкивались с MAC'ом.
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 14)
vitan
сообщение Sep 24 2010, 12:18
Сообщение #2


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Может, как раз дело в отстутствии MDC-MDIO?
Я ни разу не работал с nios и отладочными платами, но там, очевидно, стоит какой-то внешний PHY, который, наверное, просто требует предварительной настройки...
Go to the top of the page
 
+Quote Post
SFx
сообщение Sep 24 2010, 12:29
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



а Reset на PHY выставляете как? какое состояние ног (TXD, RXD) когда активный ресет на PHY?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2010, 13:05
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Shevnnov @ Sep 24 2010, 15:45) *
Вопрос где искать подвох? Он может быть везде, но хотелось бы узнать примерные советы для проверки от людей, которые сталкивались с MAC'ом.


1. реализовать служебный интерфейс.
2. Произвести настройку регистров трансивера
3. Поставить режим "цифровой" заглушки.
4. Научиться передавать и принимать через нее данные.
5. Поставить режим аналоговой петли.
6. Повторить п.4.
7. вставить в разъем RJ45 провода "сам-на-себя". Проверить линк.
8. Повторить п.4.
9. Доделать МАС, чтобы он понимал адреса и CRC.
10. Сделать сеть "Компьютер-компьютер", без посторонних... и Повторить п.4.
11. Пинг.

Пока хватит...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 24 2010, 13:05
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



а как реализован обмен с памятью? через DMA? тогда отсюда и начать, посмотреть сигналтапом, как транзакции на передачу идут. и так последовательно до выхода MII. приемный конец - в обратном порядке. ну, и MDIO зря не сделали, его первым делом надо смотреть, что линк есть. а то можно долго "отлаживать" сломанный кабель.
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Sep 24 2010, 13:22
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498



Цитата(vadimuzzz @ Sep 24 2010, 17:05) *
а как реализован обмен с памятью? через DMA? тогда отсюда и начать, посмотреть сигналтапом, как транзакции на передачу идут. и так последовательно до выхода MII. приемный конец - в обратном порядке. ну, и MDIO зря не сделали, его первым делом надо смотреть, что линк есть. а то можно долго "отлаживать" сломанный кабель.


Реализован без DMA - простое считывание регистров IOWR_ IORD_

to iosifk Спасибо за подробное описание порядка. ВОпрос - как аналогувую и цифровую петли реализовать правильно?

Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 24 2010, 13:48
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Shevnnov @ Sep 24 2010, 17:22) *
to iosifk Спасибо за подробное описание порядка. ВОпрос - как аналогувую и цифровую петли реализовать правильно?

посмотрите у меня на сайте есть статьи об этом Ethernete....
Петли - путем записи бита управления в регистры по MDC и MDIO....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Sep 25 2010, 07:17
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498



Хорошо. Спасибо за статьи, обязательно их прочитаю. Попробую начать с проверки работы только MAC'a замыкания выхода ethernet на вход. Надеюсь хоть генераторы TX_CLK и RX_CLK будут подаваться без конфигурации PHY чипа
Go to the top of the page
 
+Quote Post
BSV
сообщение Sep 26 2010, 18:51
Сообщение #9


Знающий
****

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



Петлю можно сделать, если обжать RJ45 коннектор, соединив 1-й вывод с 3-м, а 2-й - с 6-м. Будет ли при этом работать Ваш PHY зависит от значений регистров после подачи питания (см. документацию на чип в каком режиме он будет).


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 27 2010, 05:45
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Shevnnov @ Sep 25 2010, 11:17) *
Хорошо. Спасибо за статьи, обязательно их прочитаю. Попробую начать с проверки работы только MAC'a замыкания выхода ethernet на вход. Надеюсь хоть генераторы TX_CLK и RX_CLK будут подаваться без конфигурации PHY чипа


Зря потратите время!
Без правильной конфигурации не получится...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
vitan
сообщение Sep 27 2010, 06:33
Сообщение #11


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(iosifk @ Sep 27 2010, 09:45) *
Зря потратите время!
Без правильной конфигурации не получится...

+1. По умолчанию, как правило, все выключено. Придется делать MIIM.
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Sep 27 2010, 13:54
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498



Цитата(vitan @ Sep 27 2010, 10:33) *
+1. По умолчанию, как правило, все выключено. Придется делать MIIM.


Спасибо. Буду сначала программировать MDIO, потом уже тестировать
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 27 2010, 15:41
Сообщение #13


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

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(iosifk @ Sep 27 2010, 09:45) *
Зря потратите время!
Без правильной конфигурации не получится...

Цитата(vitan @ Sep 27 2010, 10:33) *
+1. По умолчанию, как правило, все выключено. Придется делать MIIM.


Если речь о работе rx_clk и tx_clk по умолчанию, то DP83848 по включению ведет себя как раз так.
Для простой работы можно вполне обойтись без конфигурирования регистров. Есть небольшие нюансы, но об этом можно почитать в документации.

P.S. С особенностями PHY на плате Nios Embedded Evaluation Kit не знаком.

Сообщение отредактировал x736C - Sep 27 2010, 15:46
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Sep 27 2010, 19:17
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498



Цитата(x736C @ Sep 27 2010, 19:41) *
Для простой работы можно вполне обойтись без конфигурирования регистров. Есть небольшие нюансы, но об этом можно почитать в документации.


В смысле, для простой? А зачем тогда конфигурировать, если можно обойтись и без?
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 27 2010, 19:29
Сообщение #15


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

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(Shevnnov @ Sep 27 2010, 23:17) *
В смысле, для простой? А зачем тогда конфигурировать, если можно обойтись и без?

Для простой работы, это с использованием autonegotiation mode, без использования петель, с настройками по умолчанию, отвечающими за светодиоды, без использования power down режима и прочее-прочее. Все нюансы в документации. Более того, выбор интерфейса MII/RMII/SNI можно тоже осуществлять без доступа к регистрам.
Первый раз воспользовался регистрами, когда потребовалось отключить autonegotiation mode и выставить нужный мне режим (10HD).

Цитата
ну, и MDIO зря не сделали, его первым делом надо смотреть, что линк есть. а то можно долго "отлаживать" сломанный кабель.

В моем случае поставил три светодиода в соответствии с документацией на м/с. act, link, spd контролировал визуально. В моем случае этого было более чем достаточно.

Единственное, что забыл добавить. Если вам потребуется использовать прерывание от DP83848, без доступа к соотв. регистру не обойтись.

Сообщение отредактировал x736C - Sep 27 2010, 19:38
Go to the top of the page
 
+Quote Post

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

 


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


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