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

 
 
 
Reply to this topicStart new topic
> LXT972 молчит :(, ...или ошибка в ДНК?
Delsian
сообщение Feb 4 2005, 19:51
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 79
Регистрация: 3-02-05
Из: Kiev
Пользователь №: 2 404



Играюсь с контроллером MII на VHDL, прием работает без проблем, а с передачей что-то странное - на 972 идут нормальные сигналы TX_DATA и TX_EN, она клокает TX_CLK, TX_ERR запаян на землю - а на передачу ничего не идет. Осциллограф у меня по полосе до честных 100MHz не дотягивает, но видно, что на выходах TP+ и TP- постоянно бегут импульсы, но сниффер не показывает наличия пакетов, лампочки приема и передачи не моргают. Намекните - в какую сторону копать? Микросхему менял - симптомы те же.


--------------------
Давайте выпьем за алкоголь - источник и решение всех наших проблем! (с) Г.Симпсон
Go to the top of the page
 
+Quote Post
admin
сообщение Feb 6 2005, 23:33
Сообщение #2


Администратор форума
******

Группа: Администраторы
Сообщений: 3 118
Регистрация: 11-05-04
Пользователь №: 2



вот чуть позже буду сам с подобными глюками возиться.
а пока только к этому готовлюсь.

обысчно в таких случаях помогает прочтение повторное датащита и еще
прочтения датащита на девелопмент боард.
Go to the top of the page
 
+Quote Post
NeoN
сообщение Feb 7 2005, 10:16
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 18-10-04
Пользователь №: 901



Вчера запустил девайс на 972-й. Трансивер как трансивер, никаких глюков. Даже MDIO работает wink.gif Схема включения из даташита.
Если линк на 100, на TXOP+- всегда должна быть характерная трехуровневая последовательность амплитудой 0.5В примерно, вне зависимости от TXEN.
Если не так - ошибки в выходной трансформаторной секции или кз по выходу.


--------------------
user posted image
Go to the top of the page
 
+Quote Post
Pahuchy
сообщение Apr 11 2005, 13:51
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 30-03-05
Из: Одесса
Пользователь №: 3 796



Цитата(Delsian @ Feb 4 2005, 22:51)
Играюсь с контроллером MII на VHDL, прием работает без проблем, а с передачей что-то странное - на 972 идут нормальные сигналы TX_DATA и TX_EN, она клокает TX_CLK, TX_ERR запаян на землю - а на передачу ничего не идет. Осциллограф у меня по полосе до честных 100MHz не дотягивает, но видно, что на выходах TP+ и TP- постоянно бегут импульсы, но сниффер не показывает наличия пакетов, лампочки приема и передачи не моргают. Намекните - в какую сторону копать? Микросхему менял - симптомы те же.
*


Могу посоветовать замкнуть вход на выход и принимать то что передаёте (Это можно сделать как програмно через MII так и просто физически)

Показывает ли ваш сниффер неправильные пакеты? Может у вас ошибка в пакете и сниффер его не понимает. (программа типа ethreal - показывает всё)

Проверьте качество RX TX clock. У меня был случай подобного глюка (работало но со сбоями) из-за некачественного кварца.
Go to the top of the page
 
+Quote Post
myq
сообщение Oct 28 2005, 10:24
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 11-05-04
Из: World wide
Пользователь №: 3



Вопрос в тему:
Судя по ДЩ - для передачи кадра ethernet не надо самому генерить CRC.
Однако эксперименты показывают другое: при передаче заранее записанного кадра с CRC - сниффер его ловит, а при передаче этого же кадра без CRC - не ловит.
Кто-нибудь может дать точный ответ: генерит ли микросхема CRC сама - или нужно гемороиться и делать это самому?


--------------------
IPSA SCIENTIA POTESTAS EST
Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 28 2005, 10:34
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(myq @ Oct 28 2005, 13:24)
Вопрос в тему:
Судя по ДЩ - для передачи кадра ethernet не надо самому генерить CRC.
Однако эксперименты показывают другое: при передаче заранее записанного кадра с CRC - сниффер его ловит, а при передаче этого же кадра без CRC - не ловит.
Кто-нибудь может дать точный ответ: генерит ли микросхема CRC сама - или нужно гемороиться и делать это самому?
*


Даю ответ совершенно точный: трансивер ничего не знает о том, что он передает. Его дело договориться с дальним концом и гнать данные. Если ему договариваться не разрешено, то гонит так, как задано. А когда договаривается гонит в линию импульсы.
CRC и остальное - это дело МАС.
А сниффер делит пакеты на правильные, неправильные по структуре и пакеты со сбоями. Если нет Ethernet-кадра - это пакеты со ссбоями.
А что нужно делать самому - примерно есть в статье на www.iosifk.narod.ru - статьи - Ethernet.
Сначала заглушку - сам на себя. чтобы заранее было известно на какой скорости.
Потом только на отдельную машину. Иначе раз в секунду будете ловить широковещательные пакеты.
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 28 2005, 10:43
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Delsian @ Feb 4 2005, 22:51)
Играюсь с контроллером MII на VHDL, прием работает без проблем, а с передачей что-то странное - на 972 идут нормальные сигналы TX_DATA и TX_EN, она клокает TX_CLK, TX_ERR запаян на землю - а на передачу ничего не идет. Осциллограф у меня по полосе до честных 100MHz не дотягивает, но видно, что на выходах TP+ и TP- постоянно бегут импульсы, но сниффер не показывает наличия пакетов, лампочки приема и передачи не моргают. Намекните - в какую сторону копать? Микросхему менял - симптомы те же.
*

И еще в догонку.
Если разработка новая, то лучше трансивер ставить KS8792 от micrel.
На передаче все ли правильно - преамбула, стартовый байт, данные и CRC ?
Может ошибка в стартовом байте? Проверьте по моей статье. Я помню, что в доке на 972 об этом было криво написано!
А, кстати, есть KS8842 и KS8695. Может они Вам лучше подойдут?
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
myq
сообщение Oct 28 2005, 11:04
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 11-05-04
Из: World wide
Пользователь №: 3



Цитата(iosifk @ Oct 28 2005, 10:43)
И еще в догонку.
Если разработка новая, то лучше трансивер ставить KS8792 от micrel.
На передаче все ли правильно - преамбула, стартовый байт, данные и CRC ?
Может ошибка в стартовом байте? Проверьте по моей статье. Я помню, что в доке на 972 об этом было криво написано!
А, кстати, есть KS8842 и KS8695. Может они Вам лучше подойдут?
Удачи!
*

Спасибо за ответ, а чем в 2-х словах, отличается KS8842, KS8695 и KS8792 от Интела?


--------------------
IPSA SCIENTIA POTESTAS EST
Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 28 2005, 11:18
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(myq @ Oct 28 2005, 14:04)
Цитата(iosifk @ Oct 28 2005, 10:43)
И еще в догонку.
Если разработка новая, то лучше трансивер ставить KS8792 от micrel.
На передаче все ли правильно - преамбула, стартовый байт, данные и CRC ?
Может ошибка в стартовом байте? Проверьте по моей статье. Я помню, что в доке на 972 об этом было криво написано!
А, кстати, есть KS8842 и KS8695. Может они Вам лучше подойдут?
Удачи!
*

Спасибо за ответ, а чем в 2-х словах, отличается KS8842, KS8695 и KS8792 от Интела?
*



Не KS8792, а KS8721 - это я ошибся. Он имеет режим переключения входов прямой - перекрестный. Все кабели становятся одинаковыми. Можно включать в хаб или напрямую - они сами разбирутся. Ему на смену скоро станем поставлять pin-to-pin KS8001. А он еще умеет проверять импеданс линии связи. И если импеданс уполз или кз или обрыв, то можно получить эту информацию. Есть много типов корпусов. Индустриальные темп.
KS8842 - двухканальный контроллер - коммутатор. 41 - одноканальный.
Где-то здесь я уже выкладывал сравнительные характеристики.
KS8695 - ARM922 ядро + 4+1 коммутатор пакетов + PCI(до 3-х шин) и линукс
Если есть вопросы - пишите.
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Iouri
сообщение Oct 28 2005, 12:19
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 364
Регистрация: 11-07-05
Пользователь №: 6 707



использовал 972 проблем не было попробуйте замкнуть вход
на выход внутри чипа раздел 5.6.7 Loopback, page 42 Document number 302875-004
и еще держитесь подалше от Micrel у них большие проблемы с поставками
и AVNET не рекомендует их использование к тому же интел дешевле

удачи
Go to the top of the page
 
+Quote Post
VslavX
сообщение Oct 28 2005, 12:41
Сообщение #11


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



А линк 972-ая поднимает?
Как параметры линк устанавливаете - принудительно или Autonegotiation?
Если линк в автонегошиэйш (после сброса по умолчанию один из светодиодов 972-ой индицирует наличие линка, ну или битик в регистре статуса глянуть) есть - то 95% где-то баг в посылаемых данных - неверный формат хидера или CRC.
А чем посылаете? У меня был Intel IXP420-ый - геморрой с его NPE еще тот был :-(
Go to the top of the page
 
+Quote Post
Iouri
сообщение Oct 29 2005, 01:02
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 364
Регистрация: 11-07-05
Пользователь №: 6 707



да поднимает, устанавливаю автонигшиайшен, посылал Cold FIre, POwer PC ни каких проблем или нареканий
Go to the top of the page
 
+Quote Post
myq
сообщение Nov 2 2005, 14:14
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 11-05-04
Из: World wide
Пользователь №: 3



Теперь вопрос возник по CRC32 (FCS).

Использовал генератор исходников CRC - CRCTool (http://www.easics.com/webtools/crctool) но до сих пор не получил CRC, совпадающий с правильным (правильный - беру из принятого пакета).

В доке IEEE 802.3-2002 по поводу расчета CRC сказано следующее:

A cyclic redundancy check (CRC) is used by the transmit and receive algorithms to generate a CRC value
for the FCS field. The frame check sequence (FCS) field contains a 4-octet (32-bit) cyclic redundancy check
(CRC) value. This value is computed as a function of the contents of the source address, destination address,
length, LLC data and pad (that is, all fields except the preamble, SFD, FCS, and extension). The encoding is
defined by the following generating polynomial.
G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Mathematically, the CRC value corresponding to a given frame is defined by the following procedure:
a) The first 32 bits of the frame are complemented.
b) The n bits of the frame are then considered to be the coefficients of a polynomial M(x) of degree n–1.
(The first bit of the Destination Address field corresponds to the x(n–1) term and the last bit of the
data field corresponds to the x0 term.)
c) M(x) is multiplied by x32 and divided by G(x), producing a remainder R(x) of degree ≤31.
d) The coefficients of R(x) are considered to be a 32-bit sequence.
e) The bit sequence is complemented and the result is the CRC.
The 32 bits of the CRC value are placed in the frame check sequence field so that the x31 term is the leftmost
bit of the first octet, and the x0 term is the right most bit of the last octet. (The bits of the CRC are thus
transmitted in the order x31, x30,…, x1, x0.) See reference [B37].


Что это за пункт такой -
a) The first 32 bits of the frame are complemented

Дополнение..., инверсия бит или еще что? Может в этом проблема?


--------------------
IPSA SCIENTIA POTESTAS EST
Go to the top of the page
 
+Quote Post
myq
сообщение Nov 2 2005, 15:18
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 11-05-04
Из: World wide
Пользователь №: 3



Все, проблема решена. Кому еще понадобится - обращайтесь smile.gif


--------------------
IPSA SCIENTIA POTESTAS EST
Go to the top of the page
 
+Quote Post

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

 


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


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