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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как запустить rtl8201bl, Управление от AT91SAM7X256
aaarrr
сообщение Dec 21 2006, 17:28
Сообщение #16


Гуру
******

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



Ну и развели же вы флуд, господа! А главное, совершенно не по делу. blink.gif

OlegHmt: Генерация на кварце стабильна?

Цитата(iosifk @ Dec 21 2006, 15:32) *
Пока не скачаю хоть один из тестовых примеров от Реалтека - комментировать не буду.
Вполне возможно, что у них в Реалтеке сделан симметричный выходной касакад. Но пока не получу пример, точно ничего не скажу.

RTL8201 бывает аж 4-х типов, и в одном из них - RTL8201BL - средняя точка трансформатора висит в воздухе. Пример приложен.
[attachment=8852:attachment]

P.S. Я ничего не имею против Micrel, но не надо преподносить его как панацею.
Go to the top of the page
 
+Quote Post
RIYA
сообщение Dec 21 2006, 17:35
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 26-10-06
Из: Ukraine, Lviv
Пользователь №: 21 690



По поводу подключения транса/коннектора к RTL8201BL :

Когда начинали разработку FPGA+ethernet, искали коннектор с магнетикой.

Одни знакомые сказали:
"мы выпустили несколько тысяч изделий с RTL8201BL + LU1S041 по такой вот схеме..."
Дейташита по подключению от производителей коннекторов/чипов не предоставили, но мы посчитали, что "несколько тысяч..." - весомый аргумент...

Далее, ту же схему подключения увидели на визнетовском модуле для LU1T516-43, и опробовали...

Смущает то, что для одного и того же чипа можно применять два разных трансформатора (LU1S041 и LU1T516-43) в одинаковом включени. И может быть это ещё вылезет боком smile.gif


Но неоспоримым фактом есть то, что у меня на столе в данный момент нормально работают две платы:
одна - FPGA + RTL8201BL + LU1S041,
вторая - такая же плата, но в ней - LU1T516-43!!!!


Кто может прокоментировать - буду рад!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 21 2006, 17:54
Сообщение #18


Гуру
******

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



Цитата(aaarrr @ Dec 21 2006, 17:28) *
Ну и развели же вы флуд, господа! А главное, совершенно не по делу. blink.gif

Цитата(iosifk @ Dec 21 2006, 15:32) *

Пока не скачаю хоть один из тестовых примеров от Реалтека - комментировать не буду.
Вполне возможно, что у них в Реалтеке сделан симметричный выходной касакад. Но пока не получу пример, точно ничего не скажу.

RTL8201 бывает аж 4-х типов, и в одном из них - RTL8201BL - средняя точка трансформатора висит в воздухе. Пример приложен.
[attachment=8852:attachment]

P.S. Я ничего не имею против Micrel, но не надо преподносить его как панацею.


Я не предлагал Микрел как панацею. Просто с ним и с Интелом я знаком больше.
Спасибо за пример применения Реалтека.
И вот теперь в том файле, который здесь выложен:
Что такое U2 - H1251 это трансформатор?
И куда подключен его вывод 4 под названием TDCT? Что это за вывод?
Что такое за сигнал PWFBOUT и куда он идет? Вроде как какой то вывод? Называется Power Feedback Output...
Так мало того, что это сделано с выходом, так они еще и на входе это сделали...
Так что вот мои комментарии.
И еще я тут хотел выложить файл на DM9000 от Davicom, но он не прицепился. Посмотрите его...
Спасибо.
Ну я кончаю, как это тут назвали мою попытку помочь.
Как я понимаю, есть две проблемы:
1. Плохо работает MDIO. Я такое проходил и делал понижение скорости передачи.
2. Проблемы с линией. Тут надо через MDIO запретить изменение всех режимов и сравнить работающую платы с новой.

И прошу сообщить мне, когда положение изменится...
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 21 2006, 18:08
Сообщение #19


Гуру
******

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



Цитата(iosifk @ Dec 21 2006, 17:54) *
И вот теперь в том файле, который здесь выложен:
Что такое U2 - H1251 это трансформатор?
И куда подключен его вывод 4 под названием TDCT? Что это за вывод?
Что такое за сигнал PWFBOUT и куда он идет? Вроде как какой то вывод? Называется Power Feedback
Output...

TDCT - это средняя точка (TD- > TDCT > TD+) трансформатора U2. PWFBOUT - выход внутреннего источника +2.5V. У RTL8201 (без буковок bl, cl, cl+) средняя точка подключается к +3.3V.

Цитата(iosifk @ Dec 21 2006, 17:54) *
Как я понимаю, есть две проблемы:
1. Плохо работает MDIO. Я такое проходил и делал понижение скорости передачи.
2. Проблемы с линией. Тут надо через MDIO запретить изменение всех режимов и сравнить работающую платы с новой.

По-моему, есть одна проблема - PHY просто не запускается. И весьма возможно, что это происходит из-за неправильно считанного адреса - OlegHmt упоминал некорректно подключенные диоды в первом посте.
О проблемах линии можно будет говорить только после того, как будет запущен MDIO.
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Dec 22 2006, 11:46
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Сначала небольшая ремарка касательно подключения пинов выставления адреса. Там всё нормально, я просто невнимательно смотрел схему. Они все сидят на питании, поэтому проблем никаких не должно быть (светодиоды также подтянуты к питанию).

А вот какие результаты моих вчерашних опытов.
Понизил скорость MDC с 1,5МГц до 750кГц.
Код
    /* Enable management port */
    AT91C_BASE_EMAC->EMAC_NCR |= AT91C_EMAC_MPE;    
    //AT91C_BASE_EMAC->EMAC_NCFGR |= ( 2 ) << 10;
    AT91C_BASE_EMAC->EMAC_NCFGR |= ( 3 ) << 10;

Проверял работу запросами на получение ID номеров чипа для всего диапазона номеров
Код
for (;;)
    {
      for (temp=1; temp<=31; temp++)
      {
        vTaskDelay(100);
          vReadPHY( temp, MII_PHYSID1, &ulPHYId1 );
          vReadPHY( temp, MII_PHYSID2, &ulPHYId2 );
        vUSBSendByte((ulPHYId1&0xFF));
        vUSBSendByte(((ulPHYId1&0xFF00)>>8));
        vUSBSendByte((ulPHYId2&0xFF));
        vUSBSendByte(((ulPHYId2&0xFF00)>>8));
      }
      vUSBSendByte(0xAA);
        vReadPHY( 31, 0, &ulPHYId1 );
      vUSBSendByte((ulPHYId1&0xFF));
      vUSBSendByte(((ulPHYId1&0xFF00)>>8));
    }

Результат, по сути, тот же, правда теперь вместо FF во многих местах начало возвращать 00.

Попробовал записать перед циклом чтения ID нужную конфигурацию в регистры чипа
Код
ulPHYId1=(1<<13)|(1<<12);
    vWritePHY( AT91C_PHY_ADDR, 0, &ulPHYId1 );
  vTaskDelay(12);
  ulPHYId1=(1<<15)|(1<<13)|(1<<12);
    vWritePHY( AT91C_PHY_ADDR, 0, &ulPHYId1 );
  vTaskDelay(12);
  ulPHYId1=(1<<15)|(1<<13)|(1<<12);
    vWritePHY( AT91C_PHY_ADDR, 0, &ulPHYId1 );
  vTaskDelay(12);
  ulPHYId1=(1<<13)|(1<<12);
    vWritePHY( AT91C_PHY_ADDR, 0, &ulPHYId1 );
  vTaskDelay(12);
  ulPHYId1=(1<<13)|(1<<12);
    vWritePHY( AT91C_PHY_ADDR, 0, &ulPHYId1 );
  vTaskDelay(12);
  ulPHYId1=(1<<13)|(1<<12);
    vWritePHY( AT91C_PHY_ADDR, 0, &ulPHYId1 );


Ничего не изменилось.

Ещё вспомнил одну вещь, когда я несколько дней назад смотрел сигналы на чипе осцилографом, то видел что на одной из ножек чипа, которая выходит на разъём сети при отключении кабеля постоянный уровень начинает периодически скакать в единицу, при подключении кабеля на этой ножке появляется генерация. Кроме того, если когда чип начал управлять светодиодами при подключенном кабеле дотронуться до кварца чипа светодиоды гаснут и через секунду наново загораются. Так выходит, что генератор запускается и внешняя часть работает.
Проблема в работе шины управления MDIO. Насколько я понимаю она работает и без работы 25МГц генератора, так как у неё клок идёт от MDC.
Кроме того, похоже что схемотехническое подключение правильное, так как такое же сделано в других рабочих системах.

Соответсвенно пока могу сделать только такие выводы. Либо я неправильно работаю на програмном уровне, но пока ошибки не нашёл. Либо что-то неправильно в разводке платы (то-ли наводки какие-то, то ли по питанию проблемы).

Сегодня после обеда будем дальше думать что делать, сравнивать с другими рабочими платами где используется такой чип. Когда найдём причины отпишу.
Go to the top of the page
 
+Quote Post
rustelcom
сообщение Dec 22 2006, 14:31
Сообщение #21


Участник
*

Группа: Свой
Сообщений: 29
Регистрация: 19-01-05
Пользователь №: 2 052



Безо всяких конфигураций читается ID - 8201 , при тактах=4мгц.

В смысле, 16 бит должны вернуться в формате 0x8201 .
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Dec 27 2006, 11:42
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Несколько дней небыло возможности добраться до форума и написать чем окончилась эпопея.
Оказалося всё банально просто. При распайке платы вместо резистора подтягивающего шину MDIO запаяли конденсатор. Причина: паялось поглядывая на аналогичную плату где в этом месте оказался конденсатор с другой линии.
Теперь шина управления заработала. Правда была ещё проблема с запуском аналоговой части, но там то-ли кварц не запускался, то-ли микросхема сбоила - поменяли их и всё заработало.

Огромное спасибо всем за помощь. Извините, что не усмотрели свою ошибку.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:21
Рейтинг@Mail.ru


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