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

 
 
> Управление PHY через MDC/MDIO, подсажите кто делал
beles
сообщение Jan 26 2009, 09:58
Сообщение #1





Группа: Новичок
Сообщений: 14
Регистрация: 10-10-06
Пользователь №: 21 187



Необходимо сделать проет, который бы читал/записывал данные из внутренних регистров PHY, при этом использовался бы интерфейс MDC/MDIO.
При подачи этих сигналов в режиме чтения физика ни как не реагирует. Сигналы формировал согласно стандарту. Тактовый сигнал менял от 25кГц до 3МГц, но реакции ни какой. Смотрел осциллографом, сигналы до физики доходят такие какие я подовал, после перехода в Z состояние и начало приема, на сигнале MDIO постоянно весит "1", т.к. на плате этот сигнал подтянут к питанию. Адрес физики использовал 0 (стандартный) и 7 (таким она хардово сконфигурирована), адрес регистра ставил любой (менял), реакции тоже ни какой.
Подскажите в чем может быть проблема?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Костян
сообщение Jan 26 2009, 13:26
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Делал. Работало.

Вот Вам пример. Конфигурирование PHY на 100М линк
Код
----------------------------------------------------------------------------------

entity mii_mem is
    Port ( clk     : in  STD_LOGIC;
           en     : in  STD_LOGIC;
           addr : in  STD_LOGIC_VECTOR (6 downto 0);
           do     : out  STD_LOGIC
        );
end mii_mem;

architecture Behavioral of mii_mem is
  type rom_type is array (0 to 127) of std_logic;
  signal rom : rom_type :=
  (
    --preambl
    '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1',
    --ST
    '0','1',
    --OP CODE
    '0','1',
    --PHY ADDR
    '0','0','0','0','0',
    --REG ADDR
    '0','0','0','0','0',
    --TAR
    '1','0',
    --DATA
    '0','0','1','0','0','0','0','0',
    --DATA
    '0','0','0','0','0','0','0','0',
    --post
    --'1','1','1','1',
    --preambl
    '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1',
    --ST
    '0','1',
    --OP CODE
    '0','1',
    --PHY ADDR
    '0','0','0','0','0',
    --REG ADDR
    '0','0','0','0','0',
    --TAR
    '1','0',
    --DATA
    '1','0','1','0','0','0','0','0',
    --DATA
    '0','0','0','0','0','0','0','0'
    --post
    --'1','1','1','1'    
    );
    
attribute rom_style: string;
attribute rom_style of rom: signal is "distributed";

begin
  process(clk)
  begin
    if clk'event and clk = '1' then
      if en = '1' then
        do <= rom(conv_integer(addr));
      end if;
    end if;
  end process;

end Behavioral;


сигнал addr инкрементирутся по каждому clk
Go to the top of the page
 
+Quote Post
wolfman
сообщение Oct 23 2009, 18:52
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Цитата(Костян @ Jan 26 2009, 23:56) *
Делал. Работало.

Вот Вам пример. Конфигурирование PHY на 100М линк
Код
----------------------------------------------------------------------------------

entity mii_mem is
    Port ( clk     : in  STD_LOGIC;
           en     : in  STD_LOGIC;
           addr : in  STD_LOGIC_VECTOR (6 downto 0);
           do     : out  STD_LOGIC
        );
end mii_mem;

architecture Behavioral of mii_mem is
  type rom_type is array (0 to 127) of std_logic;
  signal rom : rom_type :=
  (
    --preambl
    '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1',
    --ST
    '0','1',
    --OP CODE
    '0','1',
    --PHY ADDR
    '0','0','0','0','0',
    --REG ADDR
    '0','0','0','0','0',
    --TAR
    '1','0',
    --DATA
    '0','0','1','0','0','0','0','0',
    --DATA
    '0','0','0','0','0','0','0','0',
    --post
    --'1','1','1','1',
    --preambl
    '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1',
    --ST
    '0','1',
    --OP CODE
    '0','1',
    --PHY ADDR
    '0','0','0','0','0',
    --REG ADDR
    '0','0','0','0','0',
    --TAR
    '1','0',
    --DATA
    '1','0','1','0','0','0','0','0',
    --DATA
    '0','0','0','0','0','0','0','0'
    --post
    --'1','1','1','1'    
    );
    
attribute rom_style: string;
attribute rom_style of rom: signal is "distributed";

begin
  process(clk)
  begin
    if clk'event and clk = '1' then
      if en = '1' then
        do <= rom(conv_integer(addr));
      end if;
    end if;
  end process;

end Behavioral;


сигнал addr инкрементирутся по каждому clk



простите, а нет ли у вас примера для слейва?


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- beles   Управление PHY через MDC/MDIO   Jan 26 2009, 09:58
- - beles   Попробывал сделать как вы предложили, но конфигури...   Jan 26 2009, 14:49
|- - Костян   Цитата(beles @ Jan 26 2009, 12:49) Попроб...   Jan 27 2009, 14:05
- - cioma   Какой PHY используете?   Jan 27 2009, 09:18
- - beles   Использую отладочную плату от Xilinx ML507, физика...   Jan 27 2009, 09:32
- - beles   > при включении phy по умолчанию на 10Мбит наст...   Jan 27 2009, 15:19
- - cioma   Может стандарт IEEE 802.3 поможет - там должно быт...   Jan 27 2009, 21:37
- - iosifk   Цитата(beles @ Jan 26 2009, 12:58) Подска...   Jan 28 2009, 06:20
- - beles   После нескольких опытов с разными PHY от MARVELL, ...   Feb 2 2009, 06:52
- - MKS   Здравствуйте. Пытаюсь начать работать с PHY smsc 8...   Oct 23 2009, 09:47
|- - iosifk   Цитата(MKS @ Oct 23 2009, 13:47) На них п...   Oct 23 2009, 10:00
- - MKS   Спасибо за разяснения, iosifk. Но тогда мне непоня...   Oct 23 2009, 10:34
|- - iosifk   Цитата(MKS @ Oct 23 2009, 14:34) Спасибо ...   Oct 23 2009, 10:57
|- - Костян   Цитата(MKS @ Oct 23 2009, 09:34) Спасибо ...   Oct 23 2009, 11:11
- - MKS   Цитата(Костян @ Oct 23 2009, 14:11) .... ...   Oct 23 2009, 20:10


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:48
Рейтинг@Mail.ru


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