|
Atheros AR8035, Не удается сконфигурировать |
|
|
|
Apr 9 2015, 15:55
|
Частый гость
 
Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716

|
Цитата(tvcam @ Apr 9 2015, 18:42)  Нужно быть точно уверенным что правильно выбран PHYAdd, к примеру нужно проверить LED_ACT (это средняя единица в вашем коде PHYAdd), при включении там на ножке должна быть 1. Чтобы это понять нужно увидеть схему, что к этой ножке подключено? А проще перебрать программно три младших бита PHYAdd и на какой то код она должна ответить. Скорее всего в середине PHYAdd 0. Прикол в том... только не смеяться))) я уже перебрал все возможные PHYAdd 5bit - 32 штуки))) Кстати, забыл сказать, что я смотрю через ChipScope то, что отправляю и то, что получаю.
|
|
|
|
|
Apr 9 2015, 16:14
|
Частый гость
 
Группа: Свой
Сообщений: 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нс.
|
|
|
|
|
Apr 10 2015, 08:19
|
Частый гость
 
Группа: Участник
Сообщений: 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 которым я ничего не делаю. Может быть нужно сам чип как-то запустить? Может быть он в состоянии сброса?
|
|
|
|
|
Apr 10 2015, 08:53
|
Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
Apr 10 2015, 11:02
|
Частый гость
 
Группа: Участник
Сообщений: 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 подать единицу ?
|
|
|
|
|
Apr 10 2015, 13:45
|
Частый гость
 
Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716

|
Цитата(_Anatoliy @ Apr 10 2015, 16:26)  А у Вас как цепочка сброса выполнена? Не знаю. На самом фи есть RSTn в доке написано только это: System reset, active low. Requires an external pull-up resistor. Pin1 и Тип инпут.
|
|
|
|
|
Apr 10 2015, 14:42
|
Частый гость
 
Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716

|
Цитата(_Anatoliy @ Apr 10 2015, 17:13)  Я в шоке.Ну организуйте хотя бы RC цепочку для сброса,или с порта FPGA(CPU) сформируйте нужный импульс. RSTn соединен с ножкой на плисине, а та в свою очередь через R217 1K 1/10w на зеилю. На самой плисине я формирую импульс который в случае срабатывания rst выдает 0, а в случае clk выдает 1-цы
|
|
|
|
|
Apr 10 2015, 15:13
|
Частый гость
 
Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716

|
Цитата(_Anatoliy @ Apr 10 2015, 17:49)  Ну а чего же тогда говорили "не знаю"? Я не знаю как с RSTn положено работать. И как через него завести chip. Может быть из-за того что я на него с клоком подаю 1-цы он из-за этого все время сбрасывается и у меня PHY не отвечает. На MDC я подаю 2.5 Mhz может быть это слишком быстро? И он не принимает и поэтому не отвечает?
|
|
|
|
|
Apr 10 2015, 17:20
|
Местный
  
Группа: Свой
Сообщений: 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. Вроде так.
|
|
|
|
|
Apr 10 2015, 19:12
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|