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

Выбор PHY Ethernet для устройства на STM32F4

интересно, зачем в отладочной плате STM3240G-EVAL этот контакт выведен к phy..

Вам, должно быть, показалось.

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


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

Вам, должно быть, показалось.

PB5 CAN2_RX / ETHER_PPS_OUT / ULPI_D7

это из мануала на плату (стр 43)

 

из исходников примера lwIp

/* Ethernet pins configuration ************************************************/
   /*
        ETH_MDIO -------------------------> PA2
        ETH_MDC --------------------------> PC1
        ETH_PPS_OUT ----------------------> PB5
        ETH_MII_CRS ----------------------> PH2
        ETH_MII_COL ----------------------> PH3
        ETH_MII_RX_ER --------------------> PI10
        ETH_MII_RXD2 ---------------------> PH6
        ETH_MII_RXD3 ---------------------> PH7
        ETH_MII_TX_CLK -------------------> PC3
        ETH_MII_TXD2 ---------------------> PC2
        ETH_MII_TXD3 ---------------------> PB8
        ETH_MII_RX_CLK/ETH_RMII_REF_CLK---> PA1
        ETH_MII_RX_DV/ETH_RMII_CRS_DV ----> PA7
        ETH_MII_RXD0/ETH_RMII_RXD0 -------> PC4
        ETH_MII_RXD1/ETH_RMII_RXD1 -------> PC5
        ETH_MII_TX_EN/ETH_RMII_TX_EN -----> PG11
        ETH_MII_TXD0/ETH_RMII_TXD0 -------> PG13
        ETH_MII_TXD1/ETH_RMII_TXD1 -------> PG14
                                                  */

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


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

PB5 CAN2_RX / ETHER_PPS_OUT / ULPI_D7

это из мануала на плату (стр 43)

Ну да, только PPS_OUT не соединяется с PHY.

 

из исходников примера lwIp

Этот сигнал выводится из Ethernet MAC, так что ничего удивительного.

 

Не понимаю, о чём мы спорим? Как я уже говорил, этот сигнал не имеет к PHY никакого отношения. В руководстве написано, зачем он нужен:

 

This PTP pulse output is used to check the synchronization between all nodes in the network. To be able to test the difference between the local slave clock and the master reference clock, both clocks were given a pulse-per-second (PPS) output signal that may be connected to an oscilloscope if necessary. The deviation between the two signals can therefore be measured.

То есть этот сигнал просто позволяет проверить точность синхронизации часов у двух МК при помощи осциллографа. Соответственно, он выведен на тестовый контакт, если я правильно понимаю схему.

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


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

Ну да, только PPS_OUT не соединяется с PHY.

 

 

Этот сигнал выводится из Ethernet MAC, так что ничего удивительного.

 

Не понимаю, о чём мы спорим? Как я уже говорил, этот сигнал не имеет к PHY никакого отношения. В руководстве написано, зачем он нужен:

 

 

То есть этот сигнал просто позволяет проверить точность синхронизации часов у двух МК при помощи осциллографа. Соответственно, он выведен на тестовый контакт, если я правильно понимаю схему.

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

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


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

Теоретически RMII может сильнее шуметь (важно для тех, у кого ограничения по ЭМС), но это ещё посмотреть надо. Кстати, MII на скорости 10M имеет тактовую 2,5 МГц, и там можно резисторами сильно завалить фронты, чтобы совсем не шумело. В случае с RMII такой возможности нет.

ADC при работе в MII шумит где то на 50 бит, а в RMII на 80 (для F2xx и F4xx). Шумы внутринние. Неважно подключен модем езернета или нет. На слух это белый шум, так что отфильтровать не удасться (в звуковом диапазоне). Использование MCO вывода добавит шумов еще на 20-40 бит.

По надежности Реалтек хуже всех. При зависании аппаратный вывод резета не помогает (только полное выкл. питания). Конечно ревизий всяких много, так что это конкретно мой экземпляр. Брал в терре. Ланки оказались ну очень чувствительны к внешним помехам (микрочиповские), однако не требуют настройки и легко лапкой резета перезапускаются (100 мкс. импульс) и более ничего делать ненадо. (Странно, но почему то они еще и самые шустрые в режими Full speed). Депешка оказалась надежней всех и с аппаратном резетом у нее все нормально. KSZ - не проверял, потому что дорогие они.

 

 

 

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


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

ADC при работе в MII шумит где то на 50 бит, а в RMII на 80 (для F2xx и F4xx). Шумы внутринние. Неважно подключен модем езернета или нет. На слух это белый шум, так что отфильтровать не удасться (в звуковом диапазоне). Использование MCO вывода добавит шумов еще на 20-40 бит.

Цифры какие-то невероятные. Наверняка это всё зависит и от платы, и от обвески, и от источника измеряемого сигнала, и от настроек АЦП. Впрочем, скоро у меня будет возможность посмотреть на деле...

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


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

Вроде бы пункт про несовместимость сигнала MCO с требованиями Ethernet в Errata на STM32F4 отсутствует (в отличие от STM32F2), значит можно в режиме RMII использовать проверенное решение от STM32F107 - тактировать REF_CLK частотой 50 МГц от MCO. Или я ошибаюсь?

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


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

На четвёрке дерганья фронтов нету как у двойки. Хотя, как не странно, всем перепробыванным мною модемам было наплевать на это дёрганье. Использовать лучше MCO2. У него больше возможностей. Что касается уровней шумов adc, так оно же даже в еррате написано. Типа не дергайте лапами в момент преобразования. Приобразуйте сразу 8 точек и усредняйте. и т.д. Ну все эти рекомендации скидывают шумы максимум на 20%. Если бы ETH можно было приостанавливать, тогда другое дело.

 

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


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

ADC при работе в MII шумит где то на 50 бит, а в RMII на 80 (для F2xx и F4xx). Шумы внутринние. Неважно подключен модем езернета или нет. На слух это белый шум, так что отфильтровать не удасться (в звуковом диапазоне). Использование MCO вывода добавит шумов еще на 20-40 бит...

Вы явно опечатались, в F2xx и F4xx разрядность всего 12 бит, а не 20-40 и тем более 50. Возможно, Вы имели в виду единицы, т.е. динамику изменений значений АЦП, а это будет 4-5 бит для Ваших значений. Но даже и 4-5 бит в виде шумов много. АЦП в F4xx так не шумят, это я Вам чётко могу сказать.

 

Вот пара наших устройств на F4.

http://qbit.su/example/GasAnalyzer/v3/gasa..._1_описание.jpg

http://qbit.su/example/riskom/contrF429/foto/IMG_3053.JPG

 

Первое на F407, второе на F429. В обоих задействованы АЦП. АЦП настроен на работу через DMA, размер буфера 64 выборок формата, unsigned short.

Наученный горьким опытом с шумами АЦП в F103 лично с пристрастием проверял работу АЦП в F4, пытаясь выяснить, влияет ли тактовая частота ядра и периферия на метрологию АЦП. Нет, влияния нет. Обе платы работают на частоте 168МГЦ, задействована периферия - MII, SPI, I2C, USAT, CAN, I/O. Тест. Платы в реальной работе. Измеряются DC сигналы по нескольким каналам и скидываются все измеренные массивы (по 64 выборки) на тестовую web страничку. Разность между min и max значениями не более 5 единиц. Но это специфика самих DC сигналов на платах. Ради интереса подавался на данные каналы АЦП внешний прецизионный DC сигнал. Значения с АЦП практически не менялись, т.е. разность между min и max = 0, в очень редких случаях разность была 1-2 единицы.

 

Рекомендации. Обратите внимание на ревизию Вашего чипа и почитайте errata на эту ревизию. Проверьте работу АЦП с DMA. Проверьте схемотехнику питания процессора и, главное, аналоговых цепей процессора. Для цепей питания использую много керамики + высокочастотные чип индуктивности (BLM18) для подавления ЭМП с импедансом 1k. Плюс, отдельный линейный стабилизатор для питания контроллера, не жоплюсь, использую LP2992. Если работаете с метрологией, то рекомендую этот LDO стабилизатор, либо что-то похожее, но обязательно с подавлением помех.

 

 

...По надежности Реалтек хуже всех. При зависании аппаратный вывод резета не помогает (только полное выкл. питания). Конечно ревизий всяких много, так что это конкретно мой экземпляр. Брал в терре...

Не согласен по поводу Realtek-а. В качестве Phy для бюджетных решений используем только RTL8201BL. Приведённые в качестве примера 2 платы выше как раз используют Phy rtl8201. Устройств выпущено у нас с этой физикой много, не готов сказать сколько, но порядок идет на сотни. Никаких зависаний Phy, нареканий и глюков при работе с Eth. На испытаниях по ЭМС так же всё в норме. Да, есть влияние при 2кВ и более помехе, но при снятии воздействия работа возобновляется.

Из плюсов 8201 - это, пожалуй, самый старый из выпускаемых на сегодняшний день драйверов eth. В силу своего возраста он лишён багов, чип производителем вылизан. Ещё плюс, это цена. Дешевле этой Phy нет.

Из минусов 8201 - это то, что работает только от 0 градусов.

К плюсам, но уже связки phy 8201 и f4, можно отнести удачную прокладку трасс на pcb с минимум переходных отверстий по 17 сигналам MII. Это даже плюс самого контроллера stm32 - многие сигналы физики можно ремаппить. При компоновке платы чип контроллера крутиться/вертиться, т.е. выбирается оптимальное расположение с учётом ремаппа.

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


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

Вы явно опечатались, в F2xx и F4xx разрядность всего 12 бит, а не 20-40 и тем более 50.

Вот ведь. Ни так сидиш, ни так свистиш, и паяльник у меня не в ту сторону загнут.

Первое на F407, второе на F429. В обоих задействованы АЦП. АЦП настроен на работу через DMA

Через DMA не проверял. Крутил по готовности в прерывании.

Наученный горьким опытом с шумами АЦП в F103 лично с пристрастием проверял работу АЦП в F4, пытаясь выяснить, влияет ли тактовая частота ядра и периферия на метрологию АЦП. Нет, влияния нет.

Ну тогда я ничего не понимаю. У меня влияние есть, и не у меня одного, и в ANах на ADC в ST то же написано что есть и посвещена здоровая статья как с этим боротся.

Рекомендации. Обратите внимание на ревизию Вашего чипа и почитайте errata на эту ревизию. Проверьте работу АЦП с DMA. Проверьте схемотехнику питания процессора и, главное, аналоговых цепей процессора.

Даже если Вы через DMA гоните, то сам по себе процесс преобразования никак с DMA не связан.

Не думаю, что это связано как то с ревизией камня (сейчас у меня Z), потому как на STM32F207 все то же самое. Может Вы все же смотрели шумы ADC с отключенным ETH?

Для цепей питания использую много керамики + высокочастотные чип индуктивности (BLM18) для подавления ЭМП с импедансом 1k. Плюс, отдельный линейный стабилизатор для питания контроллера, не жоплюсь, использую LP2992. Если работаете с метрологией, то рекомендую этот LDO стабилизатор, либо что-то похожее, но обязательно с подавлением помех.

Уже все перепробывали. Даже от батарейки запитывали.

Что касаемо остальных рекомендаций. Спасибо конечно, правда замечу, что те кто уже веб сервера во всю клипает вряд ли первый раз в жызни разводил печатную плату. :)

Не согласен по поводу Realtek-а. В качестве Phy для бюджетных решений используем только RTL8201BL.

Ну так я и писал, что зависит от ревизии (или от поставщика). У меня друг то же ею не нарадуется. Я из терровской демо платы выпаивал реалтек - то же все нормалек было. А потом в той же терре купил RTL8201CP C5K08H1 LC30D TAIWAN - сбоит. Брал в компеле другую какую то партию - то же сбоят и не сбрасываются. Сразу вспомнил народ который то же предупреждал про каверзность реалтека, а я не послушал ( цена больно сладкая была). Теперь переразвел на депешку и вот теперь действительно проблемм нету.

 

PS: Я обязаиельно проверяю на ЭМП - во там то все оно и вылезает. А так то оно и у меня всё работает.

 

 

 

 

 

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


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

Ну тогда я ничего не понимаю. У меня влияние есть, и не у меня одного, и в ANах на ADC в ST то же написано что есть и посвещена здоровая статья как с этим боротся.

Вот дошли руки - проверил АЦП с включенным RMII. Абсолютно никаких шумов не обнаружено, разброс max-min==1. Так что видимо вы что-то делаете не так.

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


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

...Может Вы все же смотрели шумы ADC с отключенным ETH?...

Ведь написал же выше как происходили измерения. Результаты снимались с web-страницы, это подразумевает, что MII работает.

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


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

Ну если уже двое утверждают, что ADC не шумит, да еще и с рабочим ETH, то предется еще пошаманить. Хотя все равно не пнимаю, как DMA может повлиять на момент преобразования.

 

 

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


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

Подключил DMA, как и следовало ожидать ничего не изменилось. Шумы 3-4 единицы без ETH, а с подключенным ETH достигают 90 единиц. Камень STM32F407 ревизия Z, модем lan8720 в режиме RMII. Индуктивности стоят. Конденсаторы то же НПОшные. Питание пробовал даже от батарейки. На депешке в режиме MII шумы около 30 ед. На реалтеке чуть меньше. Пообщался ещё с другим разработчиком (он то же чего то на реалтеке делал) - так у него то же шумы под 40 ед. Так что вот не знаю почему такие расхождения.

 

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


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

Так что вот не знаю почему такие расхождения.

Такие шумы должны быть хорошо видны на осциллографе: 90 единиц - это 70 мВ. Потыкайте щупом в разные места, всё должно быстро проясниться.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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