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

 
 
> 100Base-TX. Почему-то нет связи, контроллер Am79C874
Гвоздик
сообщение Feb 4 2008, 16:35
Сообщение #1


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Здравствуйте. Пытаюсь запустить езернет на контроллере от АМД Am79C874. Включил по витой паре в хаб, программно ничего не записывал в микросхему, аппаратно автонегоциация была отключена, МАК-адрес[4:0] = 00000. Левый светодиод моргает (TX_CLK), а правый (link) - нет, т.е. с контроллера идет сигнал, что нет связи. На выходе RX_CLK = '1'.
Включил аппаратно автонегоциацию. После этого на выходе RX_CLK пошли импульсы с частотой 25 МГц пачками по приходу широковещательных пакетов из хаба. Однако на выходе RX_DV = '0' и RXD[3:0] = 0000, т.е. не выдает контроллер данных. Связи по-прежнему нет, т.е. LEDLNKn = '1'.
Как я понимаю связь (LEDLNK) все равно должна появляться, даже если я ничего программно в контроллер не загружаю? Аппаратно все настройки стоят как нужно.
Буду рад совету.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
iosifk
сообщение Feb 5 2008, 07:12
Сообщение #2


Гуру
******

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



Цитата(Гвоздик @ Feb 4 2008, 19:35) *
Здравствуйте. Пытаюсь запустить езернет на контроллере от АМД Am79C874. Буду рад совету.

У меня на сайте есть статья про конструирование о отладку контроллера Ethernet на KS8842. Посмотрите, методика примерно та же самая.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 5 2008, 07:46
Сообщение #3


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Спасибо, почитаю. Хотелось бы добавить, что контроллер находится в режиме ожидания (idle). Пробовал изменить аппаратно физический адрес на 00001 - не помогло.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 5 2008, 09:35
Сообщение #4


Гуру
******

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



Цитата(Гвоздик @ Feb 5 2008, 10:46) *
Спасибо, почитаю. Хотелось бы добавить, что контроллер находится в режиме ожидания (idle). Пробовал изменить аппаратно физический адрес на 00001 - не помогло.

Если не секрет, почему такой старый трансивер берете?
Ведь есть же и более новые, с большими функциями...

А в режиме ожидания трансивер обязан выдавать в линию импульсы. По ним как раз и определяется ЛИНК...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 5 2008, 12:40
Сообщение #5


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Верно Вы говорите, однако, при приеме сетевого ширковещательного пакета контроллер по-прежнему находится в состоянии паузы (idle), как будто ничего и не принял. Может контроллер не может распознать уровни сигналов из пакета? На входы контроллера поступают сигналы с выводов RX+ и RX- размахом 700..800 мВ по переменной составляющей относительно 3.3 В постоянного смещения. В чем может быть дело?

А почему такой "древний" контроллер выбрали сам не знаю, потому что выбирали еще до меня
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 5 2008, 12:52
Сообщение #6


Гуру
******

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



Цитата(Гвоздик @ Feb 5 2008, 15:40) *
Верно Вы говорите, однако, при приеме сетевого ширковещательного пакета контроллер по-прежнему находится в состоянии паузы (idle), как будто ничего и не принял. Может контроллер не может распознать уровни сигналов из пакета? На входы контроллера поступают сигналы с выводов RX+ и RX- размахом 700..800 мВ по переменной составляющей относительно 3.3 В постоянного смещения. В чем может быть дело?

А почему такой "древний" контроллер выбрали сам не знаю, потому что выбирали еще до меня

Если можно выбрать более новый, то я готов помочь.
А у Вас вот что надо сделать.
Проверить питание, 25Мгц, смещения.
Потом в управляющий регистр выдать команду на заглушку по цифре. Научиться передавать-принимать.
Потом сделать заглушку по аналогу.
Потом спаять Rx-Tx из проводов и вставить в разъем. Научиться передавать-принимать. В этом случае данные могут быть любые, важна только структура Ethernet пакета, даже можно без CRC. Только преамбула и данные.
Когда это пойдет, только тогда переходите к хабу...
Кстати, МАС на чем сделан?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 6 2008, 08:15
Сообщение #7


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Если можно выбрать более новый, то я готов помочь.
А у Вас вот что надо сделать.
Проверить питание, 25Мгц, смещения.
Потом в управляющий регистр выдать команду на заглушку по цифре. Научиться передавать-принимать.
Потом сделать заглушку по аналогу.
Потом спаять Rx-Tx из проводов и вставить в разъем. Научиться передавать-принимать. В этом случае данные могут быть любые, важна только структура Ethernet пакета, даже можно без CRC. Только преамбула и данные.
Когда это пойдет, только тогда переходите к хабу...
Кстати, МАС на чем сделан?

1.Контроллер вполне устраивает (старый конь борозды не портит). Спасибо.
2. Питание, земли, тактовая частота - все в порядке.
3. Вот здесь-то и возникают вопросы:
3.1. Чтобы контроллер начал выдавать импульсы FLP Burst на выводах TX+ и TX- обязательно его программировать на цифровую петлю? Сейчас для просто взял и соединил между собой выводы на микросхеме контроллера TX+ -> RX+ и TX- -> RX- соотвественно. Связи по-прежнему нет, импульсов FLP Burst тоже (раз в секунду идет какой-то импульс на 250 мс и все). Однако, до соединения передающих выводов с приемными (TX+ -> RX+ и TX- -> RX- соотвественно) импульсы FLP Burst на выходах TX+ и TX- присутствовали (период между пачками 10 мс)!
3.2. Возможно что у меня в разъеме сетевом что-то не так, потому что без закоротки сигналов импульсы FLP Burst на витую пару не выходили, т.е. они присутствовали только на выходах контроллера.
3.3. Можно ли не программируя контроллер поднять связь (link = active) без передачи данных хотя бы?
4. МАК на АРМе
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 6 2008, 08:35
Сообщение #8


Гуру
******

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



Цитата(Гвоздик @ Feb 6 2008, 11:15) *
3. Вот здесь-то и возникают вопросы:
3.1. Чтобы контроллер начал выдавать импульсы FLP Burst на выводах TX+ и TX- обязательно его программировать на цифровую петлю? Сейчас для просто взял и соединил между собой выводы на микросхеме контроллера TX+ -> RX+ и TX- -> RX- соотвественно. Связи по-прежнему нет, импульсов FLP Burst тоже (раз в секунду идет какой-то импульс на 250 мс и все). Однако, до соединения передающих выводов с приемными (TX+ -> RX+ и TX- -> RX- соотвественно) импульсы FLP Burst на выходах TX+ и TX- присутствовали (период между пачками 10 мс)!
3.2. Возможно что у меня в разъеме сетевом что-то не так, потому что без закоротки сигналов импульсы FLP Burst на витую пару не выходили, т.е. они присутствовали только на выходах контроллера.
3.3. Можно ли не программируя контроллер поднять связь (link = active) без передачи данных хотя бы?


3.1 нет.
Похоже, что у Вас средняя точка трансформатора не заведена на питание. Поэтому без нагрузки импульсы есть, а когда подключаетес вых-вх то на 50 ом нагрузки каскад не работает...
Ищите ошибки в разводе и в монтаже транса.
Как только FLP будут на линии, абонент сразу покажет ЛИНК...
Удачи.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 6 2008, 11:24
Сообщение #9


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



3.1. Я чуток ввел Вас в заблужение: при закоротке сигналов прямо на контроллере (TX+ -> RX+ и TX- -> RX-) импульсы FLP Burst присутствуют, однако, связи нет.
При подключении трансформатора в разъеме сетевом на выходах TX+ и TX- нулевой сигнал, т.е. как будто трансформатор коротит импульсы FLP Burst. Закоротки сигналов (TX+ -> RX+ и TX- -> RX-) пока что нет (заглушку на витой паре выдернул из разъема).
Далее воткнул заглушку на витой паре (TX+ -> RX+ и TX- -> RX-), импульсы FLP Burst поменялись: стали гораздо чаще и без перерывов, размах сигнала тотже (2 В). Связи по-прежнему нет.
В чем может быть дело?
Может режим повторителя нужно включить (пока что аппаратный вход RPTR сидит на земле, т.е. неактивен)?
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 7 2008, 15:40
Сообщение #10


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Глюк нашелся: включили подтягивающие резисторы между выходами RX+, RX-, TX+, TX- разъемчика RJ45 и контроллером физического уровня эзернета из типовой схемы включения от другого контроллера (были соединены средние точки трансформаторов RX+ и TX+). После перепайки связь появилась (светодиод LINK загорелся), скорость опознается хорошо (LEDLNK показывает что 100 Мбит/с), однако, приема данных из сети нет. После несколькосекундного горения светодиод связи гаснет на секунду и потом вновь горит. Включил в сетевую карту у шефа кабелем компьютер-компьютер - у него светодиод горит постоянно! Поставил себе в компьютер такую же сетевую карту - результат нулевой (светодиод горит, гаснет, вновь горит). Просто чудеса какие-то. Копаю дальше...
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 8 2008, 07:56
Сообщение #11


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Связь появилась окончательно (был оторван вывод JTAGa у процессора, подсоединенного к сетевому контроллеру). Включил контроллер к хабу, светодиод связи горит постоянно, вроде бы все хорошо.
Теперь смотрю входящие данные. Ни сигналов достоверности данных (RX_DV), ни вывод светодиода приема данных по сети (LEDRX) - ничего нет. Т.е. данные типа не приходят на контроллер. Смотрю сниффером сети с компа, что происходит на хабе - широковещательные пакеты гуляют вовсю. Почему контроллер их не принимает?
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 21 2008, 12:32
Сообщение #12


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Решил не изобретать велосипед: скачал тестовую программу отсюда (ftp://efo.ru/pub/atmel/_ARM_MCUs_32bit/ARM_Disk/ARM_Disk_July_2006/package_patch_driver/at91sam7x256_iar/)
Программа для АРМ7, поменял адреса регистров некорых под мой АРМ9 - сеть задышала! Пока не до конца как надо, копаю дальше...
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Mar 3 2008, 07:26
Сообщение #13


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

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Все, схема заработала! Поменял в примере адреса регистров, работающих с сетью (EMAC). Компилировался gcc'шником, поэтому пришлось писать заголовочные файлы из сишных, выкинул пару глупых проверок в исходниках. Кстати, функция memcpy() копировала одну структуру в другую неверно! Выравнивание подводит, вставляются лишние байты в копируемую область памяти. Решил в лоб: скопировал все поля одной структуры в другую без memcpy(). Для АРМ7 все ножки ввода/вывода были настроены на периферийную функцию А, поменял для АРМ9 на фунцию В. В остальном все работало и так.
Вроде бы все, наконец-то.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 10:27
Рейтинг@Mail.ru


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