Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Eth Switch KSZ8895FQX не загружается с EEPROM
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Fast Ethernet/Gigabit Ethernet/FibreChannel
bsp
Добрый день! Просьба помочь в такой ситуации:
Разведена и изготовлена печатная плата, имеющая на борту Eth Switch KSZ8895FQX, ревизия A4. Надо сделать три медных и два оптических порта. Чтобы порт 3 стал оптическим, надо определенным образом настроить регистры свитча. Именно эти настройки можно сделать только через внешний интерфейс. Простейший вариант - загрузить по I2C из EEPROM. Если свитч "видит" м/сх памяти, он загружает регистры из этой памяти, если не видит - работает по внутренним настройкам. EEPROM используем 24LC02B .

В итоге, если EEPROM отсутствует, свитч прекрасно работает по внутренним настройкам, но один оптический порт (порт 3) у нас отпадает. Остальные три медных (порт 1, 2, 5) и один оптический (порт 4) работают.Если EEPROM установлена, загрузка начинается через раз, после чего обрывается примерно на полпути. После битья в бубен выяснилось, что если в ячейку EEPROM 0x7B записать 80, загрузка идет стабильно каждый раз и проходит предположительно (судя по продолжительности и тактовой частоте) до конца. Правда, работать свитч вообще не начинает. Про эту ячейку нашли из информации только вот это: 0x79-0x7B Reserved (Factory Testing Registers). Содержимое нигде не указано. Но ведь мы должны туда записать что-то конкретное, раз эта информация влияет на поведение устройства. Может, у ког-то просто есть возможность сгенерить правильный файл для загрузки. Есть софт, поставляемый с Evaluation Board, но платы у нас нет, а без платы он нужный файл не генерирует. Или, может есть файл для просто близкого варианта, чтобы почитать эти "неиспользуемые" области.
В общем, тупичок. В поддержку Micrel, теперь это у Microchip с этим есть смысл соваться?
LightElf
QUOTE (bsp @ Jun 18 2018, 10:00) *
В итоге, если EEPROM отсутствует, свитч прекрасно работает по внутренним настройкам, но один оптический порт (порт 3) у нас отпадает. Остальные три медных (порт 1, 2, 5) и один оптический (порт 4) работают.Если EEPROM установлена, загрузка начинается через раз, после чего обрывается примерно на полпути. После битья в бубен выяснилось, что если в ячейку EEPROM 0x7B записать 80, загрузка идет стабильно каждый раз и проходит предположительно (судя по продолжительности и тактовой частоте) до конца. Правда, работать свитч вообще не начинает. Про эту ячейку нашли из информации только вот это: 0x79-0x7B Reserved (Factory Testing Registers). Содержимое нигде не указано. Но ведь мы должны туда записать что-то конкретное, раз эта информация влияет на поведение устройства. Может, у ког-то просто есть возможность сгенерить правильный файл для загрузки. Есть софт, поставляемый с Evaluation Board, но платы у нас нет, а без платы он нужный файл не генерирует. Или, может есть файл для просто близкого варианта, чтобы почитать эти "неиспользуемые" области.
В общем, тупичок. В поддержку Micrel, теперь это у Microchip с этим есть смысл соваться?

Errata тщательно изучили? Там помнится было что-то на предмет загрузки из EEPROM забажено
bsp
Errata изучили. Там действительно была проблема с загрузкой по I2C, но приведено простое решение и оно уже заложено в datasheets на микросхему.

"END USER IMPLICATIONS
When using I2C mode, the device will fail to read the EEPROM contents after a reset.
Work Around
Writing 0x0 to register 1 bits 7:4 (chip ID) in EEPROM will correct this issue.
PLAN
This errata is not planed to be corrected in a future revision"
LightElf
QUOTE (bsp @ Jun 19 2018, 08:17) *
Errata изучили. Там действительно была проблема с загрузкой по I2C, но приведено простое решение и оно уже заложено в datasheets на микросхему.

Тады ой, я пользовал только медь и загрузка настроек у меня с процессора идет.
QUOTE
Есть софт, поставляемый с Evaluation Board, но платы у нас нет, а без платы он нужный файл не генерирует.

В плате ничего особенного нет, обычный переходник USB-I2C на базе FT2232C. Воткните в USB любую платку на чипе FTDI FT2232C - может ему похорошеет?
bsp
Включили в режиме автономной работы микросхемы, затем подключились по SPI, попробовали почитать регистры. Что-то прочиталось. Как могли, скорректировали по этим данным микросхему загрузки - вроде все заработало. Попутно вопрос - при работе по SPI какие максимальные длины кабеля получалось использовать в случае плоского кабеля?
LightElf
QUOTE (bsp @ Jun 21 2018, 08:44) *
Включили в режиме автономной работы микросхемы, затем подключились по SPI, попробовали почитать регистры. Что-то прочиталось. Как могли, скорректировали по этим данным микросхему загрузки - вроде все заработало.

Тоже вариант
QUOTE (bsp @ Jun 21 2018, 08:44) *
Попутно вопрос - при работе по SPI какие максимальные длины кабеля получалось использовать в случае плоского кабеля?

Больше 15см никогда не использовал, так что ничего внятного сказать не могу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.