ksv198 0 19 июня, 2019 Опубликовано 19 июня, 2019 · Жалоба Доброго всем дня! Есть устройство, в составе которого микрочиповский свитч KSZ9897S. К свитчу по SPI подключен микроконтроллер, для начальной конфигурации (ибо errata впечатляет). Глобальные регистры, регистры портов читаются/пишутся без проблем. Сам свитч работает. Однако при попытке прочитать что-либо (писать пока не пробовал) посредством MDIO Manageable Device (MMD) Registers (Indirect), по методу из даташита (раздел 5.4 стр. 168) читаю из регистра PHY MMD Data Register то, что только что в него записал (а именно Register Address). Кто-нибудь сталкивался с подобной проблемой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladec 7 20 июня, 2019 Опубликовано 20 июня, 2019 · Жалоба А для чего читать через MDIO при наличии связи по SPI? По SPI у него, вроде как, даже больше регистров доступно чем через MDIO. Я так MDIO даже и не развожу когда использую этот свич. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ksv198 0 20 июня, 2019 Опубликовано 20 июня, 2019 · Жалоба 1 hour ago, vladec said: А для чего читать через MDIO при наличии связи по SPI? По SPI у него, вроде как, даже больше регистров доступно чем через MDIO. Я так MDIO даже и не развожу когда использую этот свич. Речь идёт не об интерфейсе MDIO, а о доступе к MDIO Manageable Device (MMD) Registers (Indirect). Для этого можно (согласно даташита) использовать любой интерфейс. Я использую SPI. Есть два 16 битных регистра: PHY MMD Setup Register (доступен по адресам 0xN11A - 0xN11B где N номер порта меди) и PHY MMD Data Register (доступен по адресам 0xN11C - 0xN11D). С их помощью можно получить доступ к 65535 регистрам устройства (из них только 2 описаны в даташите). Дело в том, что errata для свича чуть более чем на 90% состоит из рекомендаций вида: Write to the following MMD registers for each PHY port [1-5] и далее список значений, например: [MMD] [register] [data] 0x01 0x6F 0xDD0B 0x01 0x8F 0x6032 0x01 0x9D 0x248C 0x01 0x75 0x0060 0x01 0xD3 0x7777 0x1C 0x06 0x3008 0x1C 0x08 0x2001 Игнорировать errata как-то неправильно, особенно после внимательного прочтения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Varavkin 0 19 марта, 2020 Опубликовано 19 марта, 2020 · Жалоба В 20.06.2019 в 11:41, ksv198 сказал: Речь идёт не об интерфейсе MDIO, а о доступе к MDIO Manageable Device (MMD) Registers (Indirect). Для этого можно (согласно даташита) использовать любой интерфейс. Я использую SPI. Есть два 16 битных регистра: PHY MMD Setup Register (доступен по адресам 0xN11A - 0xN11B где N номер порта меди) и PHY MMD Data Register (доступен по адресам 0xN11C - 0xN11D). С их помощью можно получить доступ к 65535 регистрам устройства (из них только 2 описаны в даташите). Дело в том, что errata для свича чуть более чем на 90% состоит из рекомендаций вида: Write to the following MMD registers for each PHY port [1-5] и далее список значений, например: [MMD] [register] [data] 0x01 0x6F 0xDD0B 0x01 0x8F 0x6032 0x01 0x9D 0x248C 0x01 0x75 0x0060 0x01 0xD3 0x7777 0x1C 0x06 0x3008 0x1C 0x08 0x2001 Игнорировать errata как-то неправильно, особенно после внимательного прочтения. Добрый день. я столкнулся с такой же проблемой. Интересно как вы это побороли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ksv198 0 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба On 3/19/2020 at 3:51 PM, Varavkin said: Добрый день. я столкнулся с такой же проблемой. Интересно как вы это побороли? Добрый день! Прошу прощения, не сразу отвечаю, может быть неактуально уже? Для Indirect регистров написал свои подпрограмки, если нужно выложу. Там довольно не очевидные вещи, плохо (или совсем никак) описанные в даташите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Varavkin 0 13 мая, 2020 Опубликовано 13 мая, 2020 · Жалоба В 26.03.2020 в 18:03, ksv198 сказал: Добрый день! Прошу прощения, не сразу отвечаю, может быть неактуально уже? Для Indirect регистров написал свои подпрограмки, если нужно выложу. Там довольно не очевидные вещи, плохо (или совсем никак) описанные в даташите. Добрый день! Очень актуально все еще. Если не сложно поделитесь своим опытом. Заранее благодарен Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ksv198 0 14 мая, 2020 Опубликовано 14 мая, 2020 · Жалоба 22 hours ago, Varavkin said: Добрый день! Очень актуально все еще. Если не сложно поделитесь своим опытом. Заранее благодарен Добрый день! В аттаче файлы с функциями доступа к регистрам по SPI. У меня управляющий контроллер STM32F051, инициализация модуля SPI для него, при тактовой частоте 25 МГц. Удачи! KSZ9897_MMD.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Varavkin 0 14 мая, 2020 Опубликовано 14 мая, 2020 · Жалоба 1 час назад, ksv198 сказал: Добрый день! В аттаче файлы с функциями доступа к регистрам по SPI. У меня управляющий контроллер STM32F051, инициализация модуля SPI для него, при тактовой частоте 25 МГц. Удачи! KSZ9897_MMD.zip Огромное Вам спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться