|
Выбор микросхемы для Ethernet, Только PHY или полный. |
|
|
|
Oct 22 2014, 05:12
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-03-09
Пользователь №: 45 908

|
Добрый день!
Требуется подобрать элементную базу для устройства, которое должно передавать измеренные данные в Интернет. Имеем опыт разработки и программирования устройств на микроконтроллерах. В качестве микроконтроллера будет использоваться STM32F407VGT6.
Совершенно не знакомы с темой Ethernet, TCP/IP и т.п.Посоветуйте, что применить в качестве контроллера Ethernet. Какие есть варианты, какие плюсы и минусы?
Почему в некоторых случаях используется микросхема, реализующая только физическое преобразование (PHY) (например LAN8720), а все остальное делает сам микроконтроллер (программный стек протоколов), а в других случаях используется полный контроллер со встроенным аппаратным стеком протоколов (например W5200 или W5500)?
Какой разъем порекомендуете для RJ45? (их тоже очень много).
Прошу прощения, если какие-то термины использую неправильно. Заранее благодарен за любые ответы и советы.
|
|
|
|
|
Oct 22 2014, 05:34
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Если брать езернет на уровне ТСР, то получается так провод идет в физику, физика идет в мак, мак идет в ТСР стэк, стэк идет в вашу программу. физика отдельная потому что может быть провод, может быть оптика и так далее. дальше нужен мак контроллер, потому что в Ethernet обмене в сети будет куча пакетов адресованных не только вам. Их еще на уровне мак адреса может отфильтровать МАК контроллер, так же он берет на себя вопросы арбитража и уладки коллизий. Его тоже хорошо бы иметь на железном уровне дальше ТСР стэк - вот тут начинаются нюансы. Задачи стэка весьма обширны, алгоритмы поведения не строго детерменированы, то есть в одних случаях нужен 1 сокет подключения, а кому то надо 3. Кому то важно UDP кому то ТСР, кто-то может позволить себе оконный режим, а кто-то должен гнать риалтайм. Потому многие предпочитают ТСР программный, который в случае чего можно подправить, добавить режимов, реакций. Вплоть до того что какие-то пакеты отбрасывать сразу без доп обработки и прочее... С другой стороны крутить стэк тоже нужно какие-то ресурсы, и если контроллер слабенький то может не справиться. Иногда люди не хотят связывать с чужими програмными реализациями, а писать свою очень долго и не благодарно. Иногда боятся не разобраться. Иногда в процессоре нет мак контроллера, и потом просто нет выхода и приходиться ставить внешний комплект. Проблемы внешнего стэка w5500 очевидны, любые допущенные ошибки останутся навсегда, вы их не сможете изменить. А в чипе ошибки есть. То он таблицу АРП запросов не обновляет, то не так реагирует. Потому опять же функционал тот что есть, сокетов столько сколько есть, и больше их не станет. И сокеты такие какие есть. Так что решать вам  по мне наименьшее количество сюрпризов в системе контроллер с мак на борту, потом физика, и программный ТСР
|
|
|
|
|
Oct 22 2014, 05:54
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(RinatUfa @ Oct 22 2014, 09:12)  Почему в некоторых случаях используется микросхема, реализующая только физическое преобразование (PHY) (например LAN8720), а все остальное делает сам микроконтроллер (программный стек протоколов), а в других случаях используется полный контроллер со встроенным аппаратным стеком протоколов (например W5200 или W5500)? PHY используется тогда (и только тогда), когда MAC имеется на борту у процессора. Иначе, если MAC там нет, то становишься перед выбором, поставить внешний MAC+PHY, или применить внешний чип сразу со встроенным стеком. Вот, собственно, и первый критерий выбора. Дальше выбор между MAC+PHY и чипом со стеком, как правило, обуславливается производительностью, требуемой по Ethernet (чипы со стеком не особо шустры и имеют ограниченное кол-во сокетов), а также производительностью примененного процессора (ее может не хватить на стек, и тогда прописано применение чипа со стеком однозначно). Кстати, стек в Wiznet отнюдь не аппаратный, он тоже программный, там внутри процессор живет. Был бы аппаратный, был бы шустрее на порядок.
|
|
|
|
|
Oct 22 2014, 06:25
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
QUOTE (RinatUfa @ Oct 22 2014, 09:12)  Какой разъем порекомендуете для RJ45? (их тоже очень много). ..если выберете продукцию wiznet-а то у них есть все исходники и рекомендации с разъёмами, трансформаторами и схемами. И в инете есть работающие примеры их использования, если у вас скромные запросы к ethernet-у то попробуйте их. По своему опыту скажу, что совершенно не разбираясь в сетях - на их изделии поднял TCP и UDP сокеты (использовал wiz820). Хотя для общего развития , наверное лучше использовать связку PHY - процессор с MAC (STM32 к примеру), а стек самописный.
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Oct 22 2014, 06:56
|
Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 7-04-10
Из: Пушкино
Пользователь №: 56 462

|
Цитата(vladec @ Oct 22 2014, 09:42)  Посмотрите ARMы от Texas-а у них есть такие, которые имеют PHY уже на борту, так что снаружи остается подключить только трансформатор. Пару лет назад у нас в фирме такой пробовали завести. Оказались очень глючные и быстро ту модель сняли с производства. Сейчас стало лучше? По теме всё несложно: 1) Приоритет скорость разработки - внешний визнет; 2) Приоритет цена - контроллер с маком + внешний фай + программный стек (благо их много, как и примеров); Разъем проще всего взять из рекомендуемых в даташите. Если доступны. Если партия маленькая - лучше первый вариант.
|
|
|
|
|
Oct 22 2014, 07:40
|

Знающий
   
Группа: Свой
Сообщений: 633
Регистрация: 21-05-10
Из: Томск
Пользователь №: 57 423

|
Контроллер STM32F407VGT6 имеет MAC, поэтому со стороны железа остается добавить микросхему физики (PHY), я использовал micrel, можете сами попробовать подобрать, какой чип вам подойдёт. Трансформатор и розетку (можете купить розетку со встроенным трансформатором и светодиодами) - их полным-полно. Со стороны софта потребуется TCP стек, например, я использовал LwIP - есть много примеров.
Сообщение отредактировал arhiv6 - Oct 22 2014, 07:41
--------------------
|
|
|
|
|
Oct 22 2014, 07:49
|
Группа: Новичок
Сообщений: 5
Регистрация: 10-03-09
Пользователь №: 45 908

|
Спасибо всем. Будем разбираться дальше. Если будут вопросы, будем спрашивать.
|
|
|
|
|
Oct 22 2014, 07:56
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(RinatUfa @ Oct 22 2014, 09:12)  В качестве микроконтроллера будет использоваться STM32F407VGT6.
Совершенно не знакомы с темой Ethernet, TCP/IP и т.п.Посоветуйте, что применить в качестве контроллера Ethernet. STM32F407VGT6 вполне годится в качестве контроллера Ethernet. Цитата(RinatUfa @ Oct 22 2014, 09:12)  Почему в некоторых случаях используется микросхема, реализующая только физическое преобразование (PHY) (например LAN8720), а все остальное делает сам микроконтроллер (программный стек протоколов), а в других случаях используется полный контроллер со встроенным аппаратным стеком протоколов (например W5200 или W5500)? Если на борту уже есть MAC, то достаточно добавить PHY. А если нет, то приходится ставить внешний контроллер. Контроллер со встроенным стеком хорош тем, что вам почти не придётся разбираться в новой для вас теме - почти всё уже есть внутри и гарантированно работает. Если время поджимает, то возможно, что это лучший для вас вариант. Цитата(RinatUfa @ Oct 22 2014, 09:12)  Какой разъем порекомендуете для RJ45? (их тоже очень много). В наши дни почти все PHY требуют трансформаторов 1:1, и почти все RJ45 со встроенными трансформаторами именно такие. К сожалению, нет доминирующего стандарта на размеры и цоколёвку этих разъёмов, поэтому могу только посоветовать выбрать что-то с приемлемой ценой и хорошей перспективой иметь возможность покупать на обозримое будущее, потому что замену, совпадающую по размерам, скорее всего найти не удастся. Кстати, цена должна быть 1-2$.
|
|
|
|
|
Oct 22 2014, 16:33
|
Группа: Участник
Сообщений: 10
Регистрация: 3-09-09
Из: Санкт-Петербург
Пользователь №: 52 175

|
Если в общем, то 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Вобщем спектр решений ограничивается только фантазией )
|
|
|
|
|
Oct 22 2014, 20:15
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Andy-spb @ Oct 22 2014, 20:33)  Если в общем, то PHY контроллеры еще с разными интерфейсами бывают - RMI, MII, параллельная шина, SPI, USB.. Не бывает PHY с интерфейсами SPI, USB, параллельная шина, так как это противоречит законам природы и здравому смыслу. Не надо вводить людей в заблуждение.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|