|
Как заставить PHY Ethernet отправлять и получать пакеты |
|
|
|
Sep 24 2010, 11:45
|

Частый гость
 
Группа: Участник
Сообщений: 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'ом.
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 14)
|
Sep 24 2010, 13:05
|
Гуру
     
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
Sep 24 2010, 13:22
|

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

|
Цитата(vadimuzzz @ Sep 24 2010, 17:05)  а как реализован обмен с памятью? через DMA? тогда отсюда и начать, посмотреть сигналтапом, как транзакции на передачу идут. и так последовательно до выхода MII. приемный конец - в обратном порядке. ну, и MDIO зря не сделали, его первым делом надо смотреть, что линк есть. а то можно долго "отлаживать" сломанный кабель. Реализован без DMA - простое считывание регистров IOWR_ IORD_ to iosifk Спасибо за подробное описание порядка. ВОпрос - как аналогувую и цифровую петли реализовать правильно?
|
|
|
|
|
Sep 27 2010, 13:54
|

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

|
Цитата(vitan @ Sep 27 2010, 10:33)  +1. По умолчанию, как правило, все выключено. Придется делать MIIM. Спасибо. Буду сначала программировать MDIO, потом уже тестировать
|
|
|
|
|
Sep 27 2010, 15:41
|
Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
|
Sep 27 2010, 19:17
|

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

|
Цитата(x736C @ Sep 27 2010, 19:41)  Для простой работы можно вполне обойтись без конфигурирования регистров. Есть небольшие нюансы, но об этом можно почитать в документации. В смысле, для простой? А зачем тогда конфигурировать, если можно обойтись и без?
|
|
|
|
|
Sep 27 2010, 19:29
|
Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|