Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-окт-19 19:23

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8
Автор Сообщение
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-май-13 12:59 
Не в сети

Зарегистрирован: 2016-апр-13 14:57
Сообщения: 5
HEMAH писал(а):

Вопрос - а почему у Вас EXTRES 11к2, а не 12к4, как на всех отладочных платах?


Не совсем ясен контекст вопроса, поэтому отвечу двумя способами:
1 - проблема возникла не на отладочной плате, а на прототипе устройства;
2 - на момент разработки схемы в базе отсутствовал точный номинал и был установлен ближайший.

Я не придал значения расхождению номиналов, но сейчас просмотрел ДШ на предмет комментариев по использованию входа EXRES. Действительно, везде написано использовать 12k4 1%. Только нигде не объясняется почему. Осмелюсь предположить, что этот внешний резистор нужен для работы цепи смещения в PHY.
Поправьте, если что-то не так говорю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-май-13 13:18 
Не в сети

Зарегистрирован: 2016-апр-13 14:57
Сообщения: 5
Установил 12k4.
Ситуация не изменилась.
Напряжение на выходе EXRES 0.1В с резистором и ~0.7В, если резистор удалить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-авг-24 10:42 
Не в сети

Зарегистрирован: 2016-авг-24 10:03
Сообщения: 3
Добрый день! Имеется отладочная плата EVAL 22.0B ревизия 2. Собираемся передавать данные с привода на ПК. Я правильно понимаю, что нужно использовать перекрёстный кабель? Немного поставила в тупик распиновка на LU1T516, указанная в документации на отладочный комплект.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-авг-24 16:04 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 733
Откуда: АО "ПКК Миландр"
Art_em писал(а):
Добрый день! Имеется отладочная плата EVAL 22.0B ревизия 2. Собираемся передавать данные с привода на ПК. Я правильно понимаю, что нужно использовать перекрёстный кабель? Немного поставила в тупик распиновка на LU1T516, указанная в документации на отладочный комплект.

Для прямого подключения отладочной платы к ПК нужен crossover (перекрестный), для подключения через коммутатор необходим обычный patch cord (прямой).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-ноя-22 15:58 
Не в сети

Зарегистрирован: 2016-апр-11 08:37
Сообщения: 11
Добрый день!
Возникла проблема с модулем Ethernet на прототипе устройства.
Используется контроллер в пластиковом корпусе 4 ревизии, частота 144 МГц.
На плате установлен разъем RJ45 с встроенными трансформаторами и светодиодами SK02-111006NL.
В схеме подключения к разъему RJ45 используются резисторы R3-R6, конденсаторы C1-C3, как в документации, элементы R7 и C4 отсутствуют.
Суть проблемы:
1) Сигнала Link нет.
2) Сигнала Carrier sense нет.
Если пошевелить кабелем в разъеме RJ45 на стороне устройства, то в определенном положении вышеуказанные сигналы появляются (но не всегда), и устройство начинает отвечать на запросы TCP/UDP.
Использовал два разных проверенных кабеля - оба рабочие.
Контакт в разъеме выглядит надежным.
Возникает вопрос: может ли влиять на сигналы Link и Carrier sense отсутствие элементов R7 и C4, или использование разъема RJ45 с встроенными трансформаторами? Или копать в другом направлении?

Еще один эксперимент: вывожу на экран значения внутренних регистров PHY. Все значения соответствуют уставкам при инициализации модуля Ethernet (как в приведенных демо примерах). Манипуляции с кабелем в разъеме иногда приводят к тому, что во всех регистрах отображаются нули.

Позднее заметил, что RXN и RXP, TXN и TXP подключены наоборот. Переставил дорожки местами. Сейчас соединение значительно стабильнее, потери пакетов редки. Шевеление кабеля в разъеме может сбить Link, но затем он восстанавливается. В общем, пока наблюдаю за процессом...


Вложения:
Комментарий к файлу: RJ45
sk02_111006nl.pdf [454.62 КБ]
Скачиваний: 88
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-ноя-25 08:28 
Не в сети

Зарегистрирован: 2016-апр-11 08:37
Сообщения: 11
Сейчас заметил, что потери пакетов прекращаются, когда сигнал Link есть, сигнала Carrier sense нет. Но эту ситуацию легко сбить, если пошевелить кабелем. Может разъем бракованный, либо номинал какого то конденсатора следует поменять.
Никто с этой ситуацией не сталкивался?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-ноя-26 15:20 
Не в сети

Зарегистрирован: 2011-сен-20 11:53
Сообщения: 56
noble-minded писал(а):
Возникает вопрос: может ли влиять на сигналы Link и Carrier sense отсутствие элементов R7 и C4, или использование разъема RJ45 с встроенными трансформаторами? Или копать в другом направлении?

Конечно могут повлиять. Я не спрашиваю почему они отсутствуют, но лучше припаять - из-за этого может работать на грани потери связи.
А сбои при шевелении обычно возникают если плохо обжат кабель. Или он слишком длинный.
Не очень понятно как вы видите "сигнал Link есть, сигнала Carrier sense нет" - в регистрах отладчиком?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-ноя-28 08:18 
Не в сети

Зарегистрирован: 2016-апр-11 08:37
Сообщения: 11
hardegor писал(а):
noble-minded писал(а):
Возникает вопрос: может ли влиять на сигналы Link и Carrier sense отсутствие элементов R7 и C4, или использование разъема RJ45 с встроенными трансформаторами? Или копать в другом направлении?

Конечно могут повлиять. Я не спрашиваю почему они отсутствуют, но лучше припаять - из-за этого может работать на грани потери связи.
А сбои при шевелении обычно возникают если плохо обжат кабель. Или он слишком длинный.
Не очень понятно как вы видите "сигнал Link есть, сигнала Carrier sense нет" - в регистрах отладчиком?

Спасибо за отклик.
Кабель длиной 1 м, работал без проблем с платой с микросхемой ENC28J60, подключенной к отладочной плате с микроконтроллером 1986ВЕ92У по SPI. Хотя в разъеме я его не шевелил - соединение было всегда стабильным, даже мысли не было о ненадежном подсоединении.
Сигналы Link и Carrier sense постоянно считываю из регистра PHY_Status и вывожу на дисплей. Или так не правильно делать?

Еще на плате не соединены с GND переходные отверстия для корпуса разъема RJ45. Я правильно понимаю, что это нужно сделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2016-дек-09 08:35 
Не в сети

Зарегистрирован: 2016-апр-11 08:37
Сообщения: 11
Проблема решена: пропаял ножки 1-8 контроллера, и Ethernet заработал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2017-фев-16 09:58 
Не в сети

Зарегистрирован: 2014-май-15 11:04
Сообщения: 124
Откуда: Москва
Ребята, а кто ни будь включал пониженное потребление на Ehternet контроллере?
Ни как не вкурю. Есть режимы SLEEP в регистре ETH_CLOCK и Power Down в основном регистре PHY блока.
А то упарило 300 мА прогонять через стабилизатор когда в линии тишина.

И ещё, может кто наводку даст? На контроллере стоит DHCP-клиент:
Так получает IP адрес от роутера.
Изображение
Так получает IP адрес от сервера.
Изображение
А вот так не получает IP адрес от сервера.
Изображение
Схема включения:
Вложение:
Job1.PDF [47.76 КБ]
Скачиваний: 108

Причём, в варианте на третьей картинке даже DISCOVER-запрос не вижу (акулой), хотя он формируется и вылетает - видимо свич его режет.
Но если получить IP адрес по картинке два, а потом изъять хаб и подключить по картинке три, то далее обмен прекрасно происходит (ежеминутные DHCPInfo с подтверждениями от сервера, ICMP, UDP и ARP).
Резистор 12,4 кОм подбирался осциллографом контролируя амплитуду передающей пары ±1В и смотря на приёмную.
Осциллограммы пар: красный - передача, жёлтый - приём.
Через хаб:
В клетке 1В/50нсек
Изображение
Напрямую к свичу:
В клетке 1В/50нсек
Изображение
Заработала. Сеть перегружена. Проблема в коллизиях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2017-сен-19 12:47 
Не в сети

Зарегистрирован: 2017-май-31 15:10
Сообщения: 13
Откуда: АО "ПКК Миландр"
Gyro писал(а):
Здравствуйте.

Проблема следующего характера:

Я формирую буфер для отправки в канал Ethernet, отдаю его функции SendPacket с указанием длины 54 байт, но происходит дополнение до 60 байт. Т.е. в Wireshark вижу свой пакет дополненный шестью 00.

Пробовал отключать PAD_EN и PRE_EN биты, после изменения значений одного из них прием\передача не ведется.

Подскажите в чем может быть дело?

Используемые функции:

Открыть
Код:
void EthCfg(void)
{

        PHYInit(0x1C,1);

        ETHERNET->MAC_T=MAC[0];
        ETHERNET->MAC_M=MAC[1];
        ETHERNET->MAC_H=MAC[2];

        MACReset();
        ETHERNET->IMR=0x0101;           //Разрешение прерываний при успешном приеме пакета

}

/*------------------------------------------------------------------------------------------------ Функции контроллра PHY ----------------------------------------------------------------------------------*/


//*** Функция для конфигурирования PHY модуля через MDIO интерфейс ***
//Addr - адрес модуля PHY
//Mode - режим работы контроллера PHY
void PHYInit(uint8_t Addr, uint8_t Mode)
{
                uint32_t tmp;

                tmp = ETHERNET->PHY_CTRL;
                tmp &= 0x0770;  //сбросили поля адреса PHY, режима работы по умолчанию, режим FiberOptic
                //tmp |= (Addr<<11)|(Mode<<1)|1;
                tmp |= (Addr<<11)|(Mode)|1;

                ETHERNET->PHY_CTRL=tmp;
                while((ETHERNET->PHY_STATUS&0x10)==0);  //ждем пока модуль в состо¤нии сброса
}


void MACReset()
{
        ETHERNET->G_CFG|=0x00030000;    //RRST=1, XRST=1 сброс приемника и передатчика

        ClearMemory();

        ETHERNET->Delimiter=0x1000;     //4096 байт буфепр передатчика, 4096 байт буфер приемника

        ETHERNET->HASH0=0;
        ETHERNET->HASH1=0;
        ETHERNET->HASH2=0;
        ETHERNET->HASH3=0x8000;

        ETHERNET->IPG=0x0060;
        ETHERNET->PSC=0x0050;
        ETHERNET->BAG=0x0200;
        ETHERNET->JitterWnd=0x0005;
        ETHERNET->R_CFG=0x8406;
        ETHERNET->X_CFG=0x81FA;
        //ETHERNET->X_CFG=0x817A;

        ETHERNET->G_CFG=0x30030080;     //Линейный режим работы буферов

        ETHERNET->IMR=0;
        ETHERNET->IFR=0xFFFF;

        ETHERNET->R_Head=0x0000;
        ETHERNET->X_Tail=0x1000;

        ETHERNET->G_CFG&=0xFFFCBFFF;    //RRST=0, XRST=0 штатный режим работы
}

//Функция для очистки буфера приемника и передатчика МАС модуля
//Буфер приемника 4096 байт
//Буфер пердатчика 4096 байт

void ClearMemory()
{
        uint32_t Temp;
        uint32_t *ptr;
        ptr=(uint32_t*)0x38000000;
        for(Temp=0;Temp<2048;Temp++)    *ptr++=0;
}

/*---------------------------------------------------------------------------------------------- Функции для работы с приемником\передатчиком ---------------------------------------------------------------*/

int   SendPacket(void* buffer, int size)
{
   uint16_t i;
   uint32_t tmp, head, tail;
   uint32_t *src, *dst;
   uint16_t space[2];

   head = ETHERNET->X_Head;
   tail = ETHERNET->X_Tail;

   if(head>tail)
   {
      space[0]=head-tail;
      space[1]=0;
   } else
   {
      space[0]=0x2000-tail;
      space[1]=head-0x1000;
   }

   if(size>(space[0]+space[1]-8))   return 0;

   tmp=size;
   src=buffer;
   dst=(uint32_t*)(0x38000000+tail);

   *dst++ =tmp;
   space[0]-=4;
   if((uint16_t)dst>0x1FFC)   dst=(uint32_t*)0x38001000;

   tmp=(size+3)/4;

   if(size<=space[0])
   {
      for(i=0; i<tmp; i++)
         *dst++ = *src++;
   }
   else
   {
      tmp-=space[0]/4;
      for(i=0;i<(space[0]/4);i++)
         *dst++ = *src++;
      dst=(uint32_t*)0x38001000;
      for(i=0;i<tmp;i++)
         *dst++ = *src++;
   }
   if((uint16_t)dst>0x1FFC)   dst=(uint32_t*)0x38001000;
   tmp=0;
   *dst++ =tmp;
   if((uint16_t)dst>0x1FFC)   dst=(uint32_t*)0x38001000;

   ETHERNET->X_Tail=(uint16_t)dst;
   return   size;
}
Закрыть

Мы проверили, что дополнение до 60 байт происходит, если установлен бит PAD_EN в регистре X_CFC, при этом значение бита PRE_EN не изменяли (установлен в 1). Чтобы отправлять пакеты произвольной длины, необходимо не устанавливать бит PAD_EN. Если не устанавливать бит PRE_EN, т.е. передавать пакет без преамбулы, то не факт, что пакет будет принят устройством на другом конце витой пары. Также, имейте в виду, что при использовании ПК и анализаторов сетевых протоколов, возможно ОС (или настройки сетевой карты) могут отфильтровывать короткие пакеты до уровня анализатора.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2017-сен-28 13:22 
Не в сети

Зарегистрирован: 2011-янв-17 09:13
Сообщения: 27
Откуда: Н.Новгород
Petr писал(а):
Да, вы правы, надо подключить не резонатор, а генератор на 25 МГц, тогда не противоречит.

А я то думал зачем в PHY_CLK_SEL из ETH_CLOCK может быть выбран HSE и HSI. Ну с HSE теперь понятно, а тактирование от HSI зачем и зачем PHYBRG и ETHBRG имеют делители аж до /128? Было бы логично иметь делитель на 3 при тактировании от PLLCPUo = 75МГц.

Можно ли тактировать так: HSE = 10МГц, PLL умножаем на 5 до 50МГц, PHY_CLK_SEL выбираем PLLCPUo и PHYBRG = 1, ETHBRG = 1 т.е. PHY и ETH тактируется от PLLCPUo/2.

И маленький вопрос по ВЕ3Т: одновременно использовать Ethernet, USB и AudioCodec(на частотах 8Кгц и 16Кгц) в принципе возможно? Дело в том, что AudioCodec требует дробной частоты. Возможно удастся AudioCodec тактировать от HSI подстроенным до нужной частоты, т.е. такая своеобразная программная петля "ФАПЧ".


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB