Jump to content

    
Sign in to follow this  
Eminem

stm32f4 + ks8721 (проблемы)

Recommended Posts

Соединил STM32F4 c PHY KS8721 по RMII. Залил свой код. После выставления в BCR бита AutonegatiationEnable в BSR поднимается бит - AutonegatiationComplete. Но в регистре 0x1F скорость не определена - в битах отвечающих за скорость 000 - по DS означает что скорость еще не определена. Светодиоды Link и Transfer мигают при этом оба.

Куда дальше двигаться?

 

Share this post


Link to post
Share on other sites

Эту не запускал. Запускал много других. Написал свой супер драйвер, который работает практически с чем угодно. Вернее выбросил все из кейловского. Поскольку по дефаулту в rm2 вся физика сама как надо настраивается, то собственно ей ничего и не надо. Посмотрел я доку на вашу физику. Вообщем все то же самое. 50мгц генератор+21 нога при включении в 1 должна быть Физика сама должна настроится в rmii. Собственно ничего туда пихать и не надо. Попробуйте выбросить все связанные с ней настройки - наверняка заработает.

Share this post


Link to post
Share on other sites

Подключил ее я вроде правильно, кварц 50MHz, адрес физики 0x01 выбран при рестарте, 21 нога в "1" (RMII). Правда есть разночтение в DS насчет 46 ноги, толи подключать ее к +3V3 или к VDPLL (2,5V). На всякий случай приложил схему. Может кто работал с ней сравнит ее со своей схемой.

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

post-70236-1392130110_thumb.png

Edited by Eminem

Share this post


Link to post
Share on other sites
Соединил STM32F4 c PHY KS8721 по RMII.

8721 - это очень, очень старая микросхема... Почему же не взяли более новую? И на сайте Микрела ведь выложены примеры...

 

Share this post


Link to post
Share on other sites

Ok. Завтра попробую использовать стек от Keil. Может так произойдет понимание где ошибка у меня.

Физика конечно не новая, наверно 2006 год. Но в корпусах LQFP с поддержкой RMII только эта. Есть еще DP3xxxx, то на чем сделана плата расширения для Discavery и все примеры от ST под них написаны, но она дороже в два раза этой. Почему дороже я правда не разбирался, но не думаю что там функционал лучше.

 

 

 

Share this post


Link to post
Share on other sites

Недавно DP... была дорогая. Сейчас все наоборот.

Вот смотрю в www.compel.ru KS8721=4$, а DP83848 есть за 4$, за 3,3$ и 1,8$.

К стате тот драйвер ETH, что я выложил и с DP83848 работает и с LAN8720.

Правда адрес для DP83848 там надо поставить 0x01, а вот для LAN8720 щас уже не помню :)

 

 

 

Share this post


Link to post
Share on other sites

Все же как-то не просто у TI в этом вопросе: в LQFP DP83848 коммерческий вариант 4$, в индустриальном 5$, а если QFN корпус - тогда индустриальный за 3$. Старая KS8721 соответственно - 2$ и 4$. Цены приближено конечно.

Share this post


Link to post
Share on other sites
Все же как-то не просто у TI в этом вопросе: в LQFP DP83848 коммерческий вариант 4$, в индустриальном 5$, а если QFN корпус - тогда индустриальный за 3$. Старая KS8721 соответственно - 2$ и 4$. Цены приближено конечно.

А вот то, что для более новых микреловских микросхем не нужны согласующие резисторы? Да и есть понятие "срок жизни"... Да и цена раза в 2 ниже, это как?

 

Share this post


Link to post
Share on other sites
А вот то, что для более новых микреловских микросхем не нужны согласующие резисторы? Да и есть понятие "срок жизни"... Да и цена раза в 2 ниже, это как?

 

Вы правы, Иосиф. Посмотрел я что предлагает Micrel сейчас. Например KSZ8021/31 без согласующих резисторов, только RMII, 50MHz кварцем 25MHz получить можно, и цена примерно в два раза ниже - мне бы подошло. Корпус правда волной не паябельный. После прототипа платы я подумаю поставить что нибудь из них.

 

 

Share this post


Link to post
Share on other sites

Тоже работал с несколькими типами PHY, правда работал с ПЛИСками (но это не важно от куда управлять), и, действительно, все настройки сводились только на настройку драйверов своих кристаллов (ПЛИС).

Share this post


Link to post
Share on other sites
Ну раз физика мигает, значит работает. Где то не стыковочка есть. Вот попробуйте фалики может поможет.
Спасибо vlad_new. Не стыковка действительно была, только в железе, точнее казус - резистор на плате который отвечает за напряжение 2,5V был не припаян с одной стороны (это один из 1% висящих на 37 ноге). В результате чего напряжение VDPLL плавало, и я почему-то решил что аккамулятор сел на мультиметре. В общем даже при моем 100% зрении паять мелочь 0603 - может привести к потере времени.

Стек от Keil я правда так и не попробывал, на тот момент я был твердо уверен, что проблемы в моем железе. Ну к тому же меня больше интересуют открытые исходники, но зато я разобрался в настройке дескрипторов ETH STM32 и перелопатил все касаемо физики.

 

Еще я могу выложить здесь тест проект под Keil 5.0 с HTTP сервером (uIP) - это для проверки вашего железа, что бы никто не терял время как я, если вдруг задумает использовать старую физику типа KS8721. В общем для нубов типа меня.. Просто там надо пару пояснений написать, а времени жалко - если никто не спросит, то я и не буду заморачиваться.

 

 

 

Тоже работал с несколькими типами PHY, правда работал с ПЛИСками (но это не важно от куда управлять), и, действительно, все настройки сводились только на настройку драйверов своих кристаллов (ПЛИС).

 

Подождите, но ведь скорость и режим (Half, Full Dupleks) MAC по любому нужно согласовывать с физикой, даже если он реализован на ПЛИС. Ведь правильно? Или нет?

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this