Миландр

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

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




Начать новую тему  Ответить на тему  [ 20 сообщений ]  На страницу 1 2 »
Автор Сообщение
СообщениеДобавлено: 2021-апр-08 13:16 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
При минус 30 градусах и ниже не запускается PLL USB (не выставляет RST_CLK_CLOCK_STATUS_PLL_USB_RDY в MDR_RST_CLK->CLOCK_STATUS). При этом HSE запускается и работает нормально, к PLL CPU (разогнан до 80 МГц), МКИО, UART, таймерам, LSE нареканий нет в диапазоне температур от минус 60 до 85. При комнатной температуре (точнее, выше приблизительно минус 20) PLL USB стабильно запускается, при работе сбои не наблюдаются. Повторяемость на двух платах, одна под лаком, другая - нет.

Плата собственного изготовления.
Дата выпуска 1986ВЕ3 2024
Стабилизатор, понижающий напряжение с 5В до 3,3В – 1158ЕН3,3ВХ.
Конденсаторы в цепях питания процессора – тантал К53-65 «D» 16В 22мкФ+/-10% и керамика К10-79-50В-0,1мкФ+/-20%-Н30.
Часовой кварц – РК146-8ДШ аЦ0.338.110 ТУ.
Конденсаторы вокруг часового кварца – К10-79-100В-33 пФ+/-5%-МП0.
Основной кварц – РК463-5ДС-8000К (12пФ) ТУ6321-011-07604008-07.
Конденсаторы вокруг основного кварца - К10-79-100В-15 пФ+/-5%-МП0.

Значение в REG_0E SelectRI=LOW=0x06
Количество циклов ожидания готовности в функциях RST_CLK_HSEstatus() RST_CLK_CPU_PLLstatus() во всем диапазоне температур существенно не отличается.

Количество циклов ожидания готовности в функции USB_BRGInit() при температурах выше минус 30, если происходит запуск, существенно не отличается в этом диапазоне температур.

Модифицированная функция (введен таймаут, корректное сравнение бита готовности PLL, возвращает результат)
/**
 * @version	0.2
 * @date		06.04.2021
 *
  * @brief  Initializes the USB peripheral Clock according to the
  *         specified parameters.
  * @param  USB_Clock_InitStruct: pointer to a USB_Clock_TypeDef structure
  *         that contains the configuration information for the USB Clock.
  *
  * @retval ERROR - ошибка PLL<br>
	*					SUCCESS - ошибок не обнаружено
  */

ErrorStatus USB_BRGInit(const USB_Clock_TypeDef* USB_Clock_InitStruct)
{
  uint32_t tmpreg;

  /* Check the parameters */
  assert_param(IS_USB_CLOCK(USB_Clock_InitStruct->USB_PLLUSBMUL, USB_Clock_InitStruct->USB_USBC1_Source));

  /* USB_CLOCK Configuration */
  tmpreg  = MDR_RST_CLK->USB_CLOCK;
  tmpreg |= RST_CLK_USB_CLOCK_USB_CLK_EN;
  tmpreg |= USB_Clock_InitStruct->USB_USBC1_Source;
  tmpreg |= USB_PLL;

  MDR_RST_CLK->USB_CLOCK = tmpreg;

  /* PLL_CONTROL Configuration */
  tmpreg  = MDR_RST_CLK->PLL_CONTROL;
  tmpreg |= RST_CLK_PLL_CONTROL_PLL_USB_ON;
  tmpreg |= (USB_Clock_InitStruct->USB_PLLUSBMUL << RST_CLK_PLL_CONTROL_PLL_USB_MUL_Pos);

  MDR_RST_CLK->PLL_CONTROL = tmpreg;
	
	rst_clk_timeout = 0;
  while(0 == (MDR_RST_CLK->CLOCK_STATUS & RST_CLK_CLOCK_STATUS_PLL_USB_RDY))
	{
		rst_clk_timeout++;
		if(rst_clk_timeout > PLLUSBonTimeOut)
		{
#if defined(DEBUG_DEVICE)
			usb_pll_timeout_value = rst_clk_timeout;
#endif	// defined(DEBUG_DEVICE)
			return(ERROR);
		};
	};

#if defined(DEBUG_DEVICE)
	usb_pll_timeout_value = rst_clk_timeout;
#endif	// defined(DEBUG_DEVICE)

	return(SUCCESS);
}
__IO uint32_t rst_clk_timeout;
uint32_t usb_pll_timeout_value;
#define PLLUSBonTimeOut ((uint16_t)4000)
При минус 30 отваливается по таймауту (в оригинальном варианте функции наглухо зацикливалась на опросе бита готовности).

Что не так?


Вернуться к началу
СообщениеДобавлено: 2021-апр-08 17:00 
Не в сети

Зарегистрирован: 2018-мар-18 15:49
Сообщения: 249
Организация: StartMilandr.ru
Слышал про похожий случай, когда на всех температурах плата работала, а при 0 и до -10 не запускалась. Выяснилось, что питание нарастало медленно и МК выходил из ресета раньше, чем Ucc достигало минимально допустимого. Но там МК вроде совсем не стартовал...
У вас если ресетом дернуть при установившемся питании не исправляется ситуация?

PLL питается от вывода AUcc (70), если осциллографом смотреть, то на него отдельное внимание.

Схему тоже надо проверить, может где чего не хватает. (Иногда питание Ethrenet не подключают или еще чего...).


Вернуться к началу
СообщениеДобавлено: 2021-апр-08 17:31 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 762
Откуда: г. Санкт-Петербург
Убедитесь, что задержка в EEPROM задана правильно для 80 МГц.


Вернуться к началу
СообщениеДобавлено: 2021-апр-08 18:38 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
vasili писал(а): *
Убедитесь, что задержка в EEPROM задана правильно для 80 МГц.
Не, это-то все правильно, на нескольких изделиях отлажено. На всякий случай еще раз проверил - все как в спецификации.
#define	FLASH_DELAY_100MHz	(3 << EEPROM_CMD_DELAY_Pos) ///< задержка EEPROM для тактовой до 100 MHz
/*!
 * @version	0.1
 * @date		14.08.2017
 * @brief		Установка задержки выборки flash.
 * @details	Установка задержки выборки flash в соответствии с тактовой частотой CPU.
 *
 * @param[in]	dly код задержки в регистре MDR_EEPROM->CMD
 *						<br> FLASH_DELAY_25MHz для тактовой частоты менее 25 МГц
 *						<br> FLASH_DELAY_50MHz для тактовой частоты менее 50 МГц
 *						<br> FLASH_DELAY_75MHz для тактовой частоты менее 75 МГц
 *						<br> FLASH_DELAY_100MHz для тактовой частоты менее 100 МГц
 *						<br> FLASH_DELAY_125MHz для тактовой частоты менее 125 МГц
 *						<br> FLASH_DELAY_150MHz для тактовой частоты менее 150 МГц
 * @return	Нет.
 */
void set_flash_delay(uint32_t dly)
{
	uint32_t tmp;

	RST_CLK_PCLKcmd(RST_CLK_PCLK_EEPROM, ENABLE);

	tmp = MDR_EEPROM->CMD;
	tmp &= ~EEPROM_CMD_DELAY_Msk;
	tmp |= dly & EEPROM_CMD_DELAY_Msk;
	MDR_EEPROM->CMD = tmp;

	RST_CLK_PCLKcmd(RST_CLK_PCLK_EEPROM, DISABLE);
	
	return;
}
	set_flash_delay(FLASH_DELAY_100MHz);
Единственное, в REG_0E SelectRI=LOW=0x6 это "частота до 80 МГц" как бы на самой границе значения. Может влиять?


Вернуться к началу
СообщениеДобавлено: 2021-апр-09 10:43 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
StartMilandr писал(а): *
Слышал про похожий случай, когда на всех температурах плата работала, а при 0 и до -10 не запускалась. Выяснилось, что питание нарастало медленно и МК выходил из ресета раньше, чем Ucc достигало минимально допустимого. Но там МК вроде совсем не стартовал...
С этим нормально все. В цепи сброса стоит электролит. Тем более CPU и другая периферия стабильно запускается и работает.
Вложение:
[ attachment ]
TEK0017.jpg [ 35.49 КБ | 916 просмотров ]
Вложение:
[ attachment ]
TEK0018.jpg [ 35.85 КБ | 916 просмотров ]


Вернуться к началу
СообщениеДобавлено: 2021-апр-12 11:32 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 306
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
azimuth писал(а): *
При минус 30 градусах и ниже не запускается PLL USB (не выставляет RST_CLK_CLOCK_STATUS_PLL_USB_RDY в MDR_RST_CLK->CLOCK_STATUS). При этом HSE запускается и работает нормально, к PLL CPU (разогнан до 80 МГц), МКИО, UART, таймерам, LSE нареканий нет в диапазоне температур от минус 60 до 85. При комнатной температуре (точнее, выше приблизительно минус 20) PLL USB стабильно запускается, при работе сбои не наблюдаются. Повторяемость на двух платах, одна под лаком, другая - нет.

Плата собственного изготовления.
Дата выпуска 1986ВЕ3 2024
Стабилизатор, понижающий напряжение с 5В до 3,3В – 1158ЕН3,3ВХ.
Конденсаторы в цепях питания процессора – тантал К53-65 «D» 16В 22мкФ+/-10% и керамика К10-79-50В-0,1мкФ+/-20%-Н30.
Часовой кварц – РК146-8ДШ аЦ0.338.110 ТУ.
Конденсаторы вокруг часового кварца – К10-79-100В-33 пФ+/-5%-МП0.
Основной кварц – РК463-5ДС-8000К (12пФ) ТУ6321-011-07604008-07.
Конденсаторы вокруг основного кварца - К10-79-100В-15 пФ+/-5%-МП0.

Значение в REG_0E SelectRI=LOW=0x06
Количество циклов ожидания готовности в функциях RST_CLK_HSEstatus() RST_CLK_CPU_PLLstatus() во всем диапазоне температур существенно не отличается.

Количество циклов ожидания готовности в функции USB_BRGInit() при температурах выше минус 30, если происходит запуск, существенно не отличается в этом диапазоне температур.

Модифицированная функция (введен таймаут, корректное сравнение бита готовности PLL, возвращает результат)
/**
 * @version	0.2
 * @date		06.04.2021
 *
  * @brief  Initializes the USB peripheral Clock according to the
  *         specified parameters.
  * @param  USB_Clock_InitStruct: pointer to a USB_Clock_TypeDef structure
  *         that contains the configuration information for the USB Clock.
  *
  * @retval ERROR - ошибка PLL<br>
	*					SUCCESS - ошибок не обнаружено
  */

ErrorStatus USB_BRGInit(const USB_Clock_TypeDef* USB_Clock_InitStruct)
{
  uint32_t tmpreg;

  /* Check the parameters */
  assert_param(IS_USB_CLOCK(USB_Clock_InitStruct->USB_PLLUSBMUL, USB_Clock_InitStruct->USB_USBC1_Source));

  /* USB_CLOCK Configuration */
  tmpreg  = MDR_RST_CLK->USB_CLOCK;
  tmpreg |= RST_CLK_USB_CLOCK_USB_CLK_EN;
  tmpreg |= USB_Clock_InitStruct->USB_USBC1_Source;
  tmpreg |= USB_PLL;

  MDR_RST_CLK->USB_CLOCK = tmpreg;

  /* PLL_CONTROL Configuration */
  tmpreg  = MDR_RST_CLK->PLL_CONTROL;
  tmpreg |= RST_CLK_PLL_CONTROL_PLL_USB_ON;
  tmpreg |= (USB_Clock_InitStruct->USB_PLLUSBMUL << RST_CLK_PLL_CONTROL_PLL_USB_MUL_Pos);

  MDR_RST_CLK->PLL_CONTROL = tmpreg;
	
	rst_clk_timeout = 0;
  while(0 == (MDR_RST_CLK->CLOCK_STATUS & RST_CLK_CLOCK_STATUS_PLL_USB_RDY))
	{
		rst_clk_timeout++;
		if(rst_clk_timeout > PLLUSBonTimeOut)
		{
#if defined(DEBUG_DEVICE)
			usb_pll_timeout_value = rst_clk_timeout;
#endif	// defined(DEBUG_DEVICE)
			return(ERROR);
		};
	};

#if defined(DEBUG_DEVICE)
	usb_pll_timeout_value = rst_clk_timeout;
#endif	// defined(DEBUG_DEVICE)

	return(SUCCESS);
}
__IO uint32_t rst_clk_timeout;
uint32_t usb_pll_timeout_value;
#define PLLUSBonTimeOut ((uint16_t)4000)
При минус 30 отваливается по таймауту (в оригинальном варианте функции наглухо зацикливалась на опросе бита готовности).

Что не так?
Здравствуйте!

Для уточнения информации, ответьте, пожалуйста, на ряд вопросов:

1. Подскажите, пожалуйста, верно ли я понял, что используются микросхемы с военной приёмкой? Проблема наблюдается только на одной микросхеме 1986ВЕ3Т? Есть ли возможность проверить поведение в тех же условиях на другой микросхеме?

2. Можете ли Вы, пожалуйста, выслать схему Вашего изделия? Сделать это можно, отправив схему на электронную почту отдела технической поддержки компании Миландр support@milandr.ru. Это необходимо для анализа подключения микроконтроллера по части периферии, в том числе Ethernet. По текстовому описанию к выбору конденсаторов по питанию претензий нет, важно, чтобы они были не хуже Н30 (потому что при минусовой температуре, например, Н90 имеют только ~15% своей номинальной ёмкости).

3. Проявляется ли проблема при работе с простой программой, которая задействует только запуск блока USB PLL? Попробуйте также выставить значения полей SelectRI[2:0] и LOW[2:0] в значение "111"

Спасибо за информацию.

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


Вернуться к началу
СообщениеДобавлено: 2021-апр-12 12:55 
Не в сети

Зарегистрирован: 2020-дек-10 09:35
Сообщения: 26
Организация: Startex
Битом RST_CLK_PLL_CONTROL_PLL_USB_RLD не пробовали подергать?


Вернуться к началу
СообщениеДобавлено: 2021-апр-12 15:34 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
AndOrFin писал(а): *
Битом RST_CLK_PLL_CONTROL_PLL_USB_RLD не пробовали подергать?
Спасибо.
Вот в таком варианте функции все правильно с Вашей точки зрения?
/**
 * @version	0.3
 * @date		12.04.2021
 *
  * @brief  Initializes the USB peripheral Clock according to the
  *         specified parameters.
  * @param  USB_Clock_InitStruct: pointer to a USB_Clock_TypeDef structure
  *         that contains the configuration information for the USB Clock.
  *
  * @retval ERROR - ошибка PLL<br>
	*					SUCCESS - ошибок не обнаружено
  */

ErrorStatus USB_BRGInit(const USB_Clock_TypeDef* USB_Clock_InitStruct)
{
  uint32_t tmpreg;

  /* Check the parameters */
  assert_param(IS_USB_CLOCK(USB_Clock_InitStruct->USB_PLLUSBMUL, USB_Clock_InitStruct->USB_USBC1_Source));

  /* USB_CLOCK Configuration */
  tmpreg  = MDR_RST_CLK->USB_CLOCK;
  tmpreg |= RST_CLK_USB_CLOCK_USB_CLK_EN;
	tmpreg &= ~(RST_CLK_USB_CLOCK_USB_C1_SEL_Msk); // добавлено
  tmpreg |= USB_Clock_InitStruct->USB_USBC1_Source;
  tmpreg |= USB_PLL;

  MDR_RST_CLK->USB_CLOCK = tmpreg;

  /* PLL_CONTROL Configuration */
  tmpreg  = MDR_RST_CLK->PLL_CONTROL;
  tmpreg |= RST_CLK_PLL_CONTROL_PLL_USB_ON;
	tmpreg &= ~(RST_CLK_PLL_CONTROL_PLL_USB_MUL_Msk); // добавлено
  tmpreg |= (USB_Clock_InitStruct->USB_PLLUSBMUL << RST_CLK_PLL_CONTROL_PLL_USB_MUL_Pos);

  MDR_RST_CLK->PLL_CONTROL = tmpreg;

// vvvvvvvvvvvv добавлено
#if defined  (USE_MDR1986VE9x) || defined (USE_MDR1901VC1T)
  if (*(__IO uint32_t *) PLLUSBON_BB) {
    *(__IO uint32_t *) PLLUSBRLD_BB = (uint32_t) 0x01;
    *(__IO uint32_t *) PLLUSBRLD_BB = (uint32_t) 0x00;
  }
#endif

#if defined ( USE_MDR1986VE3 ) || defined (USE_MDR1986VE1T)
  if( MDR_RST_CLK->PLL_CONTROL & (RST_CLK_PLL_CONTROL_PLL_USB_ON) ) {
    tmpreg = MDR_RST_CLK->PLL_CONTROL;
    tmpreg |= RST_CLK_PLL_CONTROL_PLL_USB_RLD;
    MDR_RST_CLK->PLL_CONTROL = tmpreg;
    tmpreg &= ~RST_CLK_PLL_CONTROL_PLL_USB_RLD;
    MDR_RST_CLK->PLL_CONTROL = tmpreg;
  }
#endif
// ^^^^^^^^^^^^^ добавлено

	rst_clk_timeout = 0;
  while(0 == (MDR_RST_CLK->CLOCK_STATUS & RST_CLK_CLOCK_STATUS_PLL_USB_RDY))
	{
		rst_clk_timeout++;
		if(rst_clk_timeout > PLLUSBonTimeOut)
		{
#if defined(DEBUG_DEVICE)
			usb_pll_timeout_value = rst_clk_timeout;
#endif	// defined(DEBUG_DEVICE)
			return(ERROR);
		};
	};

#if defined(DEBUG_DEVICE)
	usb_pll_timeout_value = rst_clk_timeout;
#endif	// defined(DEBUG_DEVICE)

	return(SUCCESS);
}
На столе так работает, как освободится морозильник, попробую запустить при минусе.


Вернуться к началу
СообщениеДобавлено: 2021-апр-12 15:52 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
Lampadov писал(а): *
Здравствуйте!
Здравствуйте!
Спасибо за ответ.
Lampadov писал(а): *
1. Подскажите, пожалуйста, верно ли я понял, что используются микросхемы с военной приёмкой?
Да.
Lampadov писал(а): *
Проблема наблюдается только на одной микросхеме 1986ВЕ3Т? Есть ли возможность проверить поведение в тех же условиях на другой микросхеме?
Другой экземпляр проверялся в тех же условиях в составе закрытого блока, соответственно, отладочная информация была недоступна. Но по косвенным признакам очень похоже, что проблема такая же. Попробую изыскать возможность проверить на еще одном экземпляре.
Lampadov писал(а): *
на электронную почту отдела технической поддержки компании Миландр support@milandr.ru.
Некоторую информацию отправил.
Lampadov писал(а): *
3. Проявляется ли проблема при работе с простой программой, которая задействует только запуск блока USB PLL?
С простой программой, по возможности, попробую.

Проверяли с "боевой" прошивкой и с тестовой (только проверка работоспособности всей периферии), поведение одинаковое.
Lampadov писал(а): *
Попробуйте также выставить значения полей SelectRI[2:0] и LOW[2:0] в значение "111"
По возможности, попробую.


Вернуться к началу
СообщениеДобавлено: 2021-апр-12 21:59 
Не в сети

Зарегистрирован: 2020-дек-10 09:35
Сообщения: 26
Организация: Startex
azimuth писал(а): *
Вот в таком варианте функции все правильно с Вашей точки зрения?
Этого не знаю я. Просто предложил подергать хоть что-то, что может повлиять на PLL.


Вернуться к началу
СообщениеДобавлено: 2021-апр-14 17:41 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
Добавил сброс PLL USB, ничего не изменилось.
  if( MDR_RST_CLK->PLL_CONTROL & (RST_CLK_PLL_CONTROL_PLL_USB_ON) ) {
    tmpreg = MDR_RST_CLK->PLL_CONTROL;
    tmpreg |= RST_CLK_PLL_CONTROL_PLL_USB_RLD;
    MDR_RST_CLK->PLL_CONTROL = tmpreg;
    tmpreg &= ~RST_CLK_PLL_CONTROL_PLL_USB_RLD;
    MDR_RST_CLK->PLL_CONTROL = tmpreg;
  }
Изменил SelectRI = LOW = 7, ничего не изменилось (небольшое увеличение потребления, что логично).


Вернуться к началу
СообщениеДобавлено: 2021-апр-15 18:14 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
Проверил с другим экземпляром. Поведение идентичное.


Вернуться к началу
СообщениеДобавлено: 2021-апр-19 11:04 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 306
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
azimuth писал(а): *
Проверил с другим экземпляром. Поведение идентичное.
Здравствуйте!

Спасибо за дополнительную информацию. Обратите, пожалуйста, внимание на то, что ранее высланная электрическая схема Вашего изделия полностью не отражает вопрос организации подключения питания. Тезисно должны соблюдаться требования из официальной документации (согласно разделу 7 "Питание микросхемы" актуальной версии спецификации) на микросхему, в частности:

- Конденсаторы должны быть установлены у каждого вывода питания.
- Если не используется батарейное питание, то вывод BUcc должен быть объединен с Ucc.
- На печатной плате при организации питания должны быть применены меры по снижению наводки помех.

Подскажите, пожалуйста, выполняются ли по части организации питания данные требования (не считая остальных другие, которые представлены разделом 7 спецификации)?

Дополнительно сообщите, пожалуйста, используется ли Вами Ethernet? Насколько я понял по содержанию постов в теме, то нет. Если это так, то в качестве справки прикладываю в виде страницы часто задаваемых вопросов с информационного портала отдела технической поддержки компании Миландр информацию о том, как необходимо организовать подключение двух контроллеров Ethernet на плате. Также в качестве дополнительной информации Вами может быть принята к сведению электрическая схема отладочной платы для микроконтроллера 1986ВЕ3Т производства компании Миландр, схемотехнические файлы всегда доступны для загрузки на странице изделия с официального сайта компании.

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


Вернуться к началу
СообщениеДобавлено: 2021-апр-19 12:57 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 93
Организация: АО "РИРВ"
Откуда: СПБ
Lampadov писал(а): *
azimuth писал(а): *
Проверил с другим экземпляром. Поведение идентичное.
Здравствуйте!

Спасибо за дополнительную информацию. Обратите, пожалуйста, внимание на то, что ранее высланная электрическая схема Вашего изделия полностью не отражает вопрос организации подключения питания. Тезисно должны соблюдаться требования из официальной документации (согласно разделу 7 "Питание микросхемы" актуальной версии спецификации) на микросхему, в частности:

- Конденсаторы должны быть установлены у каждого вывода питания.
- Если не используется батарейное питание, то вывод BUcc должен быть объединен с Ucc.
- На печатной плате при организации питания должны быть применены меры по снижению наводки помех.

Подскажите, пожалуйста, выполняются ли по части организации питания данные требования (не считая остальных другие, которые представлены разделом 7 спецификации)?

Дополнительно сообщите, пожалуйста, используется ли Вами Ethernet? Насколько я понял по содержанию постов в теме, то нет. Если это так, то в качестве справки прикладываю в виде страницы часто задаваемых вопросов с информационного портала отдела технической поддержки компании Миландр информацию о том, как необходимо организовать подключение двух контроллеров Ethernet на плате. Также в качестве дополнительной информации Вами может быть принята к сведению электрическая схема отладочной платы для микроконтроллера 1986ВЕ3Т производства компании Миландр, схемотехнические файлы всегда доступны для загрузки на странице изделия с официального сайта компании.
- Расстояние до конденсаторов от выводов питания не больше 10 мм.
- BUcc соединен с основным питание контроллера.
- Внутренний слой земли, LDO непосредственно на плате с контроллером, источников помех на плате нет. При проверке подключались только МКИО, RS-232, USB к ноутбуку, питание от лабораторного источника, других подключений не было.

Ethernet не используется. Информация в https://support.milandr.ru/base/faq/32- ... se_id=8588 есть в спецификации?


Вернуться к началу
СообщениеДобавлено: 2021-апр-19 13:36 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 306
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
azimuth писал(а): *
Lampadov писал(а): *
azimuth писал(а): *
Проверил с другим экземпляром. Поведение идентичное.
Здравствуйте!

Спасибо за дополнительную информацию. Обратите, пожалуйста, внимание на то, что ранее высланная электрическая схема Вашего изделия полностью не отражает вопрос организации подключения питания. Тезисно должны соблюдаться требования из официальной документации (согласно разделу 7 "Питание микросхемы" актуальной версии спецификации) на микросхему, в частности:

- Конденсаторы должны быть установлены у каждого вывода питания.
- Если не используется батарейное питание, то вывод BUcc должен быть объединен с Ucc.
- На печатной плате при организации питания должны быть применены меры по снижению наводки помех.

Подскажите, пожалуйста, выполняются ли по части организации питания данные требования (не считая остальных другие, которые представлены разделом 7 спецификации)?

Дополнительно сообщите, пожалуйста, используется ли Вами Ethernet? Насколько я понял по содержанию постов в теме, то нет. Если это так, то в качестве справки прикладываю в виде страницы часто задаваемых вопросов с информационного портала отдела технической поддержки компании Миландр информацию о том, как необходимо организовать подключение двух контроллеров Ethernet на плате. Также в качестве дополнительной информации Вами может быть принята к сведению электрическая схема отладочной платы для микроконтроллера 1986ВЕ3Т производства компании Миландр, схемотехнические файлы всегда доступны для загрузки на странице изделия с официального сайта компании.
- Расстояние до конденсаторов от выводов питания не больше 10 мм.
- BUcc соединен с основным питание контроллера.
- Внутренний слой земли, LDO непосредственно на плате с контроллером, источников помех на плате нет. При проверке подключались только МКИО, RS-232, USB к ноутбуку, питание от лабораторного источника, других подключений не было.

Ethernet не используется. Информация в https://support.milandr.ru/base/faq/32- ... se_id=8588 есть в спецификации?
Схемы, приведенной на странице информационного портала отдела технической поддержки компании Миландр, в спецификации нет. Тем не менее, спецификация отражает типовую схему подключения выводов микросхем без использования функции Ethernet - см. рисунок 134 "Типовая схема подключения выводов микросхем без использования функции Ethernet" актуальной версии спецификации.

>> - Расстояние до конденсаторов от выводов питания не больше 10 мм.

Расстояние до конденсаторов на плате действительно должно быть минимальным, но подскажите, пожалуйста, устанавливаются ли конденсаторы по питанию на каждый вывод питания? Если не затруднит, пожалуйста, приложите кусок электрической схемы с перечнем элементов (перечень элементов на случай, если неактуален ранее высланный список).

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

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


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 20 сообщений ]  На страницу 1 2 »

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


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

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


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

Перейти: 

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