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

Eth Switch KSZ8895FQX не загружается с EEPROM

Добрый день! Просьба помочь в такой ситуации:

Разведена и изготовлена печатная плата, имеющая на борту 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 с этим есть смысл соваться?

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


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

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

В общем, тупичок. В поддержку Micrel, теперь это у Microchip с этим есть смысл соваться?

Errata тщательно изучили? Там помнится было что-то на предмет загрузки из EEPROM забажено

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

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


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

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"

 

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


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

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

Тады ой, я пользовал только медь и загрузка настроек у меня с процессора идет.

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

В плате ничего особенного нет, обычный переходник USB-I2C на базе FT2232C. Воткните в USB любую платку на чипе FTDI FT2232C - может ему похорошеет?

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

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


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

Включили в режиме автономной работы микросхемы, затем подключились по SPI, попробовали почитать регистры. Что-то прочиталось. Как могли, скорректировали по этим данным микросхему загрузки - вроде все заработало. Попутно вопрос - при работе по SPI какие максимальные длины кабеля получалось использовать в случае плоского кабеля?

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


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

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

Тоже вариант

Попутно вопрос - при работе по SPI какие максимальные длины кабеля получалось использовать в случае плоского кабеля?

Больше 15см никогда не использовал, так что ничего внятного сказать не могу.

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


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

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

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

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

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

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

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

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

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

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