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

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


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

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



Цитата(NSergeevich @ Apr 10 2015, 17:13) *

Как у Вас дела с физикой,заработала? А то я тоже этот чип хочу применить в новых изделиях.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 14 2015, 15:08
Сообщение #17


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

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



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


Вот мой код. Задержка 50мс (клок 2mhz), после задержки 1. ready инициализирует начало запроса с phy (после задержки). Вообщем.... не заработало) пока...
Код
module RSTn(
input clk,
input rst,
output RSTn,
output ready
    );
    
reg [16:0]counter;
reg out;
reg ready_state;

always @(posedge rst or posedge clk)
begin
if (rst)
  begin
   counter <= 0;
    out <= 0;
    ready_state <= 0;
  end
else

    if (counter < 17'b11000011010100000)
    begin
        counter <= counter + 1'b1;
    end
    else
    begin
        out <= 1;
        ready_state <= 1;
    end
end
    
    
  
assign ready = ready_state;
assign RSTn = out;  
endmodule
Причина редактирования: используйте тег code для оформления кода (с) модератор
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 14 2015, 17:07
Сообщение #18


Знающий
****

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



Цитата(NSergeevich @ Apr 14 2015, 18:08) *
Вот мой код. Задержка 50мс (клок 2mhz), после задержки 1. ready инициализирует начало запроса с phy (после задержки). Вообщем.... не заработало) пока...
Код
module RSTn(
input clk,
input rst,
output RSTn,
output ready

я в этих закорючках ничего не понимаю..
для начала, убедитесь, что у вас чип подключен правильно (согласно даташиту), есть все питания, все управляющие сигналы на месте, частота не плавает
лучший помощник тут - осциллограф
далее, встаете двумя лучами на mdc/mdio и смотрите - все ли правильно с т.з. обмена по шине управления
если к электрике и живости чипа претензий нет, то дело в коде
кстати, на mdio вероятно нужен пуллап - смотрите доку на чип и свою схему..
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 15 2015, 06:57
Сообщение #19


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

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



Цитата(Jury093 @ Apr 14 2015, 20:07) *
далее, встаете двумя лучами на mdc/mdio и смотрите - все ли правильно с т.з. обмена по шине управления


Кажется я нашел косяк. Во всяком случае еще один... но он настолько примитивен, что писать о нем не хочется))
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 15 2015, 08:12
Сообщение #20


Знающий
****

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



Цитата(NSergeevich @ Apr 15 2015, 09:57) *
Кажется я нашел косяк. Во всяком случае еще один... но он настолько примитивен, что писать о нем не хочется))

а чего стеснятся то? при разработках создавать (неумышленно) грабли и их находить, имхо, это нормально..
напишете о своем косяке, потом другой человек найдет эту тему через поисковик и получит знания..
Go to the top of the page
 
+Quote Post
akorud
сообщение Apr 15 2015, 14:58
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(_Anatoliy @ Apr 14 2015, 13:26) *
А то я тоже этот чип хочу применить в новых изделиях.

Используем, исключительно беспроблемный чип, никаких нареканий.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 15 2015, 16:24
Сообщение #22


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

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



Цитата(akorud @ Apr 15 2015, 17:58) *
Используем, исключительно беспроблемный чип, никаких нареканий.

Спасибо.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 16 2015, 08:20
Сообщение #23


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

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



Цитата(Jury093 @ Apr 15 2015, 11:12) *
а чего стеснятся то? при разработках создавать (неумышленно) грабли и их находить, имхо, это нормально..
напишете о своем косяке, потом другой человек найдет эту тему через поисковик и получит знания..


Вообщем у меня дока на AR8035 не совсем информативная и я проглядел, что у меня клок на MDC идет синхронно с данными на MIDIO, а надо с удержанием в 10ns. Вот так)
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 21 2015, 13:18
Сообщение #24


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

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



Последние новости.

phy AR8035

На порт RSTn подаю 0 в течении 10мс и далее 1 (завел чип) ps что завел чип это только мои предположения
На порт MDC подал клок 2.5 mhz
На порт MIDIO подаю 1...1(32единицы)01(st)10(op)00ххх(phyadd)00010(regadd PHY Identifier)z

MIDIO со здвигом по фазе относительно MDC

Перебрал три младших бита phyadd (т.к. адрес точно не знаю) ответа с phy чип скопом по прежнему не увидел

Есть идеи, что еще мог забыть?
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение Apr 22 2015, 10:30
Сообщение #25


Местный
***

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



Цитата(NSergeevich @ Apr 21 2015, 16:18) *
Последние новости.

phy AR8035

На порт RSTn подаю 0 в течении 10мс и далее 1 (завел чип) ps что завел чип это только мои предположения
На порт MDC подал клок 2.5 mhz
На порт MIDIO подаю 1...1(32единицы)01(st)10(op)00ххх(phyadd)00010(regadd PHY Identifier)z

MIDIO со здвигом по фазе относительно MDC

Перебрал три младших бита phyadd (т.к. адрес точно не знаю) ответа с phy чип скопом по прежнему не увидел

Есть идеи, что еще мог забыть?

Добрый день.
А что видите? Все 0 или все 1?
Попробуйте прочитать регистр с другим адресом, например с 0-м.
Если есть возможность, попробуйте зациклить выдачу команды чтения по MDIO + период чтения и посмотреть сигнал на MDIO осциллографом.
Может ChipScope не отрабатывает? Или сигнал до PHY не доходит?
Кстати, адрес PHY определяется подтяжкой пинов RXD0(ADDR0), RXD1(ADDR1), LED_ACT(ADDR2) PHY.
Если внешних подтяжек нет, то внутренние подтяжки PHY такие - ADDR0=0, ADDR1=0, ADDR2=1.
(стр. 7 datasheet).
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 22 2015, 11:10
Сообщение #26


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

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



Цитата(Andrew Su @ Apr 22 2015, 13:30) *
Добрый день.
А что видите? Все 0 или все 1?
Попробуйте прочитать регистр с другим адресом, например с 0-м.
Если есть возможность, попробуйте зациклить выдачу команды чтения по MDIO + период чтения и посмотреть сигнал на MDIO осциллографом.
Может ChipScope не отрабатывает? Или сигнал до PHY не доходит?
Кстати, адрес PHY определяется подтяжкой пинов RXD0(ADDR0), RXD1(ADDR1), LED_ACT(ADDR2) PHY.
Если внешних подтяжек нет, то внутренние подтяжки PHY такие - ADDR0=0, ADDR1=0, ADDR2=1.
(стр. 7 datasheet).


На ChipScop-е вижу только то, что отправляю на phy. Периодично ---набор единиц и нулей(1..1 01 10 00100 00010)---и z состояние----через долгий период несколько тысяч тактов опять набор нулей и единиц с z состоянием
Сразу с z состоянием и должен увидеть ответ от phy (которого нету)
Осциллографом ткнулся на ножку и действительно все увидел, что отправляю z состояние - мои меандры - z состояние - мои меандры
Т.е. до phy все доходит, но он не отвечает.

Либо chipscop не ловит ответ, либо с адресами не то... хотя перебрал все (и не только младшие 3 бита)... не знаю, что еще может быть(
Go to the top of the page
 
+Quote Post
tvcam
сообщение Apr 22 2015, 11:43
Сообщение #27


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

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



Я вас в 4-м посте этой темы спрашивал что вы видете 0 или 1?
Andrew Su вас тоже спросил "А что видите? Все 0 или все 1?"
Вы ответили: "z состояние" Вопрос: как вы узнали или с чего вы решили что это Z ?
Там вообще резистор притягивающий к плюсу должен быть.
И исходник полностью выложите в виде файла. Правда я только по Altere.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Apr 22 2015, 12:19
Сообщение #28


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

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



Цитата(tvcam @ Apr 22 2015, 14:43) *
Я вас в 4-м посте этой темы спрашивал что вы видете 0 или 1?
Andrew Su вас тоже спросил "А что видите? Все 0 или все 1?"
Вы ответили: "z состояние" Вопрос: как вы узнали или с чего вы решили что это Z ?
Там вообще резистор притягивающий к плюсу должен быть.
И исходник полностью выложите в виде файла. Правда я только по Altere.


Я писал, что вижу "то что отправляю на phy" и z состояние. Почему решил что это z: потому, что я сам его в коде прописал после отправки единиц и нулей на phy нужно перевести в z состояние и ловить ответ.
Также я проверил ткнувшись осциллографом на ножку phy mdio и увидел z состояние (чуть меньше 1-цы по уровню) далее 32 единицы и остальную последовательность, потом опять плавно переходит в z состояние.

На рисунке: верхний это clock MDC снизу то что отправляю на phy mdio. На чипскопе 1 и z рисуется одним уровнем

Какой исходник скинуть? Топ модуля на Verilog-е ?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
tvcam
сообщение Apr 22 2015, 15:45
Сообщение #29


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

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



Диаграмма обмена с PHI может поможет.
Прикрепленное изображение


Не обращайте внимания на то что тактовая не меандр как у вас, это не принципиально, главное это состояния MDIO когда тактовая переходит из 0 в 1. У меня это всё формирует процессор.
Как только я перевожу выход в третье состояние PhyOutMDIO_Z =0 выход из FPGA встаёт в Z, а так как подвешен резистор к +, мы видим на E_MDIO = 1. Затем подаётся такт, PHI понимает и притягивает этот резистор к нулю.
Хотя бы исходник топ модуля, хоть с чего то начать искать ошибку.
Где у вас сигнал перевода в Z состояние?
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение Apr 22 2015, 19:08
Сообщение #30


Местный
***

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



Добрый день.
Для сигнала MDIO надо использовать компонент
IOBUF_inst : IOBUF
generic map (
DRIVE => 12, -- максимальный ток выхода в мА
IOSTANDARD => "DEFAULT", -- надо заменить на нужный вам стандарт
SLEW => "SLOW" -- можно оставить или поменять на FAST
)
port map (
O => MDIO_O, -- Это сигнал, который вы принимаете от PHY
IO => MDIO, -- это ваш сигнал к PHY на пине FPGA
I => MDIO_I, -- Это сигнал, который вы отправляете на PHY
T => T -- 3-state enable input, high=input, low=output
);
У вас так? При этом чипскопом надо смотреть MDIO_O и MDIO_I.
В схеме есть PULLUP резистор на пине MDIO?
Можно в UCF файле в описании сигнала MDIO добавить атрибут PULLUP
Например такое описание
Net MDIO LOC = E9(нужный вам пин) | PULLUP;
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 - 04:59
Рейтинг@Mail.ru


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