реклама на сайте
подробности

 
 
> KSZ9021RNI сбрасывает линк
BSACPLD
сообщение May 28 2014, 17:37
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Всем привет!

Подскажите в чём может быть проблема.
Раньше использовали 88E1111 и сними не было никаких проблем, за исключением того, что industrial есть только в BGA.
Решили попробовать KSZ9021 и всё перестало работать.
Как это выглядит:
1. Подаю сброс длительностью 20 мс.
2. Инициализирую следующим образом:
CODE

// soft-AVR для ПЛИС, sbr - установка бит, cbr - сброс бит
// PHY_ADDR1 - адрес PHY, PHY_ID = 0x0022
// rd_mdio_1 - чтение из MDIO, wr_mdio_1 - запись в MDIO

ldi temp, 0b00000011
out PHY_ADDR1, temp

ldi temp_2, 2
rcall rd_mdio_1
ldi temp, high(PHY_ID)
cpi temp_0, low(PHY_ID)
cpc temp_1, temp
breq phy_id_ok_1

ldi temp, 0b00000111
out PHY_ADDR1, temp

ldi temp_2, 2
rcall rd_mdio_1
ldi temp, high(PHY_ID)
cpi temp_0, low(PHY_ID)
cpc temp_1, temp
breq phy_id_ok_1

sbi PORTB, LED

phy_id_ok_1:
ldi temp_2, 0
rcall rd_mdio_1
sbr temp_0, low((1<<12) | (1<<8))
sbr temp_1, high((1<<12) | (1<<8))
cbr temp_0, low((1<<15) | (1<<14) | (1<<13) | (1<<11) | (1<<10) | (1<<9) | (1<<6))
cbr temp_1, high((1<<15) | (1<<14) | (1<<13) | (1<<11) | (1<<10) | (1<<9) | (1<<6))
ldi temp_2, 0
rcall wr_mdio_1

ldi temp_2, 4
rcall rd_mdio_1
sbr temp_0, low((1<<13) | (1<<10) | (1<<8) | (1<<6))
sbr temp_1, high((1<<13) | (1<<10) | (1<<8) | (1<<6))
cbr temp_0, low((1<<15) | (1<<11) | (1<<7) | (1<<5))
cbr temp_1, high((1<<15) | (1<<11) | (1<<7) | (1<<5))
ldi temp_2, 4
rcall wr_mdio_1

ldi temp_2, 5
rcall rd_mdio_1
sbr temp_0, low((1<<10))
sbr temp_1, high((1<<10))
cbr temp_0, low((1<<11))
cbr temp_1, high((1<<11))
ldi temp_2, 5
rcall wr_mdio_1

ldi temp_0, low((1<<9) | (1<<8))
ldi temp_1, high((1<<9) | (1<<8))
ldi temp_2, 9
rcall wr_mdio_1

ldi temp_2, 17
rcall rd_mdio_1
cbr temp_0, low((1<<8)| (1<<3))
cbr temp_1, high((1<<8)| (1<<3))
ldi temp_2, 17
rcall wr_mdio_1

ldi temp_2, 28
rcall rd_mdio_1
cbr temp_0, low((1<<7) | (1<<6) | (1<<0))
cbr temp_1, high((1<<7) | (1<<6) | (1<<0))
ldi temp_2, 28
rcall wr_mdio_1

ldi temp_2, 31
rcall rd_mdio_1
sbr temp_0, low((1<<1))
sbr temp_1, high((1<<1))
ldi temp_2, 31
rcall wr_mdio_1

ldi temp_0, low(0x8100)
ldi temp_1, high(0x8100)
ldi temp_2, 11
rcall wr_mdio_1

ldi temp_0, low((1<<8))
ldi temp_1, high((1<<8))
ldi temp_2, 12
rcall wr_mdio_1

ldi temp_0, low(0x8102)
ldi temp_1, high(0x8102)
ldi temp_2, 11
rcall wr_mdio_1

ldi temp_0, low((1<<15))
ldi temp_1, high((1<<15))
ldi temp_2, 12
rcall wr_mdio_1

ldi temp_0, low(0x8107)
ldi temp_1, high(0x8107)
ldi temp_2, 11
rcall wr_mdio_1

ldi temp_0, low((1<<15))
ldi temp_1, high((1<<15))
ldi temp_2, 12
rcall wr_mdio_1

ldi temp_2, 0
rcall rd_mdio_1
sbr temp_0, low((1<<15))
sbr temp_1, high((1<<15))
ldi temp_2, 0
rcall wr_mdio_1

rcall timer20ms

3. При подключении кабеля к хабу или компьютеру линк устанавливается на 1 секунду, а затем пропадает.
Процесс повторяется периодически.
Линк можно установить только если принудительно выставить 10 Мбит.
Если подключить к старой плате на 88EE1111, то начинает линковаться, но линк периодически пропадает примерно раз в 10 секунд.

Схема включения приведена в 9021.pdf
Первый вариант как на схеме.
Во втором я отпаял резисторы 49,9 Ом.
Третий вариант я сделал как в KSZ9021RN Socket Board Schematic rev1.0.pdf
Ни в одном из вариантов не заработало.
Пробовал перепаивать чипы - не помогло.
На двух платах одно и тоже.
Питание проверил: пульсации < 50 мВ.
Подскажите где косяк, а то уже мозги закипают wacko.gif wacko.gif wacko.gif wacko.gif

P.S. На всякий случай приложил рабочую схему на 88E1111.
P.P.S Разводка рабочей и нерабочей платы почти одинаковая.
Прикрепленные файлы
Прикрепленный файл  KSZ9021RN_Socket_Board_Schematic_rev1.0.pdf ( 101.69 килобайт ) Кол-во скачиваний: 69
Прикрепленный файл  9021.pdf ( 28.18 килобайт ) Кол-во скачиваний: 142
Прикрепленный файл  88E1111.pdf ( 33.67 килобайт ) Кол-во скачиваний: 80
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BSACPLD
сообщение May 28 2014, 18:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Скриншоты старой и новой платы приложил.
Не вижу ничего криминального - расстояние до трансформатора 5 мм.
Насчёт генератора - вполне возможно.
Вместо штатного ASFLMPC запаяли китайский неизвестного производства.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
b32b
сообщение May 29 2014, 19:37
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 14-01-10
Пользователь №: 54 821



Хорошо что заработало sm.gif

Цитата(BSACPLD @ May 29 2014, 02:34) *
Скриншоты старой и новой платы приложил.
Не вижу ничего криминального - расстояние до трансформатора 5 мм.
Насчёт генератора - вполне возможно.
Вместо штатного ASFLMPC запаяли китайский неизвестного производства.


Меня вот смутило следующее:
на мой взгляд мала ширина трасс к трасформатору, и что резисторы подключены через переходные отверстия с обратной стороны платы, возможно есть нарушение импеданса,- резисторы в 49,9 (1%) для его согласования и нужны. Где-то читал что все компоненты (от чипа к RJ45, или того что его заменяет) желательно размещать с одной стороны. С другой стороны небольшое растояние до транса должно устранять проблемы, но лучше посчитать.

И второе - под трансами нельзя располагать никаких трасс - даже земля на выходной части должна быть отрезана. Частично это нужно для изоляции выхода от схемы, и лучшей помехоустойчивости (Наверное вы знаете, но напомню - эзернет на выходе это аналоговая электроника , если что-то нарушается АЦП&DSP в RX может и не отстроиться.

PS Еще вот такой нюанс, возможно он также важен - иногда Micrel упоминают, что кварцы должны быть 3,3В толерансе.

Сообщение отредактировал b32b - May 29 2014, 19:39
Go to the top of the page
 
+Quote Post
BSACPLD
сообщение May 30 2014, 14:47
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Цитата(b32b @ May 30 2014, 03:47) *
Меня вот смутило следующее:
на мой взгляд мала ширина трасс к трасформатору, и что резисторы подключены через переходные отверстия с обратной стороны платы, возможно есть нарушение импеданса,- резисторы в 49,9 (1%) для его согласования и нужны. Где-то читал что все компоненты (от чипа к RJ45, или того что его заменяет) желательно размещать с одной стороны. С другой стороны небольшое растояние до транса должно устранять проблемы, но лучше посчитать.

Как оказалось, резисторы не нужны - в 9021 они уже встроены.
Также выяснилось, что средняя точка трансформатора в отличии от большинства стандартных PHY должна подключаться не к питанию, а к земле через конденсатор (как на схеме Micrel'овского кита).
Насчёт ширины трасс - Diff Z0 для 0,15/0,15 равно 105 Ом.
Я думаю, это не сильное рассогласование.

Цитата(b32b @ May 30 2014, 03:47) *
И второе - под трансами нельзя располагать никаких трасс - даже земля на выходной части должна быть отрезана. Частично это нужно для изоляции выхода от схемы, и лучшей помехоустойчивости (Наверное вы знаете, но напомню - эзернет на выходе это аналоговая электроника , если что-то нарушается АЦП&DSP в RX может и не отстроиться.

Красные дорожки отделены от трансформатора слоем земли.
Скорее всего сильных помех от них не должно быть.
Расстояние до развязанных дорожек и КП > 1,8 мм (вроде бы защитное расстояние для 2 кВ равно 1,6 мм).
Особо высоковольтная изоляция конкретно здесь не нужна - данный интерфейс исключительно внутриблочный.

Цитата(b32b @ May 30 2014, 03:47) *
PS Еще вот такой нюанс, возможно он также важен - иногда Micrel упоминают, что кварцы должны быть 3,3В толерансе.

Генератор был 3,3В HCMOS, вот только дрожание фронта было визуально видно на осциллографе.
Как только поставил нормальный генератор дрожание исчезло.

P.S. Раньше нарывался на плохие резонаторы в корпусе 0705 (вообще не запускались).
Теперь, похоже, нарвался на генераторы.
Буду теперь заставлять снабженцев покупать исключительно у БМГ ПЛЮС и Пьезотрона (не сочтите за рекламу).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- BSACPLD   KSZ9021RNI сбрасывает линк   May 28 2014, 17:37
- - b32b   Цитата(BSACPLD @ May 29 2014, 01:47) 3. П...   May 28 2014, 18:12
|- - DmitryM   Цитата(b32b @ May 30 2014, 02:47) PS Еще ...   May 30 2014, 00:50
||- - b32b   Цитата(DmitryM @ May 30 2014, 09:00) квар...   May 30 2014, 07:10
- - BSACPLD   b32b, спасибо за помощь. Проблему решил. Дело было...   May 29 2014, 01:36
- - b32b   джиттер... визуально, все объясняет, он должен быт...   May 30 2014, 19:45
|- - BSACPLD   Цитата(b32b @ May 31 2014, 03:55) джиттер...   May 30 2014, 22:45
- - BSACPLD   Чтобы не создавать отдельную тему спрошу здесь. П...   Jun 6 2014, 02:48
|- - prig   Цитата(BSACPLD @ Jun 6 2014, 10:58) ... Э...   Jun 6 2014, 08:03
|- - BSACPLD   Цитата(prig @ Jun 6 2014, 16:13) Если как...   Jun 6 2014, 09:04
- - BSACPLD   Привезли ASFLMPC. Всё работает нормально. В общем,...   Jun 24 2014, 06:15
- - b32b   Это точно,- причина проблем №2, после контактов   Jun 24 2014, 09:54
- - flamigo   Добрый день. Использую микросхему KSZ9021. По MII ...   Jan 20 2015, 11:26
- - radius   Добрый день! Кто использует KSZ9021RL посмотри...   Mar 17 2015, 14:25
- - radius   Цитата(radius @ Mar 17 2015, 17:25) Добры...   Mar 19 2015, 08:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016