bsp 0 18 июня, 2018 Опубликовано 18 июня, 2018 · Жалоба Добрый день! Просьба помочь в такой ситуации: Разведена и изготовлена печатная плата, имеющая на борту 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 0 18 июня, 2018 Опубликовано 18 июня, 2018 (изменено) · Жалоба В итоге, если EEPROM отсутствует, свитч прекрасно работает по внутренним настройкам, но один оптический порт (порт 3) у нас отпадает. Остальные три медных (порт 1, 2, 5) и один оптический (порт 4) работают.Если EEPROM установлена, загрузка начинается через раз, после чего обрывается примерно на полпути. После битья в бубен выяснилось, что если в ячейку EEPROM 0x7B записать 80, загрузка идет стабильно каждый раз и проходит предположительно (судя по продолжительности и тактовой частоте) до конца. Правда, работать свитч вообще не начинает. Про эту ячейку нашли из информации только вот это: 0x79-0x7B Reserved (Factory Testing Registers). Содержимое нигде не указано. Но ведь мы должны туда записать что-то конкретное, раз эта информация влияет на поведение устройства. Может, у ког-то просто есть возможность сгенерить правильный файл для загрузки. Есть софт, поставляемый с Evaluation Board, но платы у нас нет, а без платы он нужный файл не генерирует. Или, может есть файл для просто близкого варианта, чтобы почитать эти "неиспользуемые" области. В общем, тупичок. В поддержку Micrel, теперь это у Microchip с этим есть смысл соваться? Errata тщательно изучили? Там помнится было что-то на предмет загрузки из EEPROM забажено Изменено 18 июня, 2018 пользователем LightElf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bsp 0 19 июня, 2018 Опубликовано 19 июня, 2018 · Жалоба 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 0 20 июня, 2018 Опубликовано 20 июня, 2018 (изменено) · Жалоба Errata изучили. Там действительно была проблема с загрузкой по I2C, но приведено простое решение и оно уже заложено в datasheets на микросхему. Тады ой, я пользовал только медь и загрузка настроек у меня с процессора идет. Есть софт, поставляемый с Evaluation Board, но платы у нас нет, а без платы он нужный файл не генерирует. В плате ничего особенного нет, обычный переходник USB-I2C на базе FT2232C. Воткните в USB любую платку на чипе FTDI FT2232C - может ему похорошеет? Изменено 20 июня, 2018 пользователем LightElf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bsp 0 21 июня, 2018 Опубликовано 21 июня, 2018 · Жалоба Включили в режиме автономной работы микросхемы, затем подключились по SPI, попробовали почитать регистры. Что-то прочиталось. Как могли, скорректировали по этим данным микросхему загрузки - вроде все заработало. Попутно вопрос - при работе по SPI какие максимальные длины кабеля получалось использовать в случае плоского кабеля? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LightElf 0 21 июня, 2018 Опубликовано 21 июня, 2018 · Жалоба Включили в режиме автономной работы микросхемы, затем подключились по SPI, попробовали почитать регистры. Что-то прочиталось. Как могли, скорректировали по этим данным микросхему загрузки - вроде все заработало. Тоже вариант Попутно вопрос - при работе по SPI какие максимальные длины кабеля получалось использовать в случае плоского кабеля? Больше 15см никогда не использовал, так что ничего внятного сказать не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться