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

Выбор микросхемы для Ethernet

Добрый день!

 

Требуется подобрать элементную базу для устройства, которое должно передавать измеренные данные

в Интернет.

Имеем опыт разработки и программирования устройств на микроконтроллерах.

В качестве микроконтроллера будет использоваться STM32F407VGT6.

 

Совершенно не знакомы с темой Ethernet, TCP/IP и т.п.Посоветуйте, что применить в качестве контроллера Ethernet.

Какие есть варианты, какие плюсы и минусы?

 

Почему в некоторых случаях используется микросхема, реализующая только физическое преобразование (PHY)

(например LAN8720), а все остальное делает сам микроконтроллер (программный стек протоколов),

а в других случаях используется полный контроллер со встроенным аппаратным стеком протоколов (например W5200 или W5500)?

 

Какой разъем порекомендуете для RJ45? (их тоже очень много).

 

Прошу прощения, если какие-то термины использую неправильно.

Заранее благодарен за любые ответы и советы.

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


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

Если брать езернет на уровне ТСР, то получается так

 

провод идет в физику, физика идет в мак, мак идет в ТСР стэк, стэк идет в вашу программу.

 

физика отдельная потому что может быть провод, может быть оптика и так далее.

дальше нужен мак контроллер, потому что в Ethernet обмене в сети будет куча пакетов адресованных не только вам. Их еще на уровне мак адреса может отфильтровать МАК контроллер, так же он берет на себя вопросы арбитража и уладки коллизий. Его тоже хорошо бы иметь на железном уровне

 

дальше ТСР стэк - вот тут начинаются нюансы. Задачи стэка весьма обширны, алгоритмы поведения не строго детерменированы, то есть в одних случаях нужен 1 сокет подключения, а кому то надо 3. Кому то важно UDP кому то ТСР, кто-то может позволить себе оконный режим, а кто-то должен гнать риалтайм.

Потому многие предпочитают ТСР программный, который в случае чего можно подправить, добавить режимов, реакций. Вплоть до того что какие-то пакеты отбрасывать сразу без доп обработки и прочее...

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

 

Проблемы внешнего стэка w5500 очевидны, любые допущенные ошибки останутся навсегда, вы их не сможете изменить. А в чипе ошибки есть. То он таблицу АРП запросов не обновляет, то не так реагирует. Потому опять же функционал тот что есть, сокетов столько сколько есть, и больше их не станет. И сокеты такие какие есть.

 

 

Так что решать вам:) по мне наименьшее количество сюрпризов в системе

контроллер с мак на борту, потом физика, и программный ТСР

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


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

Почему в некоторых случаях используется микросхема, реализующая только физическое преобразование (PHY)

(например LAN8720), а все остальное делает сам микроконтроллер (программный стек протоколов),

а в других случаях используется полный контроллер со встроенным аппаратным стеком протоколов (например W5200 или W5500)?

PHY используется тогда (и только тогда), когда MAC имеется на борту у процессора. Иначе, если MAC там нет, то становишься перед выбором, поставить внешний MAC+PHY, или применить внешний чип сразу со встроенным стеком. Вот, собственно, и первый критерий выбора. Дальше выбор между MAC+PHY и чипом со стеком, как правило, обуславливается производительностью, требуемой по Ethernet (чипы со стеком не особо шустры и имеют ограниченное кол-во сокетов), а также производительностью примененного процессора (ее может не хватить на стек, и тогда прописано применение чипа со стеком однозначно).

Кстати, стек в Wiznet отнюдь не аппаратный, он тоже программный, там внутри процессор живет. Был бы аппаратный, был бы шустрее на порядок.

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


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

Какой разъем порекомендуете для RJ45? (их тоже очень много).

..если выберете продукцию wiznet-а то у них есть все исходники и рекомендации с разъёмами, трансформаторами и схемами.

И в инете есть работающие примеры их использования, если у вас скромные запросы к ethernet-у то попробуйте их. По своему опыту скажу, что совершенно не разбираясь в сетях - на их изделии поднял TCP и UDP сокеты (использовал wiz820).

 

Хотя для общего развития , наверное лучше использовать связку PHY - процессор с MAC (STM32 к примеру), а стек самописный.

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


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

[quote name='RinatUfa' date='Oct 22 2014, 09:12' post='1286748'

Какой разъем порекомендуете для RJ45? (их тоже очень много).

 

Они почти все стандартные. Используем HR871113C. С трансформатором.

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


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

Посмотрите ARMы от Texas-а у них есть такие, которые имеют PHY уже на борту, так что снаружи остается подключить только трансформатор.

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


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

Посмотрите ARMы от Texas-а у них есть такие, которые имеют PHY уже на борту, так что снаружи остается подключить только трансформатор.

Пару лет назад у нас в фирме такой пробовали завести. Оказались очень глючные и быстро ту модель сняли с производства. Сейчас стало лучше?

 

По теме всё несложно:

1) Приоритет скорость разработки - внешний визнет;

2) Приоритет цена - контроллер с маком + внешний фай + программный стек (благо их много, как и примеров);

Разъем проще всего взять из рекомендуемых в даташите. Если доступны.

 

Если партия маленькая - лучше первый вариант.

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


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

Какой разъем порекомендуете для RJ45? (их тоже очень много).
Если вопрос о разъеме со встроенным трансформатором, то смотрите, какой рекомендован к вашему PHY и ищите аналоги. Они отличаются соотношением витков в обмотках и схемами коммутации обмоток. Насколько я понял - так сделано для работы с различными схемами выходных каскадов PHY.

 

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


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

Контроллер STM32F407VGT6 имеет MAC, поэтому со стороны железа остается добавить микросхему физики (PHY), я использовал micrel, можете сами попробовать подобрать, какой чип вам подойдёт. Трансформатор и розетку (можете купить розетку со встроенным трансформатором и светодиодами) - их полным-полно. Со стороны софта потребуется TCP стек, например, я использовал LwIP - есть много примеров.

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

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


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

Спасибо всем. Будем разбираться дальше. Если будут вопросы, будем спрашивать.

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


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

В качестве микроконтроллера будет использоваться STM32F407VGT6.

 

Совершенно не знакомы с темой Ethernet, TCP/IP и т.п.Посоветуйте, что применить в качестве контроллера Ethernet.

STM32F407VGT6 вполне годится в качестве контроллера Ethernet.

 

Почему в некоторых случаях используется микросхема, реализующая только физическое преобразование (PHY) (например LAN8720), а все остальное делает сам микроконтроллер (программный стек протоколов), а в других случаях используется полный контроллер со встроенным аппаратным стеком протоколов (например W5200 или W5500)?

Если на борту уже есть MAC, то достаточно добавить PHY. А если нет, то приходится ставить внешний контроллер. Контроллер со встроенным стеком хорош тем, что вам почти не придётся разбираться в новой для вас теме - почти всё уже есть внутри и гарантированно работает. Если время поджимает, то возможно, что это лучший для вас вариант.

 

Какой разъем порекомендуете для RJ45? (их тоже очень много).

В наши дни почти все PHY требуют трансформаторов 1:1, и почти все RJ45 со встроенными трансформаторами именно такие. К сожалению, нет доминирующего стандарта на размеры и цоколёвку этих разъёмов, поэтому могу только посоветовать выбрать что-то с приемлемой ценой и хорошей перспективой иметь возможность покупать на обозримое будущее, потому что замену, совпадающую по размерам, скорее всего найти не удастся. Кстати, цена должна быть 1-2$.

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


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

Если в общем, то PHY контроллеры еще с разными интерфейсами бывают - RMI, MII, параллельная шина, SPI, USB..

Скорости тоже разные бывают, количество трансиверов внутри и пр.

Вот тут можно пошуршать: http://www.digikey.com/product-search/en?p...amp;pageSize=25

 

Что касается программной поддержки, я бы посоветовал LwIP.

 

Еще есть микроконтроллеры со встроенным PHY, что называется - просто добавь воды (разъем с трансформатором). Но они и подороже - серия Tiva (бывшая компания Luminary Micro).

http://www.ti.com/lsds/ti/microcontrollers...x/products.page

 

Вобщем спектр решений ограничивается только фантазией )

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


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

Если в общем, то PHY контроллеры еще с разными интерфейсами бывают - RMI, MII, параллельная шина, SPI, USB..

Не бывает PHY с интерфейсами SPI, USB, параллельная шина, так как это противоречит законам природы и здравому смыслу. Не надо вводить людей в заблуждение.

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


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

Не бывает PHY с интерфейсами SPI, USB, параллельная шина, так как это противоречит законам природы и здравому смыслу. Не надо вводить людей в заблуждение.

Я думаю - товарищ путает интерфейс данных Phy (MII/RMII) с интерфейсом управления, который может быть MDIO (как в Micrel) или бывает I2C/SPI и возможно какие-нить другие.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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