Миландр

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

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 174 сообщения ]  На страницу « 17 8 9 10 11 12 »
Автор Сообщение
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-сен-24 09:36 
Не в сети

Зарегистрирован: 2018-сен-14 11:19
Сообщения: 2
Организация: ЦПТА
Спасибо....
Да, я конечно поменял в коде RST_CLK_HSE2_Bypass на RST_CLK_HSE2_ON.
Вы правы. Что-то с платой. Только что. Не знаю.
Вроде питание, земля, EXRES1 все подключено правильно.


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-дек-10 15:39 
Не в сети

Зарегистрирован: 2015-апр-27 09:48
Сообщения: 12
Поставили симметричный трансформатор ТРс-ЛС5 в качестве Ethernet развязки на 1986ВЕ1Т. Понимаю, что процессор не имеет auto MDI/MDIX и поэтому обычно ставят несимметричный.

На скорости 10 МБит/с все работает, на 100 МБит/с линк поднимается, но иногда работает отлично, а иногда на пингах теряется до 80% пакетов. Если кабель перетыкать, то можно добиться, что линк поднимется и будет работать абсолютно без сбоев.

Думал попробовать другой трансформатор не выпаивая ТРС-ЛС5 - припаялся между процессором и ТРС-ЛС5 другой (но тоже симметричный транс - 00065NL). Для связи используется один из трансформаторов (второй при этом как бы пассивно висит на линии) - линк стабильно поднимается, связь 100 МБит - отличная.

Вопрос - можно ли добиться нормальной работы Ethernet'а на симметричном ТРс-ЛС5 или необходимо ставить строго несимметричный? Может проблема в чем-то другом?


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-дек-11 10:14 
Не в сети

Зарегистрирован: 2015-апр-27 09:48
Сообщения: 12
Еще из симптомов... Средняя точка по линии приемника между мк и трансом при отключенном кабеле находится в районе 2,1 В. Если кабель подключить, то в случае хорошей связи точка остается на том же напряжении, если связь плохая или ее совсем нет, то опускается до 1,74 В. Линк в обоих случаях поднимается. Можно несколько раз вынуть и вставить кабель и добиться того, что связь появится. В чем может быть дело?


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-дек-12 11:02 
Не в сети

Зарегистрирован: 2018-дек-12 10:09
Сообщения: 1
Организация: НИИ ВСиСУ
Доброго всем дня, имеется вопрос о режиме КЗ блока PHY. Хотелось бы узнать что именно он замыкает, чисто цифру (приемник с передатчиком), или физический уровень?


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-дек-12 18:53 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 555
Откуда: г. Владимир ОАО "ВКБР"
ASergej писал(а):
Поставили симметричный трансформатор ТРс-ЛС5 в качестве Ethernet развязки на 1986ВЕ1Т. Понимаю, что процессор не имеет auto MDI/MDIX и поэтому обычно ставят несимметричный.

На скорости 10 МБит/с все работает, на 100 МБит/с линк поднимается, но иногда работает отлично, а иногда на пингах теряется до 80% пакетов. Если кабель перетыкать, то можно добиться, что линк поднимется и будет работать абсолютно без сбоев.

Думал попробовать другой трансформатор не выпаивая ТРС-ЛС5 - припаялся между процессором и ТРС-ЛС5 другой (но тоже симметричный транс - 00065NL). Для связи используется один из трансформаторов (второй при этом как бы пассивно висит на линии) - линк стабильно поднимается, связь 100 МБит - отличная.

Вопрос - можно ли добиться нормальной работы Ethernet'а на симметричном ТРс-ЛС5 или необходимо ставить строго несимметричный? Может проблема в чем-то другом?
Я не разработчик, но что-то подобное у нас было, причём доходило до казусов, когда например кабель длиной 10м с разъёмами РРС3 на обоих концах не работал, а такой же кабель длиной 9 м работал. Или кабель UTP-5 с RJ45 на обоих концах, но длиной 10 м работал, а длиной 1 м не работал. Потом выключаешь аппаратуру, ждёшь 1 минуту и вуаля - с 1 м работает, а с 10 м не работает. Или включаешь, поработает-поработает и затыкается.

В итоге выяснилось, что оконечный импортный модем прямо во время работы шарахался с 100 Мбит/с на 10 Мбит/с и обратно, причём совершенно хаотично, ввиду своих каких-то соображений.
Результатом стало то, что как и у себя, на импортном модеме была жёстко задана скорость 100 Мбит/с в полном дуплексе. И всё стало хорошо, что 10 м кабель, что 20 м, что 50 м, что с разъёмами RJ45, что с РРС3, что с РБМ5 всё заработало как надо.

Ну собственно такой вот случай был в прошлом году и как раз на моей стороне была связка 1986ВЕ1Т с трансформатором ТРС-ЛС5.

P.S. Иной раз проходишь по какому-нить подъёзду, а там самопальная проводка интернета, где на кабеле длиной 10-20 м по 5-6 скруток, причём провода дифф.пары торчат каждая в разные стороны и по отдельности ромашкой, и работает же.

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


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

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 473
Организация: Milandr
Откуда: ПКК "Миландр"
Лысенко Евгений писал(а):
Доброго всем дня, имеется вопрос о режиме КЗ блока PHY. Хотелось бы узнать что именно он замыкает, чисто цифру (приемник с передатчиком), или физический уровень?
В режиме Loopback "Основного регистра управления (0)" Ethernet PHY данные от скремблера передатчика передаются на дескремблер приемника. В линию ничего не выдается, физический приемопередатчик выключен.
ASergej писал(а):
Еще из симптомов... Средняя точка по линии приемника между мк и трансом при отключенном кабеле находится в районе 2,1 В. Если кабель подключить, то в случае хорошей связи точка остается на том же напряжении, если связь плохая или ее совсем нет, то опускается до 1,74 В. Линк в обоих случаях поднимается. Можно несколько раз вынуть и вставить кабель и добиться того, что связь появится. В чем может быть дело?
По этому вопросу ждем комментариев от разработчика, но он пока в командировке и нет уверенности что он даст их без схемы. Принципиальных возражений против ТрС-ЛС5 нет, должен работать. Судя по постам на форуме этот трансформатор уже применяли.


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-дек-13 10:00 
Не в сети

Зарегистрирован: 2015-апр-27 09:48
Сообщения: 12
HEMAH писал(а):
Я не разработчик, но что-то подобное у нас было, причём доходило до казусов, когда например кабель длиной 10м с разъёмами РРС3 на обоих концах не работал, а такой же кабель длиной 9 м работал. Или кабель UTP-5 с RJ45 на обоих концах, но длиной 10 м работал, а длиной 1 м не работал. Потом выключаешь аппаратуру, ждёшь 1 минуту и вуаля - с 1 м работает, а с 10 м не работает. Или включаешь, поработает-поработает и затыкается.

В итоге выяснилось, что оконечный импортный модем прямо во время работы шарахался с 100 Мбит/с на 10 Мбит/с и обратно, причём совершенно хаотично, ввиду своих каких-то соображений.
Спасибо за ответ. Да... интересный момент. Но тут ПК пишет, что линк поднят 100 Мбит и осциллографом видна характерная картинка для 100Мбит связи. То есть вроде просадки до 10 Мбит - нет.

Подождем что ответит разработчик. С другой стороны - на китах вроде работает? Народ не жалуется? Но там стоят импортные трансы и стоят несимметричные...
Зачем тот же магнетрон делает ТРС-ЛС5 (симметричный) и полный аналог, только несимметричный ТРС-ЛС6 (или с ОТК ТРС-ЛС9 и ТРС-ЛС10)? Значит какая-то разница все-таки есть?
Vasiliy писал(а):
По этому вопросу ждем комментариев от разработчика, но он пока в командировке и нет уверенности что он даст их без схемы. Принципиальных возражений против ТрС-ЛС5 нет, должен работать. Судя по постам на форуме этот трансформатор уже применяли.
Спасибо за ответ. Да... Пост выше HEMAH пишет тоже с бубном поплясать пришлось. Учитывая, что у нас если повесить параллельно импортный транс и все работает стабильно - что-то где-то на грани находится... Плата не одна - все работают идентично.

Очень надеемся на комментарий разработчика.


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2018-дек-13 10:34 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1578
Откуда: Тула
ASergej писал(а):
... С другой стороны - на китах вроде работает? Народ не жалуется? Но там стоят импортные трансы и стоят несимметричные...
Зачем тот же магнетрон делает ТРС-ЛС5 (симметричный) и полный аналог, только несимметричный ТРС-ЛС6 (или с ОТК ТРС-ЛС9 и ТРС-ЛС10)? Значит какая-то разница все-таки есть? ...
Оказывается нас один и тот же вопрос интересует.
Вот в соседней теме обсуждаем. Там, кстати, я пояснил почему может не работать схема, как Вы её называете "несимметричный транс".

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2019-апр-09 15:53 
Не в сети

Зарегистрирован: 2014-окт-10 18:12
Сообщения: 36
Скажите пожалуйста, был ли у кого опыт применения для тактирования Ethernet кварца на 3-й гармонике? Допускается такое или нет?


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2019-апр-17 13:37 
Не в сети

Зарегистрирован: 2014-окт-02 15:53
Сообщения: 6
Доброго дня!
Возникла проблема: Ethernet передатчик перестал слать пакеты.. начал разбираться..
При непрерывной отправке пакетов длиной 124 байта (MAC_HDR+DATA) - передатчик затыкается. Причем указатели head_X, tail_X - меняются, но данных на выходе нет вообще.
При исследовании выяснилось:
1) проблемы наблюдаются:
при Delimiter = 0x1000
при различных длинах пакетов
при различных режимах буферов
2) при Delimiter = 0x0800 вроде бы все ОК.

Результаты тестов
/
*
 *  delimiter	Len		Работа
 *  	0x1000		150		ОК
 * 		0x1000		124		не работает вообще
 * 		0x1000		123		неравномерно с задержками...
 *		0x1000		122		неравномерно с задержками...
 *		0x1000		120		ОК
 *		0x1000		121		ОК
 * 		0x1000		109		ОК
 * 		0x1000		108		только первые 428 пакетов  (ВСЕГДА после сброса!!!)
 * 		0x1000		84		неравномерно с задержками...
 *
 *  	0x0800		150		ОК
 * 		0x0800		124		ОК
 * 		0x0800		123		ОК
 *		0x0800		122		ОК
 *		0x0800		120		ОК
 *		0x0800		121		ОК
 * 		0x0800		109		ОК
 * 		0x0800		108		ОК
 * 		0x0800		84		ОК

 */ 
Может кто пояснит в чем может быть проблема?

Плата: LDM-mROB-K1986ВЕ1Q
Ревизия проца: 1530

Тестовая программа:
Открыть
#include <MDR32F9Qx_port.h>
#include <MDR32F9Qx_rst_clk.h>
#include <MDR32F9Qx_eeprom.h>

#include "MDR32F9Qx_eth.h"

// Массивы для считывания входящих и формирования посылаемых фреймов,
// Должны располагаться в адресах начиная с 0х2010_0000 для возможности работы DMA в режиме FIFO
#define  MAX_ETH_TX_DATA_SIZE 1514 / 4
uint8_t  FrameTx[MAX_ETH_TX_DATA_SIZE] __attribute__((section("FRAME_MEMORY_SECTION"))) __attribute__ ((aligned (4)));

//MAC адрес микроконтроллера
uint8_t  MAC_SRC [] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc};
uint8_t  MAC_DST [] = {0x30, 0x5a, 0x3a, 0x09, 0xa0, 0x06};
uint8_t  ETYPE[] = {0x80, 0x80};

//	Тактирование ядра от HSE, 8МГц на демо-плате
void Clock_Init(void)
{
	/* Enable HSE (High Speed External) clock */
	RST_CLK_HSEconfig(RST_CLK_HSE_ON);
	while (RST_CLK_HSEstatus() != SUCCESS);

	/* Configures the CPU_PLL clock source */
	RST_CLK_CPU_PLLconfig(RST_CLK_CPU_PLLsrcHSEdiv1, RST_CLK_CPU_PLLmul9);

	/* Enables the CPU_PLL */
	RST_CLK_CPU_PLLcmd(ENABLE);
	while (RST_CLK_CPU_PLLstatus() == ERROR);

	/* Enables the RST_CLK_PCLK_EEPROM */
	RST_CLK_PCLKcmd(RST_CLK_PCLK_EEPROM, ENABLE);
	/* Sets the code latency value */
	EEPROM_SetLatency(EEPROM_Latency_5);

	/* Select the CPU_PLL output as input for CPU_C3_SEL */
	RST_CLK_CPU_PLLuse(ENABLE);
	/* Set CPUClk Prescaler */
	RST_CLK_CPUclkPrescaler(RST_CLK_CPUclkDIV1);

	/* Select the CPU clock source */
	RST_CLK_CPUclkSelection(RST_CLK_CPUclkCPU_C3);
}

//	Инициализация блока Ethernet
void Ethernet_Init(void)
{
	static ETH_InitTypeDef  ETH_InitStruct;
	volatile	uint32_t			ETH_Dilimiter;

	// Сброс тактирования Ethernet
	ETH_ClockDeInit();

	//	Включение генератора HSE2 = 25МГц
	RST_CLK_HSE2config(RST_CLK_HSE2_ON);
    while (RST_CLK_HSE2status() != SUCCESS);

	// Тактирование PHY от HSE2 = 25МГц
	ETH_PHY_ClockConfig(ETH_PHY_CLOCK_SOURCE_HSE2, ETH_PHY_HCLKdiv1);

	// Без делителя
	ETH_BRGInit(ETH_HCLKdiv1);

	// Включение тактирования блока MAC
	ETH_ClockCMD(ETH_CLK1, ENABLE);


	//	Сброс регистров блока MAC
	ETH_DeInit(MDR_ETHERNET1);

	//  Инициализация настроек Ethernet по умолчанию
	ETH_StructInit(&ETH_InitStruct);

	//	Переопределение настроек PHY:
	//   - разрешение автонастройки, передатчик и приемник включены
	ETH_InitStruct.ETH_PHY_Mode = ETH_PHY_MODE_AutoNegotiation;
	ETH_InitStruct.ETH_Transmitter_RST = SET;
	ETH_InitStruct.ETH_Receiver_RST = SET;

	//	Режим работы буферов
	//ETH_InitStruct.ETH_Buffer_Mode = ETH_BUFFER_MODE_LINEAR;
	ETH_InitStruct.ETH_Buffer_Mode = ETH_BUFFER_MODE_FIFO;
	//ETH_InitStruct.ETH_Buffer_Mode = ETH_BUFFER_MODE_AUTOMATIC_CHANGE_POINTERS;

  // HASH - Фильтрация отключена
	ETH_InitStruct.ETH_Source_Addr_HASH_Filter = DISABLE;

	//	Задание МАС адреса микроконтроллера
	ETH_InitStruct.ETH_MAC_Address[2] = (MAC_SRC[5] << 8) | MAC_SRC[4];
	ETH_InitStruct.ETH_MAC_Address[1] = (MAC_SRC[3] << 8) | MAC_SRC[2];
	ETH_InitStruct.ETH_MAC_Address[0] = (MAC_SRC[1] << 8) | MAC_SRC[0];

	//	Разделение общей памяти на буферы для приемника и передатчика
	ETH_InitStruct.ETH_Dilimiter = 0x1000;
	//ETH_InitStruct.ETH_Dilimiter = 0x0800;

	//	Разрешаем прием пакетов только на свой адрес,
	//	Прием коротких пакетов также разрешен
	ETH_InitStruct.ETH_Receive_All_Packets 			  = DISABLE;
	ETH_InitStruct.ETH_Short_Frames_Reception 		= ENABLE;
	ETH_InitStruct.ETH_Long_Frames_Reception 	    = DISABLE;
	ETH_InitStruct.ETH_Broadcast_Frames_Reception = DISABLE;
	ETH_InitStruct.ETH_Error_CRC_Frames_Reception = DISABLE;
	ETH_InitStruct.ETH_Control_Frames_Reception 	= DISABLE;
	ETH_InitStruct.ETH_Unicast_Frames_Reception 	= ENABLE;
	ETH_InitStruct.ETH_Source_Addr_HASH_Filter 	  = DISABLE;

	//	Инициализация блока Ethernet
	ETH_Init(MDR_ETHERNET1, &ETH_InitStruct);

	// Запуск блока PHY
	ETH_PHYCmd(MDR_ETHERNET1, ENABLE);
}

void Ethernet_Start(void)
{
	// Запуск блока Ethernet
	ETH_Start(MDR_ETHERNET1);
}


//Отправка пакета
void Eth_SendProcess(MDR_ETHERNET_TypeDef * ETHERNETx, uint32_t len)
{

	volatile uint32_t isTxBuffBusy = 0;

	do {
		isTxBuffBusy = ETH_GetFlagStatus(ETHERNETx, ETH_MAC_FLAG_X_HALF) == SET;
	}
	while (isTxBuffBusy);

	//  Посылка пакета
	ETH_SendFrame(ETHERNETx, (uint32_t *) FrameTx, len);

}

//	Заполнение массива FrameTx фреймом заданной длины
void Eth_Frame_Init(uint32_t len)
{
	uint8_t *ptr  = (uint8_t *) &FrameTx[4];

	//	Запись "Поле управления передачей пакета"
	//  Указывается длина фрейма
	*(uint32_t *)&FrameTx[0] = len;

	//	Копируем адрес PC из входного пакета в DestMAC
	ptr[0] 	= MAC_DST[0];
	ptr[1] 	= MAC_DST[1];
	ptr[2] 	= MAC_DST[2];
	ptr[3] 	= MAC_DST[3];
	ptr[4] 	= MAC_DST[4];
	ptr[5] 	= MAC_DST[5];

	//	Заполняем SrcMAC
	ptr[6] 	= MAC_SRC[0];
	ptr[7] 	= MAC_SRC[1];
	ptr[8] 	= MAC_SRC[2];
	ptr[9] 	= MAC_SRC[3];
	ptr[10] = MAC_SRC[4];
	ptr[11] = MAC_SRC[5];

  // Заполняем поле etype
	ptr[12] = ETYPE[0];
	ptr[13] = ETYPE[1];
}

int main()
{
	uint32_t t = 0;
	uint32_t delay = 100000;
/*
 * При delimiter	Len		Работа
 *  	0x1000		150		ОК
 * 		0x1000		124		не работает вообще
 * 		0x1000		123		неравномерно с задержками...
 *		0x1000		122		неравномерно с задержками...
 *		0x1000		120		ОК
 *		0x1000		121		ОК
 * 		0x1000		109		ОК
 * 		0x1000		108		только первые 428 пакетов и  (ВСЕГДА после сброса!!!)
 * 		0x1000		84		неравномерно с задержками...
 *
 *  	0x0800		150		ОК
 * 		0x0800		124		ОК
 * 		0x0800		123		ОК
 *		0x0800		122		ОК
 *		0x0800		120		ОК
 *		0x0800		121		ОК
 * 		0x0800		109		ОК
 * 		0x0800		108		ОК
 * 		0x0800		84		ОК

 */


	uint32_t len = 124;
	//	Тактирование
	Clock_Init();
	// Инициализаиця фрейма
	Eth_Frame_Init(len);

	//  Инициализация и запуск
	Ethernet_Init();
	Ethernet_Start();

	while (1) {
		t = (t + 1) % delay;
		if (!t) Eth_SendProcess(MDR_ETHERNET1, len);
	}

}
Закрыть


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2019-апр-17 17:35 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 473
Организация: Milandr
Откуда: ПКК "Миландр"
Здравствуйте.
Какая тактовая частота? это по поводу errata 0021.


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2019-апр-18 12:24 
Не в сети

Зарегистрирован: 2014-окт-02 15:53
Сообщения: 6
Vasiliy писал(а):
Какая тактовая частота? это по поводу errata 0021.
144Мгц = 16Мгц_кварц * PLLMul9
У меня есть подозрения что проблема в плохом питании, но это смогу проверить позже.


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

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 157
Организация: частное лицо
Lexius писал(а):
Vasiliy писал(а):
Какая тактовая частота? это по поводу errata 0021.
144Мгц = 16Мгц_кварц * PLLMul9
У меня есть подозрения что проблема в плохом питании, но это смогу проверить позже.
Попробуйте работать на более низкой частоте (96МГц = 16 * 6), т. к. 144МГц это предельно допустимая частота для 1986ВЕ1Т


Вернуться к началу
 Заголовок сообщения: Re: Ethernet на 1986ВЕ1Т
СообщениеДобавлено: 2019-апр-18 16:27 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 580
Цитата:
Плата: LDM-mROB-K1986ВЕ1Q
Цитата:
У меня есть подозрения что проблема в плохом питании, но это смогу проверить позже.
Если это LDM-uROB версии 1.04, то были проблемы именно с питанием, особенно на 144МГц, проявилось при записи info-flash. Допаивали керамику на стабилизатор по 3,3В, помогло, но не на 144Мгц. В версии 1.06 производитель поменял схему питания и заработало на максимальной частоте, в т.ч. Ethernet гоняли много, проблем не наблюдали.


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

Зарегистрирован: 2014-окт-02 15:53
Сообщения: 6
ЧумА писал(а):
Плата: LDM-mROB-K1986ВЕ1Q версии 1.04
Именно она.
Спасибо за совет
Цитата:
керамику на стабилизатор по 3,3В
буду пробовать.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 174 сообщения ]  На страницу « 17 8 9 10 11 12 »

Часовой пояс: UTC+03:00


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя


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

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB