Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 280 ]  На страницу Пред.  1 ... 15, 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.

tek00000.png
tek00000.png [ 30.16 КБ | Просмотров: 782 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Получение скорости из 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
Сообщения: 50
Откуда: АО "ПКК Миландр"
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. С какого регистра получить угол? Всем заранее спасибо.


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

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 280 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19  След.

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


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

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


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

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