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