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

    

SMI протокол на VHDL

Есть такой протокол. Как бы его замутить на VHDL?

post-71075-1537256939_thumb.png

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


Ссылка на сообщение
Поделиться на другие сайты
Какая-то смесь USART и SPI.

И что тут сложного?

 

ну я не особо искушен в написании драйверов на VHDL. к тому же он более заковыристый чем USART или SPI. мне так каэтся.

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


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

Распишите алгоритм по шагам. Сразу получаете конечный автомат. Дальше только закодировать.

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


Ссылка на сообщение
Поделиться на другие сайты
Распишите алгоритм по шагам. Сразу получаете конечный автомат. Дальше только закодировать.

 

а может собрать все данные start+write+PHY address+reg address + data в один регистр и выдать наружу по клоку?

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


Ссылка на сообщение
Поделиться на другие сайты
а может собрать все данные start+write+PHY address+reg address + data в один регистр и выдать наружу по клоку?

 

Я бы так и делал :rolleyes:

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


Ссылка на сообщение
Поделиться на другие сайты
On 9/18/2018 at 11:16 AM, jenya7 said:

 

а может собрать все данные start+write+PHY address+reg address + data в один регистр и выдать наружу по клоку?

А читать как? Я очень рекомендую не только сделать запись, но и ЧТЕНИЕ всех регистров, чтобы раз в 5 секунд получать состояние всех регистров PHY.

Уверяю, вылезет куча проблем, которые можно будет устранить лишь видя состояние всех 32-х например регистров.

Так что не только пишем, но и читаем.

 

У Вас в статусе значится "Профессионал", значит не составит труда сделать такую элементарную схему :)

А я не профессионал, но на языке Verilog мог бы помочь ;) Какая у Вас PHY конкретно и как подключена?

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


Ссылка на сообщение
Поделиться на другие сайты
1 hour ago, AVR said:

А читать как? Я очень рекомендую не только сделать запись, но и ЧТЕНИЕ всех регистров, чтобы раз в 5 секунд получать состояние всех регистров PHY.

Уверяю, вылезет куча проблем, которые можно будет устранить лишь видя состояние всех 32-х например регистров.

Так что не только пишем, но и читаем.

 

У Вас в статусе значится "Профессионал", значит не составит труда сделать такую элементарную схему :)

А я не профессионал, но на языке Verilog мог бы помочь ;) Какая у Вас PHY конкретно и как подключена?

я покопался в старых проектах, писанных до меня и нашел модуль SMI. я его еще не тестировал, так что не могу сказать насколько он рабочий.

А что есть разница какой PHY? Протокол вроде универсальный. В данном случае я должен говорить с MARVELL Ethernet switch.

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


Ссылка на сообщение
Поделиться на другие сайты
19 minutes ago, jenya7 said:

я покопался в старых проектах, писанных до меня и нашел модуль SMI. я его еще не тестировал, так что не могу сказать насколько он рабочий.

А что есть разница какой PHY? Протокол вроде универсальный. В данном случае я должен говорить с MARVELL Ethernet switch.

Коллеги мне как-то сказали, что далеко не все регистры универсальны, и максимальная частота может быть разной. Протокол один, но всё же.

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


Ссылка на сообщение
Поделиться на другие сайты
On 10/17/2018 at 8:47 AM, jenya7 said:

я покопался в старых проектах, писанных до меня и нашел модуль SMI. я его еще не тестировал, так что не могу сказать насколько он рабочий.

А что есть разница какой PHY? Протокол вроде универсальный. В данном случае я должен говорить с MARVELL Ethernet switch.

Пример этого интерфейса есть на форуме, поищите в старых темах.
В принципе в нём нет никаких сложностей, сам поднимал для 88E6092, правда читать мне не надо было, а надо было подгрузить конфигурацию по включению питания.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти