Миландр

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

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




Начать новую тему  Ответить на тему  [ 197 сообщений ]  На страницу « 110 11 12 13 14 »
Автор Сообщение
СообщениеДобавлено: 2019-окт-12 14:07 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 282
Кстати, а есть ли в микросхеме аппаратная реализация раскладки вектора ШИМ на значения регистров сравнения 3 (стоек) парных каналов ШИМ ? https://en.wikipedia.org/wiki/Space_vector_modulation

_________________
Hack the Planet!


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

Зарегистрирован: 2017-фев-14 11:21
Сообщения: 190
Организация: АО ПКК Миландр
Откуда: АО "ПКК Миландр"
Здравствуйте!

Нет, аппаратной реализации space vector modulation нет.

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


Вернуться к началу
СообщениеДобавлено: 2019-окт-15 19:45 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 282
Спасибо за информацию! Жаль, хорошо было бы добавить, если пока ещё есть возможность...

_________________
Hack the Planet!


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

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1530
Откуда: Тула
R Max писал(а):
Спасибо за информацию! Жаль, хорошо было бы добавить, если пока ещё есть возможность...
А ещё и Парка-Кларка и ПИД-регилятор тока на флотах!!))
Но, в Электросилу уже поздно...

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


Вернуться к началу
СообщениеДобавлено: 2019-окт-17 16:21 
Не в сети

Зарегистрирован: 2016-апр-04 11:26
Сообщения: 19
Организация: ГИРООПТИКА
prostoRoman писал(а):
А ещё и Парка-Кларка и ПИД-регилятор тока на флотах!!))
Но, в Электросилу уже поздно...
https://arm-software.github.io/CMSIS_5/ ... oller.html


Вернуться к началу
СообщениеДобавлено: 2019-окт-17 16:37 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1530
Откуда: Тула
Immortal_Buka писал(а):
prostoRoman писал(а):
А ещё и Парка-Кларка и ПИД-регилятор тока на флотах!!))
Но, в Электросилу уже поздно...
https://arm-software.github.io/CMSIS_5/ ... oller.html
Спасибо за ссылку, но речь шла об аппаратной реализации.

Реализация ф-ций типа float32_t arm_pid_f32 (arm_pid_instance_f32 *S, float32_t in) нарочно скрыта?

UPD: продолжая благородную тему "сам спросил - сам ответил", поскольку ф-ция помечена модификатором __STATIC_FORCEINLINE, то расположена она в CMSIS_5\CMSIS\DSP\Include\arm_math.h
Я думал там полно хитрости и заточенного под ядра ассемблерного кода, но оказалось там банально на Си (чуть подрехтую):
  {
    float32_t out;

    /* y[n] = A0 * x[n] +    A1 * x[n-1]       +    A2 * x[n-2]       +    y[n-1] */
    out = (S->A0 * in) + (S->A1 * S->state[0]) + (S->A2 * S->state[1]) + (S->state[2]);

    /* Update state */
    S->state[1] = S->state[0];
    S->state[0] = in;
    S->state[2] = out;

    /* return to application */
    return (out);
  }
А вот arm_pid_q31() и arm_pid_q16() оправдали ожидания.

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


Вернуться к началу
СообщениеДобавлено: 2019-окт-26 18:47 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 282
Микроконтроллер позиционируется для применения в электродвигателях, а будет ли какое-то SDK с готовыми прикладными применениями, программными библиотеками и отладочной платой, например как здесь https://www.st.com/en/embedded-software ... mcsdk.html

_________________
Hack the Planet!


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

Зарегистрирован: 2017-фев-14 11:21
Сообщения: 190
Организация: АО ПКК Миландр
Откуда: АО "ПКК Миландр"
Здравствуйте!

В планах у разработчиков есть отладочная программа, которая показывает графики изменения переменных в программе.
Уже был изготовлен модуль с "Электросилой", который можно установить в силовые отладочные платы от TI, но собственных плат пока нет.
Я думаю, что это тот случай, когда спрос рождает предложение. Ваш вопрос я перешлю в маркетинг. Если есть еще заинтересованные, пишите, пожалуйста, на ic@milandr.ru
По поводу ПО - стандартная библиотека будет, более широкая - пока не известно.

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


Вернуться к началу
СообщениеДобавлено: 2020-окт-13 14:27 
Не в сети

Зарегистрирован: 2015-апр-21 15:20
Сообщения: 26
На отладочной плате Электросила пробую работать с отладкой двухъядерного режима. Взял пример из приложения к отладочному комплекту ( проект SMP) , программатор ULINK2. Конфигурации RAM ULINK2 @0 , RAM ULINK2 @1 и FLASH ULINK2 @0 загрузились, нормально прошёл по точкам останова. А вот с конфигурацией FLASH ULINK2 @1 возникли проблемы : при попытке запустить этот вариант Кейл зависает. Настройки проекта не менял, всё без изменений из примера. В чём может быть причина? На сайте StartMilandr работа с этим проектом описана, но подробно только в части RAM, а вот с FLASH я как то не разобрался.


Вернуться к началу
СообщениеДобавлено: 2020-окт-13 16:23 
Не в сети

Зарегистрирован: 2017-июл-14 15:02
Сообщения: 56
Организация: АО "ПКК Миландр"
Откуда: АО "ПКК Миландр"
NikP писал(а): *
На отладочной плате Электросила пробую работать с отладкой двухъядерного режима. Взял пример из приложения к отладочному комплекту ( проект SMP) , программатор ULINK2. Конфигурации RAM ULINK2 @0 , RAM ULINK2 @1 и FLASH ULINK2 @0 загрузились, нормально прошёл по точкам останова. А вот с конфигурацией FLASH ULINK2 @1 возникли проблемы : при попытке запустить этот вариант Кейл зависает. Настройки проекта не менял, всё без изменений из примера. В чём может быть причина? На сайте StartMilandr работа с этим проектом описана, но подробно только в части RAM, а вот с FLASH я как то не разобрался.
Добрый день!

В проекте SMP приведена работа МК в режиме DualCore, при этом код для двух ядер реализован в одном проекте, разветвление выполнения программы сделано на основе значения регистра SMP_REG. Так как это единый проект для двух ядер, то его необходимо загрузить в память МК только при запуске отладки 0 ядра, запуск отладки 1 ядра не должен повторно загружать программу. Поэтому конфигурации RAM ULINK2 @0 и FLASH ULINK2 @0 загружают в память МК программу, а конфигурации RAM ULINK2 @1 и FLASH ULINK2 @1 позволяют подключиться к уже загруженной программе, не выполняя повторную запись. Для корректной отладки в конфигурациях для 1 ядра указывается только загрузка отладочной информации (файл *.ini).

Поэтому, чтобы запустить отладку 1 ядра в FLASH ULINK2 @1, необходимо сначала загрузить программу во Flash-память в FLASH ULINK2 @0. Далее требуется, чтобы программа запустилась из Flash-памяти, для этого на плате нужно установить соответствующий режим работы, например, FLASH+JB. После того как программа будет запущена, можно подключиться к 1 ядру в конфигурации FLASH ULINK2 @1.

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


Вернуться к началу
СообщениеДобавлено: 2020-окт-14 10:26 
Не в сети

Зарегистрирован: 2015-апр-21 15:20
Сообщения: 26
Что то у меня не получается.
Порядок операций, который я выполняю :
1. Устнавливаю на плате режим EEPROM JB (ону меня постоянно включен, просто проверка)
2. Включаю питание
3. Кнопка S5.
4. Загружаю проект SMP в uVision
5. Компилирую FLASH ULINK2 @0
6. Выполняю : Flash->Erase; Flash-> Download
7. Компилирую FLASH ULINK2 @1
8. Жму кнопку : Start/Stop Debug Session
9. uVision благополучно виснет ( похоже, сваливается в бесконечный цикл ожидания...)

Что из этих действий выполнено неправильно? Что критично в настройках (требует проверки перед запуском)?
IDE у меня uVision5, скачанный с сайта Keil (ограничение по коду 32К), программатор ULINK2 RealView.


Вернуться к началу
СообщениеДобавлено: 2020-окт-14 11:38 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 502
На вкладке Debug проверте галку принудительной загрузки (Load Application at Startup)

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
СообщениеДобавлено: 2020-окт-21 10:49 
Не в сети

Зарегистрирован: 2015-апр-21 15:20
Сообщения: 26
Добрый день!
Диоды в режиме DualCore (проекта SMP) на отладочной плате замигали, всё ОК.
Попробовал пойти дальше изменить частоту тактирования ядра HSI (что в примере) на HSE .
К проекту SMP добавил модули mldr124_clk.h и mldr124_clk.с.

В проекте добавил код :
...........
// Настройка тактовой частоты: HSE0-PLL0


CLK_CNTR->PER1_CLK |= 1<<26; // COMP0 EN
COMP0->ANABG_CTRL=0x00000081;
BKP->KEY = 0x8555AAA1;

CLK_XSEConfig( CLK_HSE0, CLK_XSE_ON );

if( !CLK_XSEWaitReady( CLK_HSE0 ) )

if(!CLK_SetPllClk( &CLK_CNTR->PLL[0], PLL_CLK_HSE0, CPU_CLK ) )

CLK_PllState( &CLK_CNTR->PLL[0], ENABLE );
if( !CLK_PLLWaitReady( &CLK_CNTR->PLL[0] ) )

CLK_CNTR->MAX_CLK = MAX_CLK_PLL0;
............

При этом если данный код вставлять в участок программы if (SMP_REG==0) , то импульсы идут только по выходу, управляемому
ядром 0, если в if (SMP_REG==1) - то импульсы на выходе, управляемому ядром 1. Если код вставить в оба участка, то программа вроде работает, но на выходах ничего нет.
Вопрос: как настроить тактовую частоту ядер, отличную от HSI ?


Вернуться к началу
СообщениеДобавлено: 2020-окт-26 15:55 
Не в сети
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 67
Организация: Milandr
Откуда: АО «ПКК Миландр»
NikP писал(а): *
Добрый день!
Диоды в режиме DualCore (проекта SMP) на отладочной плате замигали, всё ОК.
Попробовал пойти дальше изменить частоту тактирования ядра HSI (что в примере) на HSE .
К проекту SMP добавил модули mldr124_clk.h и mldr124_clk.с.

В проекте добавил код :
...........
// Настройка тактовой частоты: HSE0-PLL0


CLK_CNTR->PER1_CLK |= 1<<26; // COMP0 EN
COMP0->ANABG_CTRL=0x00000081;
BKP->KEY = 0x8555AAA1;

CLK_XSEConfig( CLK_HSE0, CLK_XSE_ON );

if( !CLK_XSEWaitReady( CLK_HSE0 ) )

if(!CLK_SetPllClk( &CLK_CNTR->PLL[0], PLL_CLK_HSE0, CPU_CLK ) )

CLK_PllState( &CLK_CNTR->PLL[0], ENABLE );
if( !CLK_PLLWaitReady( &CLK_CNTR->PLL[0] ) )

CLK_CNTR->MAX_CLK = MAX_CLK_PLL0;
............

При этом если данный код вставлять в участок программы if (SMP_REG==0) , то импульсы идут только по выходу, управляемому
ядром 0, если в if (SMP_REG==1) - то импульсы на выходе, управляемому ядром 1. Если код вставить в оба участка, то программа вроде работает, но на выходах ничего нет.
Вопрос: как настроить тактовую частоту ядер, отличную от HSI ?
Здравствуйте!

Использовать частоту для MAX_CLK, отличную от HSI, в режиме DUALCORE можно, при этом без каких-либо проблем на отладочной плате производства компании Миландр на базе микроконтроллера Электросила будут функционировать следующие предустановки: HSE0, HSE0/2, HSI/2. В Вашем же случае для частоты MAX_CLK применяется блок умножения тактовой частоты PLL (всего четыре блока). При работе с этим блоком есть несколько особенностей (учтены в приложенном к посту проекте):

1. При использовании библиотечного файла mldr149_clk.c (или mldr124_clk.c), в частности функции CLK_SetPllClk(), которая применяется в конструкции для задания необходимой частоты, важно учесть, что при поиске делителя q допущена ошибка, что может приводить к некорректной работе на определенных частотах. В скором времени официально будет предоставляться пак для IDE Keil под микроконтроллер Электросила, где данный файл уже будет актуальным;
2. Выходная частота PLL должна быть от 150 МГц до 300 МГц, выходной же делитель может быть 2 или 4, поэтому минимальная частота, которую можно задать с PLL, составляет 37.5 МГц;
3. У FLASH-памяти есть время выборки, и если частота большая, то прежде чем на неё перейти, нужно настроить количество циклов ожидания в контроллере FLASH, регистр CNTR, биты [3:0] поля WAITCIRCLE.

Приблизительно рассчитанное количество циклов ожидания в контроллере FLASH для работы микроконтроллера на разных частотах:
Диапазон частот 37.5 МГц - 86 МГц = не менее 2;
Диапазон частота 87 МГц - 124 МГц = не менее 3;
Диапазон частот 125 МГц и более = 4 и более.

Проблем выявлено не было, всё работает штатно. Если же Вами будет принято решение отлаживать оба ядра, то необходимо следовать рекомендациям из статьи официального информационного портала, которая неоднократно упоминалась в переписке, тем не менее, статья доступна по ссылке: https://support.milandr.ru/base/primene ... how/24394/

Для Вашего же удобства во вложении к посту, на которой представлены настройки для подключения отладчиком (ULINK2, например) к каждому ядру, пока другое выполняет свою программу.

Не забудьте, пожалуйста, для работы с микроконтроллером Электросила обновить проект спецификации, обновление которого состоялось 21.10.2020. Актуальная версия проекта спецификации на микроконтроллер Электросила, ровно как и любая другая документация по изделиям компании Миландр, доступна на информационном портале отдела технической поддержки компании Миландр (помимо официального сайта компании Миландр за исключением как раз-таки части документации), в поиске раздела "Документация": https://support.milandr.ru/docs/dokumentatsiya/

Открыть Тык
Вложение:
[ attachment ]
elpower_debug.png [ 99.97 КБ | 1057 просмотров ]
Закрыть


Вложения:
ElPower_DualCore.zip [336.6 КБ]
38 скачиваний

_________________
Отдел технической поддержки support@milandr.ru
Вернуться к началу
СообщениеДобавлено: 2020-окт-31 22:09 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 282
Попытался переписать пример Hello для флеш c паком от StartMilandr https://github.com/StartMilandr/MDR_Pack_v6. Программа зашивается и отлаживается J-Link в Keil 5.29, но возникают непонятные глюки:
1) при любом обращении через битовые поля значение размазывается по байтам, то есть пишется какой-либо бит, а он повторяется 4 раза,
2) HSE не запускается, даже если не использовать битовые поля, а просто писать константу в регистр.

Что делаю не так?


Вложения:
esila.rar [345.57 КБ]
13 скачиваний

_________________
Hack the Planet!
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 197 сообщений ]  На страницу « 110 11 12 13 14 »

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


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

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


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

Перейти: 

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