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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Atheros AR8035, Не удается сконфигурировать
NSergeevich
сообщение Apr 9 2015, 15:14
Сообщение #1


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Всем привет. У кого получится подсказать мне буду очень рад и благодарен.
Я пробую сконфигурировать Atheros AR8035 ethernet PHY.
Отправляю на его вход MDIO след. последовательность (из доки)
1...1(32единицы)01(ST)10(OP)00100(PHYAdd)00010(RegAdd - PHY Identifier)z
После этого он должен мне ответить вот это: 16’h004D
Но он не отвечает. Что не так? Что забыл?
Go to the top of the page
 
+Quote Post
tvcam
сообщение Apr 9 2015, 15:42
Сообщение #2


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

Группа: Свой
Сообщений: 75
Регистрация: 10-12-04
Из: spb
Пользователь №: 1 435



Нужно быть точно уверенным что правильно выбран PHYAdd, к примеру нужно проверить LED_ACT (это средняя единица в вашем коде PHYAdd), при включении там на ножке должна быть 1. Чтобы это понять нужно увидеть схему, что к этой ножке подключено? А проще перебрать программно три младших бита PHYAdd и на какой то код она должна ответить. Скорее всего в середине PHYAdd 0.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 9 2015, 15:55
Сообщение #3


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(tvcam @ Apr 9 2015, 18:42) *
Нужно быть точно уверенным что правильно выбран PHYAdd, к примеру нужно проверить LED_ACT (это средняя единица в вашем коде PHYAdd), при включении там на ножке должна быть 1. Чтобы это понять нужно увидеть схему, что к этой ножке подключено? А проще перебрать программно три младших бита PHYAdd и на какой то код она должна ответить. Скорее всего в середине PHYAdd 0.

Прикол в том... только не смеяться))) я уже перебрал все возможные PHYAdd 5bit - 32 штуки))) Кстати, забыл сказать, что я смотрю через ChipScope то, что отправляю и то, что получаю.
Go to the top of the page
 
+Quote Post
tvcam
сообщение Apr 9 2015, 16:14
Сообщение #4


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

Группа: Свой
Сообщений: 75
Регистрация: 10-12-04
Из: spb
Пользователь №: 1 435



Я недавно цеплял тоже PHY, как раз в адресе ошибся, как исправил так сразу ответила. Использовал код отсюда:
http://micropendousx.googlecode.com/svn/tr...ebserver/mdio.c
И что PHY отвечает? 1 или 0. Проверить что вы правильно принимаете от PHY (нужно правильно и во время переключиться на вход), для этого притянуть резистором сначала на 1 (он там должен быть Management data, 1.5K pull-up) т.е. в ответе 16’hFFFF (это если PHI не отвечает) , а затем его отключить и к 0 подтянуть, тогда у вас в ответе будет 16’h0000, опять же если PHI не отвечает . Моя PHY переключалась о начинала отвечать через 40нс.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 10 2015, 08:19
Сообщение #5


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(tvcam @ Apr 9 2015, 19:14) *
Я недавно цеплял тоже PHY, как раз в адресе ошибся, как исправил так сразу ответила. Использовал код отсюда:
http://micropendousx.googlecode.com/svn/tr...ebserver/mdio.c
И что PHY отвечает? 1 или 0. Проверить что вы правильно принимаете от PHY (нужно правильно и во время переключиться на вход), для этого притянуть резистором сначала на 1 (он там должен быть Management data, 1.5K pull-up) т.е. в ответе 16’hFFFF (это если PHI не отвечает) , а затем его отключить и к 0 подтянуть, тогда у вас в ответе будет 16’h0000, опять же если PHI не отвечает . Моя PHY переключалась о начинала отвечать через 40нс.


Ответ от PHY я пытаюсь поймать при помощи VIO (это модуль в xilinx-е который работает с ChipScope). На PHY на вход MDC подаю клок 2.5 mhz, а на MIDIO (он кстати двунаправленный I/O) подаю 1...1 01 10 00001 00010 z. На ChipScope вижу только то, что отправляю, потом период с z-состоянием (во время которого должен прийти ответ от PHY). Так как MIDIO двунаправленный, я полагаю, что после получения моих нулей и единиц он должен по той же линии сам ответить. Там еще есть выход INT (interrupt) c которым я ничего не делаю. Может быть нужно сам чип как-то запустить? Может быть он в состоянии сброса?
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение Apr 10 2015, 08:53
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647



Цитата(NSergeevich @ Apr 10 2015, 11:19) *
Ответ от PHY я пытаюсь поймать при помощи VIO (это модуль в xilinx-е который работает с ChipScope). На PHY на вход MDC подаю клок 2.5 mhz, а на MIDIO (он кстати двунаправленный I/O) подаю 1...1 01 10 00001 00010 z. На ChipScope вижу только то, что отправляю, потом период с z-состоянием (во время которого должен прийти ответ от PHY). Так как MIDIO двунаправленный, я полагаю, что после получения моих нулей и единиц он должен по той же линии сам ответить. Там еще есть выход INT (interrupt) c которым я ничего не делаю. Может быть нужно сам чип как-то запустить? Может быть он в состоянии сброса?


Из datasheet:

RSTn Pin 1 I(Input) System reset, active low. Requires an external pull-up resistor

Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 10 2015, 11:02
Сообщение #7


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(Andrew Su @ Apr 10 2015, 11:53) *
Из datasheet:

RSTn Pin 1 I(Input) System reset, active low. Requires an external pull-up resistor


Т.е. я должен на RSTn подать единицу ?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2015, 13:26
Сообщение #8


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(NSergeevich @ Apr 10 2015, 14:02) *
Т.е. я должен на RSTn подать единицу ?

А у Вас как цепочка сброса выполнена?
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 10 2015, 13:45
Сообщение #9


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(_Anatoliy @ Apr 10 2015, 16:26) *
А у Вас как цепочка сброса выполнена?


Не знаю. На самом фи есть RSTn в доке написано только это: System reset, active low. Requires an external pull-up resistor. Pin1 и Тип инпут.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2015, 14:13
Сообщение #10


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(NSergeevich @ Apr 10 2015, 16:45) *
Не знаю. На самом фи есть RSTn в доке написано только это: System reset, active low. Requires an external pull-up resistor. Pin1 и Тип инпут.

Я в шоке.Ну организуйте хотя бы RC цепочку для сброса,или с порта FPGA(CPU) сформируйте нужный импульс.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 10 2015, 14:42
Сообщение #11


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(_Anatoliy @ Apr 10 2015, 17:13) *
Я в шоке.Ну организуйте хотя бы RC цепочку для сброса,или с порта FPGA(CPU) сформируйте нужный импульс.


RSTn соединен с ножкой на плисине, а та в свою очередь через R217 1K 1/10w на зеилю. На самой плисине я формирую импульс который в случае срабатывания rst выдает 0, а в случае clk выдает 1-цы
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2015, 14:49
Сообщение #12


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(NSergeevich @ Apr 10 2015, 17:42) *
RSTn соединен с ножкой на плисине, а та в свою очередь через R217 1K 1/10w на зеилю. На самой плисине я формирую импульс который в случае срабатывания rst выдает 0, а в случае clk выдает 1-цы

Ну а чего же тогда говорили "не знаю"?
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 10 2015, 15:13
Сообщение #13


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

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(_Anatoliy @ Apr 10 2015, 17:49) *
Ну а чего же тогда говорили "не знаю"?


Я не знаю как с RSTn положено работать. И как через него завести chip. Может быть из-за того что я на него с клоком подаю 1-цы он из-за этого все время сбрасывается и у меня PHY не отвечает. На MDC я подаю 2.5 Mhz может быть это слишком быстро? И он не принимает и поэтому не отвечает?
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение Apr 10 2015, 17:20
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647



Цитата(NSergeevich @ Apr 10 2015, 18:13) *
Я не знаю как с RSTn положено работать. И как через него завести chip. Может быть из-за того что я на него с клоком подаю 1-цы он из-за этого все время сбрасывается и у меня PHY не отвечает. На MDC я подаю 2.5 Mhz может быть это слишком быстро? И он не принимает и поэтому не отвечает?

RESET - активный низкий уровень, т.е. при RESET=0 микросхема сбрасывается. Удерживать RESET=0 надо после включения питания, согласно datasheet (стр.26) ..

For a reliable power on reset, suggest to keep asserting the reset low long enough (10ms) to ensure the clock is stable and clock-to-reset 1ms requirement is satisfied.

Если вывод подтянут, как вы пишете, к 0, то на микросхему будет воздействовать RESET=0 до тех пор, пока плис на него не выдаст 1. Для того, чтобы RESET сработал, надо, чтобы во время
RESET=0 минимум на протяжении 1 миллисекунды присутствовал стабильный CLK. Под сигналом CLK понимается поступающие на вход XTLI 25МГц от внешнего генератора или частота, вырабатываемая внутренним генератором, если к XTLI XTLО подключен кварц.

После загрузки конфигурации плис подержите RESET=0 несколько миллисекунд, а потом переведите его в 1.

Вроде так.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 10 2015, 19:12
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(NSergeevich @ Apr 10 2015, 17:42) *
На самой плисине я формирую импульс который в случае срабатывания rst выдает 0, а в случае clk выдает 1-цы

вы с этим сигналом определитесь - что выдает 1-цу или 1-цы (меандр), в последнем случае чип работать не будет..
найдите доку на чип физики и почитайте про "ресет"
придавили к "0", чип неактивен, выставили уровень "1", чип интится и начинает работу с настройками по умолчанию и ждет обмена по mdc/mdio
кстати, часто регламентируют время инита, т.е. если отпустить ресет и пытаться сразу работать через mdc/mdio, а чип еще не готов, то хорошего не будет..

Сообщение отредактировал Jury093 - Apr 10 2015, 20:53
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 Текстовая версия Сейчас: 18th July 2025 - 05:06
Рейтинг@Mail.ru


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