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

Я тут нашел еще одну аппликуху, судя по ней можно попроще все сделать. На передатчике резисторы обязательно, а на приемнике можно в первом приближении не ставить вообще или поставить 100 ом между линиями. Похоже, что 8895 (это не опечатка? не 8995?) имеет существенно другую внутреннюю схемотехнику.

В разводке, если я правильно понял, земляные и питательные слои не показаны. Там еще по разводке вопрос, где соединены земли? Правильно их соединять под кристаллом в одной точке. В крайнем случае - сделать одну общую землю. Нельзя соединять вдали от кристалла.

 

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


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

Alex11, да, питательные слои не показаны, ибо pdf генерируется автоматически только для top и bottom. Если очень нужны, могу их тоже выложить.

Земли у меня две - аналоговая и цифровая, и соединены они в одной точке через резистор-перемычку. Только не под кристаллом, а в районе источника питания. В микрельском аппноте AN 111.10-100.General PCB Design and Layout Guidelines.pdf не нашёл специальных требований по местоположению точки соединения земель. Но сейчас, при переделке платы, я постараюсь учесть Ваше соображение, ровно как и многие другие (спасибо Вам большое!).

Похоже, дело, действительно, в моей безграмотности или невнимательности - попробовал подать смещение на один канал RX-TX, как Вы сказали и как указано в аппноте AN-120 Capacitive Coupling for Ethernet Transceiver.pdf, на нём ноутбук стал определяться раз пять из шести при отключении-включении питания. Думаю, если доработать схему и переделать разводку, должно стать лучше.

Тяжело, всё-таки, быть первопроходцем в своей фирме. Ни посоветоваться ни с кем, ни поучиться, кроме как на своих ошибках. Ума не приложу, сколько бы сидел ещё со своими проблемами, если бы не Electronix.ru!

 

Когда переделаю и проверю, обязательно постараюсь отписаться.

 

Спасибище!

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


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

Тяжело, всё-таки, быть первопроходцем в своей фирме. Ни посоветоваться ни с кем, ни поучиться, кроме как на своих ошибках. Ума не приложу, сколько бы сидел ещё со своими проблемами, если бы не Electronix.ru!

Давным давно статьи по материалам этих аппликух мной напечатаны и у меня на сайе выложены...

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

Мало того, можно было договориться и приехать в представительство Элтеха и живьем этот набор посмотреть... Или даже если сильно договориться, то на пару дней под расписку взять...

Когда я занимался техподдержкой микрела, ребята мне просто присылали куски схемы на проверку... А потом писали на форуме, что "заработало сразу"...

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

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


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

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

Кстати говоря, я именно с Элтеха брал статьи по применению Ethernet, особенно использовал ту, где тов. А. Лебедев расписывал про построение 16-портового коммутатора на двух микрелах KS8999. Правда, статья охватывает, в основном, только интерфейс MII.

Вы, Иосиф Григорьевич, видимо, не совсем правильно поняли моё выражение "быть первопроходцем". Я не имел в виду, что изобретаю велосипед самостоятельно, не принимая во внимание опыт других товарищей. Напротив, я стараюсь пользоваться опытом других, насколько им позволяет свободное время на меня потратить. Вот только толку от "живьем этот набор посмотреть" и от "статьи по материалам этих аппликух мной напечатаны и у меня на сайе выложены" мало, если ты один на своей фирме этим занимаешься, и не с кем посоветоваться.

Насчёт "Когда я занимался техподдержкой микрела" - вот тогда, наверное, было хорошо. По крайней мере я встречал на разных форумах восторженные отзывы от поддержки Микрела, что они, мол, помогают, рассказывают и чуть ли не всё за тебя делают. Наверное, это про Вас речь шла. А нынче, Вы, наверное, в курсе, что как Микрел в своё время купил Кендин, так и его самого теперь Микрочип опекает, и от их техподдержки теперь ничего нет, ноль. Я им писал, как раз прикладывал схему, разводку. Но им, думаю, теперь интересны заказчики, которые всё знают, покупают их микросхемы десятками тысяч штук и обеспечивают им безбедное существование.

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

ks8999_gerbers.png

Понять на них я ни черта не могу. Видимо, тоже мне лень мешает :(

 

В любом случае, спасибо Вам за комментарий! Буду дальше штудировать аппноты и учиться читать между строк.

 

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


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

Согласен с Вами, Иосиф Григорьевич, что со стороны может показаться это банальной ленью. ...

 

В любом случае, спасибо Вам за комментарий! Буду дальше штудировать аппноты и учиться читать между строк.

Я ни в коем случае не хотел Вас обидеть. Но все же поискать-то стоило... А то ведь я статьи писал, старался... :)

Давайте сделаем так.

Если у Вас микреловские герберы открываются плохо, то напишите в Элтех и приложите картинку.

Попросите их открыть эти герберы. Но они скорее всего это не смогут сделать. А потому попросите их, чтобы они написали в европейскую техподдержку и чтобы там ребята открыли файлы, конвертнули их в "картинки" и прислали Вам. Только укажите, какая у Вас версия софта и попросите их сообщить, какая у них...

или может тут на форуме кто-то сможет... Или кто у Вас на фирме...

А если совсем "по-взрослому", то попросите, может быть Элтеховцы дадут Вам контакты того, кто уже покупает эти микросхемы в больших количествах. И чтобы у них попросить чертеж фрагмента платы. Всю думаю никто не даст...

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

Ну и уж сфотографировать его очень крупным планом - совсем не проблема....

 

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


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

Герберы открываются правильно, если поставить формат 2.4 English и ввести таблицу апертур из файлов .rep в формате pads3

 

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


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

Уважаемый Alex11, вот, как открываются герберы в формате 2.4 English

 

English_2_4.png

 

В метрической хотя бы как-то открылось. Видимо, драйвер hands.sys кривой :)

 

Вопрос есть по Вашим рекомендациям: "Между линиями RX резистор 100 Ом, плюс от каждой линии RX 1к в 2 В и 3к в землю" - не нашёл нигде, чтобы каждый RX "растягивать" между 2 В и землёй дополнительно к "растяжке" 50-омными резисторами. Не могли бы Вы пояснить, что этим мы стараемся достигнуть?

 

Иосиф Григорьевич, отправил длинную депешу в Элтех, сижу, жду второй день ответа.

 

Вопрос ещё есть по интерфейсу MII - в Reference Schematics на линиях MRXD[0..3] и MTXD[0..3] есть только последовательные резисторы 50 Ом, никакой защиты не нашёл. В статьях никаких специальных требований не предусматривается, а ведь скорость передачи данных 25 МБит/с (как я понимаю), и чувствую, что надо как-то разводить по-хитрому этот интерфейс, и рекомендаций найти не могу. Надо ли как-то терминировать линии данных?

 

Извините, если вопросы дилетантские.

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


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

Иосиф Григорьевич, отправил длинную депешу в Элтех, сижу, жду второй день ответа.

 

Вопрос ещё есть по интерфейсу MII - в Reference Schematics на линиях MRXD[0..3] и MTXD[0..3] есть только последовательные резисторы 50 Ом, никакой защиты не нашёл. В статьях никаких специальных требований не предусматривается, а ведь скорость передачи данных 25 МБит/с (как я понимаю), и чувствую, что надо как-то разводить по-хитрому этот интерфейс, и рекомендаций найти не могу. Надо ли как-то терминировать линии данных?

 

Извините, если вопросы дилетантские.

Если хотите, можем говорить по скайпу, что знаю, расскажу...

 

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


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

вот, как открываются герберы в формате 2.4 English

Не знаю, как Altium открывает гербера, я пользовался CAM350.

Я могу на выходных переформатировать все в 274-X формат, дальше все будет лучше.

MII не нужно терминировать. Максимум - в клоки резистор вдоль, да и то не обязатеьно.

 

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


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

Добрый день!

 

Результаты, в общем, такие: запаял переразведённую с учётом подтяжек плату, стал проверять - чехарда на разных каналах по-разному: на одном вроде как уровни в порядке - TX (1,5 +/- 0,4) В, по RX что-то тоже около того, соединение устанавливается на компьютере 100 МБит/с, на другом - уровни те же, а соединение уже на 10 МБит/с, часть каналов не смог вообще получить. Но при всём при том, даже с теми каналами, где есть соединение, попробовал пинги - не идут. Точнее, один пинг примерно на 100 неудачных появляется. Причём, иногда соединения по каналу нет, ткнёшь осциллографом посмотреть, и на тебе - связь появляется. Потом так же внезапно исчезает.

Было подозрение на то, что микросхема палёная, я её перепаивал при 350 градусах, подумал, что сжёг, перепаял другую - результат ещё хуже, соединение есть только по одному каналу, остальные мёртвые.

В связи с тем, что плата коммутатора с использованием KSZ8895 ведёт себя гораздо приличнее, решил переделать всю концепцию с использованием этой 5-канальной микросхемы, а про KSZ8999I забыть, как о страшном сне. "Элтех" вроде как говорит, что клиенты её берут, и вроде как даже она у них работает, но мне для того, чтобы применить её, надо ещё кучу времени угрохать на различные эксперименты, ибо своей разводкой и схемотехникой для этой микросхемы вряд ли кто поделится - коммерческая тайна, типа. А времени на самостоятельные экскременты у меня уже нет - надо выдавать готовый продукт, как говорится, самая быстрая дорога - та, которую ты знаешь.

 

Спасибо всем, кто помогал!

 

Антон.

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


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

Приветствую!

 

Сочинил плату коммутатора Ethernet на двух микросхемах KSZ8895, плата вставляется в объединительную плату, в которую, в свою очередь, вставляются платы с микроконтроллером STM32F407 каждая с Ethernet Phy, выполненной на базе KSZ8081RNA. Проблема теперь в том, что, если по очереди втыкать платы, то они по очереди и выходят на связь, и всё замечательно, друг друга видят, и основная процессорная плата на Linux их видит, пингует и всё прекрасно работает. Если же включить питание всей этой халабуды, когда в ней одновременно стоят хотя бы две из плат на KSZ8081, то одна из них обязательно не будет отвечать до тех пор, пока её не вытащишь и не вставишь обратно. Было подозрение, что при старте у них одинаковый MAC-адрес возникает, и из-за этого коммутатор KSZ8895 "сходит с ума" и настраивает обмен только с некоторыми из фишек, но программисты проверили - установили фиксированный MAC-адрес в KEIL среде (используется RTX Kernel от Keil), и всё равно эффект тот же самый.

 

Во вложении pdf-файл со схемой коммутатора на двух KSZ8895, а так же вырезка из схемы обвязки фишки KSZ8081 в платах с STM32F407.

 

Инициализация идёт так (кусок рабочей программы):

 


u8 ip4_addr[NET_ADDR_IP4_LEN];
u8 mask[NET_ADDR_IP4_LEN];
u8 GW[NET_ADDR_IP4_LEN];
u8 mac_addr[NET_ADDR_ETH_LEN] ;
u8 my_mac_addr[NET_ADDR_ETH_LEN] ;

#if(RESPHI)
GPIO_InitTypeDef_Std GPIO_InitStructure;

ReadIP4(ip4_addr);
ReadMAC(mac_addr);
memcpy(net_eth0_config.MacAddr, mac_addr, 6);

//net_eth0_config

GPIO_InitStructure.GPIO_Pin =PIN_RESPHI ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOxx[PORT_RESPHI], &GPIO_InitStructure);

GPIO_ResetBits(GPIOxx[PORT_RESPHI], PIN_RESPHI);

GPIO_SetBits(GPIOxx[PORT_RESPHI], PIN_RESPHI);

osDelay(500);
#endif

HAL_NVIC_SetPriority(ETH_IRQn, NVICPriority,0);

net_initialize ();

netIF_GetOption (NET_IF_CLASS_ETH | 0, netIF_OptionMAC_Address , my_mac_addr, 6);


netIF_SetOption (NET_IF_CLASS_ETH | 0, netIF_OptionIP4_Address, ip4_addr, sizeof (ip4_addr));

netIF_SetOption (NET_IF_CLASS_ETH | 0, netIF_OptionMAC_Address, mac_addr, sizeof (mac_addr));


ReadMask(mask);
netIF_SetOption (NET_IF_CLASS_ETH | 0, netIF_OptionIP4_SubnetMask, mask, sizeof (mask));

ReadGateWay(GW);
netIF_SetOption (NET_IF_CLASS_ETH | 0, netIF_OptionIP4_DefaultGateway, GW, sizeof (GW));


 

Надеюсь на помощь, мозги уже неделю кипят от этой закавыки.

 

Антон.

_____________________________________.PDF

post-49269-1497870921_thumb.png

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


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

Вроде стало понятно, в чём дело: микросхемы KSZ8895 при переводе на процесс 0,11 um как-то испортили, и теперь они вплоть до ревизии А3 имеют такую "особенность", что при длинах до 2 м или более 20 м коммутатор ведёт себя совершенно отвратительно - в любой момент времени один из его каналов начинает истерически "моргать", и связь по каналу отваливается. Процедура обхода ситуации описана в соответствующей эррате (Эррата), но это годится, если коммутатор подключён к процессору по одному из интерфейсов. В моём случае это не вариант, к сожалению, "Элтех" предложил ждать появления микросхем с ревизией А4.

В общем, если кто столкнётся с такой же проблемой, имейте в виду, пожалуйста.

 

Антон.

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

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


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

Вроде стало понятно, в чём дело: микросхемы KSZ8895 при переводе на процесс 0,11 um как-то испортили, и теперь они вплоть до ревизии А3 имеют такую "особенность", что при длинах до 2 м или более 20 м коммутатор ведёт себя совершенно отвратительно - в любой момент времени один из его каналов начинает истерически "моргать", и связь по каналу отваливается. Процедура обхода ситуации описана в соответствующей эррате (Эррата), но это годится, если коммутатор подключён к процессору по одному из интерфейсов. В моём случае это не вариант, к сожалению, "Элтех" предложил ждать появления микросхем с ревизией А4.

В общем, если кто столкнётся с такой же проблемой, имейте в виду, пожалуйста.

Через подключение EEPROM не лечится разве? Я на эту багу тоже встал Тема, но у меня процессор есть для заливки фикса.

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

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


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

Доброго времени суток. Наступил на грабли с Micrel KSZ8999. Все делал (старался) по учебнику в итоге втыкаешь кабель - линк загорается и моргает как положено, второй втыкаешь аналогично , но данные не идут не пингуется ничего. Менял варианты загрузки CFGMODE изменений ноль, и что особо подозрительно на I2C тишина полная. куда идти не знаю. Запаяна уже вторая микросхема, первая вела себя также только у нее еще три порта физики молчали (ни пилотов ничего). Микросхемы с 2010 валялись на складе у нас, а когда выпущены пока не разбирался. Помогите советом куда рыть????

 

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


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

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

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

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

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

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

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

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

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

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