Перейти к содержанию
    

KSZ8863RLL

Здравствуйте.

Не могу запустить данную микросхему.

Как свич работает нормально, а вот связи с микроконтроллером нет.

Микроконтроллер, к которому она подключена не видит входящих пакетов.

При наблюдении осциллографом за сигналом CRS_DV заметил некоторые странности. Сигнал на нем имеет уж очень большую длительность, а также на

этом сигнале наблюдается некоторый провал.

Сравнивал с тем же сигналом (CRS_DV) на микросхеме LAN8720.

AKIP0001.jpg.1a5927baa882160697ffa4486286758a.jpg

На приведенной осциллограмме красный это CRS_DV с микросхемы KSZ8863RLL

Желтый сигнал - CRS_DV с LAN8720

В обоих случаях отправлялся ARP пакет длинной 42 байта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

22 minutes ago, aaarrr said:

Схему включения можете привести?

ksz8863rll_sch.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 minutes ago, aaarrr said:

Увеличьте номинал R75 до 75Ом.

75 не было. Поставил 68.

Так же добавил 68 Ом между 26 ногой KSZ8863 и входом REF_CLK микроконтроллера.

Провалы на CRS_DV перестали появляться, но длительность его все также великоватая. Как и была.

И микроконтроллер все так же не видит входящих пакетов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, dimka76 сказал:

И микроконтроллер все так же не видит входящих пакетов.

А линк на порте  KSZ8863 есть? И если есть там регистры, то читаете ли Вы их? Генератор у  KSZ8863 в норме, глаз смотрели?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, iosifk said:

А линк на порте  KSZ8863 есть? И если есть там регистры, то читаете ли Вы их? Генератор у  KSZ8863 в норме, глаз смотрели?

Линк есть. Пакеты с певого порта на второй и обратно со второго на первый ходят нормально. А вот на третий, который PHY, как-то не корректно.

Регитры не читаю, думаю, что по умолчанию должно работать.

Частота и на кварце и на выходе 50 МГц присутствует и соответствует номиналу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, dimka76 said:

Линк есть. Пакеты с певого порта на второй и обратно со второго на первый ходят нормально. А вот на третий, который PHY, как-то не корректно.

Регитры не читаю, думаю, что по умолчанию должно работать.

Частота и на кварце и на выходе 50 МГц присутствует и соответствует номиналу.

Могу приложить свою схему для сравнения (самому сравнивать времени нет). Она работает с STM32F407, DHCP клиент получает адрес и т.п.

С 8863 есть одна тонкость. У него нет регистра типа PHY SPECIAL CONTROL/STATUS REGISTER (0x1F) для получения текущего состояния скорости/дуплекса (как у LAN8742A, например). Думаю потому, что это свич.

Если предположить, что контроллер у вас STM32 (вы не уточняли), то там стек протоколов заточен на этот регистр. Мне пришлось в Кубе поправить три значения в настройках, чтобы обмануть софт. Если у вас STM32, могу сказать какие.

А ещё надо правильно задать адрес PHY. Опять же, в софте STM32 в инициализации делается программный сброс PHY, ожидание линка, получение состояния через интерфейс SMI, а в нём нужен корректный адрес PHY. Если это всё не получилось, то ничего дальше не будет.

8863.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Dimonira said:

Могу приложить свою схему для сравнения (самому сравнивать времени нет).

 

Спасибо.

1 hour ago, Dimonira said:

Если предположить, что контроллер у вас STM32 (вы не уточняли), то там стек протоколов заточен на этот регистр. Мне пришлось в Кубе поправить три значения в настройках, чтобы обмануть софт. Если у вас STM32, могу сказать какие.

........

 

Стек я пока никакой не использую.

Микроконтроллер действительно STM32.

-------------------------------------------------------

Разобрался я с причиной странного поведения.

На самом деле странностей в поведении не было.

Просто порт 3 (PHY) работал на скорости 10 Мбит/сек. А микроконтроллер бал настроен на 100.

И, как выяснилось, в регистре Global Control 4 (0x06) микросхемы KSZ8863 бит 4 (Switch MII 10BT) имел значение 1, что 

соответствует the switch interface is in 10 Mbps mode. Хотя по умолчанию он должен иметь значение

0 - the switch interface is in 100 Mbps mode

 

Или ошибки в описании, а они там присутствуют. Или это я случайно при экспериментах с управляющим

интерфейсом записал туда другое значение.

 

P.S. Всем спасибо за помощь !!!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27.08.2019 в 16:18, Dimonira сказал:

Могу приложить свою схему для сравнения (самому сравнивать времени нет). Она работает с STM32F407, DHCP клиент получает адрес и т.п.

С 8863 есть одна тонкость. У него нет регистра типа PHY SPECIAL CONTROL/STATUS REGISTER (0x1F) для получения текущего состояния скорости/дуплекса (как у LAN8742A, например). Думаю потому, что это свич.

Если предположить, что контроллер у вас STM32 (вы не уточняли), то там стек протоколов заточен на этот регистр. Мне пришлось в Кубе поправить три значения в настройках, чтобы обмануть софт. Если у вас STM32, могу сказать какие.

А ещё надо правильно задать адрес PHY. Опять же, в софте STM32 в инициализации делается программный сброс PHY, ожидание линка, получение состояния через интерфейс SMI, а в нём нужен корректный адрес PHY. Если это всё не получилось, то ничего дальше не будет.

8863.png

Добрый день.

Подскажите, пожалуйста на счет настройки режима работы последовательного интерефейса по P2LED1, P2LED0

На вашей схеме они притянуты к GND через резистор 1K.

При такой настройке сразу должен работать SMI?

По даташиту эти ножки в единичке должны быть вроде.

 

Изменено пользователем SE_flash

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27.08.2019 в 21:18, Dimonira сказал:

Могу приложить свою схему для сравнения (самому сравнивать времени нет). Она работает с STM32F407, DHCP клиент получает адрес и т.п.

С 8863 есть одна тонкость. У него нет регистра типа PHY SPECIAL CONTROL/STATUS REGISTER (0x1F) для получения текущего состояния скорости/дуплекса (как у LAN8742A, например). Думаю потому, что это свич.

Если предположить, что контроллер у вас STM32 (вы не уточняли), то там стек протоколов заточен на этот регистр. Мне пришлось в Кубе поправить три значения в настройках, чтобы обмануть софт. Если у вас STM32, могу сказать какие.

А ещё надо правильно задать адрес PHY. Опять же, в софте STM32 в инициализации делается программный сброс PHY, ожидание линка, получение состояния через интерфейс SMI, а в нём нужен корректный адрес PHY. Если это всё не получилось, то ничего дальше не будет.

8863.png

Здравствуйте. если возможно подскажите какие значения нужно померять в кубе и на какие, и какой адрес PHY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...