Миландр

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

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




Начать новую тему  Ответить на тему  [ 280 сообщений ]  На страницу « 115 16 17 18 19 »
Автор Сообщение
СообщениеДобавлено: 2019-июл-23 16:23 
Не в сети

Зарегистрирован: 2018-ноя-15 07:56
Сообщения: 13
Организация: АО ГосНИИП
Откуда: АО ГосНИИП Москва
В режиме MODE= 010 или 011, возможно как нибудь установить разными сигналы каналов EXI1 EXI2 ?
Ex_source=1 на обоих преобразователях.


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-июл-24 15:24 
Не в сети

Зарегистрирован: 2018-ноя-15 07:56
Сообщения: 13
Организация: АО ГосНИИП
Откуда: АО ГосНИИП Москва
И еще такой вопрос,
влияют ли на шум(дребезг) сигнала восстановленной частоты такие настройки как LBW и Coord_resolution ?


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-авг-05 12:41 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 97
Откуда: АО "ПКК Миландр"
Ivan44 писал(а):
Уважаемые форумчане, если я второй канал не буду использовать я его могу не подключать схематически(40, 51, 54, 55, 56, 64 выводы) или лучше подключить ??? Разводка будет проще и так места мало)))

Свободные выводы на землю посадить для экономии потребления ?
Ответил в личку, продублирую тут для всех:

Неиспользуемый операционник следует соединить в режиме повторителя следующим образом:
1. Выход операционника соединить с отрицательным входом
2. Положительный вход соединить с выходом опорного напряжения 1.25В

Неиспользуемые цифровые входы лучше подключить к напряжению логической единицы или нуля через резистор.


Последний раз редактировалось Alex1 2019-авг-05 12:48, всего редактировалось 1 раз.

Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-авг-05 12:47 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 97
Откуда: АО "ПКК Миландр"
Storoj писал(а):
В режиме MODE= 010 или 011, возможно как нибудь установить разными сигналы каналов EXI1 EXI2 ?
Ex_source=1 на обоих преобразователях.
К сожалению нельзя.
Storoj писал(а):
Влияют ли на шум(дребезг) сигнала восстановленной частоты такие настройки как LBW и Coord_resolution ?
Нет - никак не влияют


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-04 09:26 
Не в сети

Зарегистрирован: 2019-июл-31 08:38
Сообщения: 7
Организация: ПАО АНПП "ТЕМП-АВИА"
Всем здравствуйте. Использую 1310HM025. Cоставил тествое ПО для неё и хочу залить в неё. Для начала в режиме чтения записи отправляю регистр с адресом 0х00 и с наполнением, но в ответ получаю маленько не то что ожидаю. Посылка :
{32769, 35082}
вот наполнение:
PLL_N = 10;
PLL_Q = 2;
ADC_cycle = 17;
А получаю:{34826}
вот ответ:
PLL_N = 10;
PLL_Q = 0;
ADC_cycle = 17;
Почему так? PLL_Q не записалась! Подскажите пожалуйста почему так? Всем заранее спасибо!


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-04 15:00 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 97
Откуда: АО "ПКК Миландр"
Здравствуйте.
Читается значение по умолчанию, т.е. запись не прошла.
Проверьте питание/резет/наличие частоты на кварце, а также соответствует ли временная диаграмма SPI даташиту.
Транзакции {32769, 35082} корректны, у меня записывается PLL_Q=2.


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-05 16:42 
Не в сети

Зарегистрирован: 2019-июл-31 08:38
Сообщения: 7
Организация: ПАО АНПП "ТЕМП-АВИА"
Всем здравствуйте. Использую 1310HM025. Cоставил тествое ПО, хочу залить в неё. Для начала в режиме чтения записи отправлял регистр с адресом 0х00 и с наполнением и получал ожидаемый ответ. Отправляю теперь всё тестовое ПО({32769, 35082, 32785, 16497, 32801, 20224, 193, 16910, 705, 16910, 209, 770, 33489, 770, 241, 4194, 753, 4194})- ожидаемые ответы приходят но вперемешку с нулями. Почему так? Что является признаком, что все залилось правильно? Может правильные ответы? Всем заранее спасибо!


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-05 18:26 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 97
Откуда: АО "ПКК Миландр"
Чтение записанных регистров и получение при этом тех же значений что и записывались.
Но тут, скорее всего, SPI сломан - некорректная времянка.


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-10 16:08 
Не в сети

Зарегистрирован: 2019-июл-31 08:38
Сообщения: 7
Организация: ПАО АНПП "ТЕМП-АВИА"
Всем здравствуйте.
Alex1 писал(а):
Чтение записанных регистров и получение при этом тех же значений что и записывались.
Но тут, скорее всего, SPI сломан - некорректная времянка.
Вот организовал цикл с функцией, кот выполняется раз в 500 микро сек. Снял временной график:
желтый - FCLK, зеленый - SDI, голубой - SSTR..
Вот функция:
void updateAngleCode0(){
	uint16_t count = 0;
	uint16_t data = 0;
	uint16_t dataArr[2];
	while (not spi::isInputEmpty(spi::Spi2)){
		spi::pop(spi::Spi2, data);
		dataArr[count] = data;
		if (++count > 1)
			break;
	}
        angleCode0.setData(dataArr, count);
        core::disableInterrupts();
       for (int i = 0; i < 2; i ++)
	{
		dataArr [i] = *angleCode0.TxBuffer;
		spi::push(spi::Spi2, dataArr [i]);
		angleCode0.TxBuffer++;

	}
	core::enableInterrupts();
}
Вижу, что не соответствует графику режима чтения записи... В какой части чинить то SPI? Всем заранее спасибо за помощь.


Вложения:
Комментарий к файлу: временной график:
желтый - FCLK, зеленый - SDI, голубой - SSTR.
[ attachment ]
tek00000.png [ 30.16 КБ | 926 просмотров ]
Вынести предупреждение
Вернуться к началу
 Заголовок сообщения: Получение скорости из 1310нм025
СообщениеДобавлено: 2019-сен-11 15:43 
Не в сети

Зарегистрирован: 2019-авг-09 08:19
Сообщения: 1
Организация: АО НПП "Стрела"
Откуда: АО НПП "Стрела"
Добрый день! Подскажите пожалуйста, какие есть тонкости в настройке микросхемы 1310нм025 rev.1 для того, чтобы получать корректные значения скорости?


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-16 15:58 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 97
Откуда: АО "ПКК Миландр"
urban81 писал(а):
....
В какой части чинить то SPI? Всем заранее спасибо за помощь.
Не корректно настроен SPI в микро контроллере, может кто по микроконтроллерам подскажет/поделится настройкой.


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-17 13:33 
Не в сети

Зарегистрирован: 2015-май-23 10:44
Сообщения: 3
А можно сейчас приобрести rev.3? Если нет, то когда планируется?


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-18 08:35 
Не в сети

Зарегистрирован: 2017-май-31 15:10
Сообщения: 51
Организация: АО "ПКК Миландр"
Откуда: АО "ПКК Миландр"
Maximka писал(а):
А можно сейчас приобрести rev.3? Если нет, то когда планируется?
Здравствуйте! С этими вопросами обратитесь, пожалуйста, на почту отдела маркетинга ic@milandr.ru

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


Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-20 13:34 
Не в сети

Зарегистрирован: 2019-июл-31 08:38
Сообщения: 7
Организация: ПАО АНПП "ТЕМП-АВИА"
Alex1 писал(а):
urban81 писал(а):
....
В какой части чинить то SPI? Всем заранее спасибо за помощь.
Не корректно настроен SPI в микро контроллере, может кто по микроконтроллерам подскажет/поделится настройкой.
Всем здравствуйте. В итоге заработала запись-чтение и чтение в режиме 2 на тест плате (К1921ВК01Т_Кортекс + 1310НМ025 + 1310НМ026...). Вот циклограмма:
Вот функции:
bool ReadWriteRegistr ( uint16_t * Data )
{
	uint16_t data_rx = 0;
	if(!flag_rw)
	{

		uint16_t address =  *Data;
		uint16_t registr =  *++Data;

		core::disableInterrupts();

		if (!flag_address_rw)
		{
			spi::push(spi::Spi0, address );

			core::waitTimer(2, ( 5 * core::TIME_1mSec ) );

			flag_address_rw = true;
			flag_registr_rw = false;
		}
		else
		if (!flag_registr_rw)
		{
			spi::push(spi::Spi0, registr );

			core::waitTimer(2, ( 5 * core::TIME_1mSec ) );

			flag_address_rw = false;
			flag_registr_rw = true;

		}

		core::enableInterrupts();

		while (not spi::isInputEmpty(spi::Spi0))
		{
			spi::pop(spi::Spi0, data_rx);

			if (data_rx == registr)
			{
				flag_address_rw = false;
				flag_registr_rw = false;
				flag_rw = true;
				//spi::pop(spi::Spi0, data_rx);
				//if (data_rx == registr)
				//	return true;
			}

		}
		return false;
	}
	else if (flag_rw)
	{
		spi::pop(spi::Spi0, data_rx);
		flag_address_rw = false;
		flag_registr_rw = false;
		flag_rw = false;
		return true;
	}
}
void ReadRegistrReg2 ( uint16_t * Data )
{
	uint16_t address =  *Data;

	uint16_t registr =  0;

	core::disableInterrupts();

	spi::push(spi::Spi0, address);
	core::waitTimer(2, ( 1 * core::TIME_1mSec ) );

	core::enableInterrupts();

	while (not spi::isInputEmpty(spi::Spi0))
	{
		spi::pop(spi::Spi0, registr);
	}
}
void Get_Registrs_R2()
{

	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.pLL_config_0x00);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.aFE_config_0x02);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.mode_stat_0x04);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c1Cntrl_0x18);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c2Cntrl_0x58);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c1ResCntrl_0x1A);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c2ResCntrl_0x5A);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c1EXInc_0x1E);
	ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c1Coord_0x10);
	//ReadRegistrReg2 ( (uint16_t*) &angleCode.Config_R2.Reg.c1Stat_0x14);
}

void Set_Registrs_RW()
{
	count = 0;

	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.pLL_config_0x00))	count++;
	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.aFE_config_0x02))	count++;
	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c1Cntrl_0x18))		count++;
	//while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c2Cntrl_0x58))		count++;
	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c1ResCntrl_0x1A))	count++;
	//while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c2ResCntrl_0x5A))	count++;
	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c1EXInc_0x1E))		count++;
	//while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c2EXInc_0x5E))		count++;
	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c1Mask_0x16))		count++;
	//while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.c2Mask_0x56))		count++;
	while	(!ReadWriteRegistr ( (uint16_t*) &angleCode.mask_0x06))		count++;
	for (int i = 0; i < 4; i ++)
	{
		ReadWriteRegistr ( (uint16_t*) &angleCode.mode_stat_0x04);
		count++;
	}

}
Так же к плате подключен СКВТ ИС-17. Сейчас читаю регистра 0х10. С какого регистра получить угол? Всем заранее спасибо.


Вложения:
[ attachment ]
tek00003.png [ 28.93 КБ | 747 просмотров ]
Вынести предупреждение
Вернуться к началу
СообщениеДобавлено: 2019-сен-20 14:52 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 97
Откуда: АО "ПКК Миландр"
Добрый день,

Угол считывается как раз с 0x10. Но нужно сначала немного понастраивать. Как минимум записать в регистры 0x18, 0x1A, 0x1E.


Вынести предупреждение
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 280 сообщений ]  На страницу « 115 16 17 18 19 »

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


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

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


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

Перейти: 

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