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

 
 
> Зависание ksz8721 при старте, Кажется определяет неверный адрес PHY
yanvasiij
сообщение Feb 5 2015, 06:03
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Доброго времени суток!

Процессор LPC1788, схема подключения такая .

В качестве драйвера PHY использую стандартный кейловский (тот, что везде валяется). Столкнулся с такой проблемой: иногда при старте программы (чаще всего если быстро передернуть питание, при обычно долгом передергивании или нормальном ресете все проходит нормально) микросхема не проходит инициализацию, не отвечает на чтение регистра U16 read_PHY (U32 PhyReg). А там, в кейловсом драйвере долгое ожидание ответа от микросхемы (точнее они ждут готовности ресета, но в моем случае зависает из-за того, что микросхема не отвечает):
Код
  /* Wait for hardware reset to end. */
  for (tout = 0; tout < 0x100000; tout++) {
    regv = read_PHY (PHY_REG_BCR);
    if (!(regv & 0x8000)) {
      /* Reset complete */
      break;
    }
  }

Долго пытался выяснить в чем дело, удалось узнать лишь то, что в момент старта микросхема ИНОГДА неверно определяет адрес PHYAD (задается ногами PHYAD0-PHYAD4). Выяснить это удалось добавив в драйвер цикл, в котором он в случае неответа перебирает эти адреса.


В чем дело?!

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sadat
сообщение Feb 9 2015, 18:28
Сообщение #2


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

Группа: Свой
Сообщений: 117
Регистрация: 6-07-05
Из: Белгород
Пользователь №: 6 575



На схеме не видно, чем сброс KSZ выполняется - отдельной ногой мк либо сообщен со сбросом мк?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 15:54
Рейтинг@Mail.ru


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