Vector IDE

Илья!
Сообщения: 57
Зарегистрирован: 09 ноя 2018, 16:55

Re: Vector IDE

Сообщение Илья! » 31 янв 2019, 16:36

"из коробки" - имею ввиду то, которое идет в комплекте с дистрибутивом VectorIDEv1.2_setup.exe

Аватара пользователя
Лашкевич Максим
Сообщения: 223
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 31 янв 2019, 22:42

Не настроено смещение ДПР? Пройдите все шаги из "6.1.4. Проверка и настройка ДПР" документа "Описание структуры ПО MotorControlDemo_v22.pdf" из https://bitbucket.org/niietcm4/motorcon ... downloads/.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Илья!
Сообщения: 57
Зарегистрирован: 09 ноя 2018, 16:55

Re: Vector IDE

Сообщение Илья! » 05 фев 2019, 13:56

Максим, добрый день.
MotorControl Demo/ Инициализация ШИМ. Для формирования напряжения Вы используете блоки ШИМ0 - ШИМ2. А вот для запуска АЦП используете блок ШИМ3. Скажите пожалуйста в чем тайный смысл такого распределения? Почему бы не использовать блоки ШИМ 0 - 2 для запуска АЦП?

И еще один вопросик.
файл SM_Sys.с, стр.131:
NVIC_SetPriorityGrouping(3); // 4 bit preemption, 0 bit of subprio
Было выяснено на форуме НИЭТ, что в данном контроллере отведено 3 бита (7-5) в Interrupt Priority Registers для разделения прерываний на группы и подгруппы. Поэтому запись значения 3 в регистр AIRCR является некорректным.
Как Вы объясните этот факт? Описка? Или не влияет на работоспособность?

Благодарю.

Аватара пользователя
Лашкевич Максим
Сообщения: 223
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 05 фев 2019, 14:22

В общем случае АЦП можно запускать на другой частоте/фазовом сдвиге по сравнению с ШИМ. Удобно, когда таймер запуска АЦП можно настраивать независимо.

Я помню, что тут была какая-то нестыковка, но также помню, что, кажется, при указании правильных значений что-то ломалось. Возможно, какие-то нюансы реализации библиотеки NVIC от кортекса. Если есть желание и время, можете попробовать задать другие значения и проверить результаты (хотя проверить получившийся в итоге приоритет прерываний не так просто, нужны хитрые опыты). Сообщите, будет полезно.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Илья!
Сообщения: 57
Зарегистрирован: 09 ноя 2018, 16:55

Re: Vector IDE

Сообщение Илья! » 11 фев 2019, 18:31

Максим, подскажите пожалуйста, как в VectorIde можно посмотреть регистры переферии в режиме отладки?

Благодарю

Аватара пользователя
Лашкевич Максим
Сообщения: 223
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 11 фев 2019, 18:53

Способ 1 - добавить соответствующую структуру в expressions, развернуть. Например, NT_CAP0 и смотреть/менять.
Способ 2 - подключить SVD файл, как обсуждается на форуме здесь (читать две страницы) . http://forum.niiet.ru/viewtopic.php?f=3 ... t=80#p4331

Конечно же, все работает только на остановленном ядре (на точке останова).
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Илья!
Сообщения: 57
Зарегистрирован: 09 ноя 2018, 16:55

Re: Vector IDE

Сообщение Илья! » 26 фев 2019, 15:11

Добрый день, Максим.
Разъясните пожалуйста след. вопрос.
ПО MotorControlDemo. ШИМ. Параметр "pwm.PDP_Fault". Для чего он предназначен и как используется?
В модуле SM_Prorect.c, он анализируется, но вот чтобы этот параметр где-то менялся, я не нашел.
И еще, поясните пожалуйста, почему аппаратную защиту драйвера Вы завели на линию GPIO, а не на Трип-зону блока ШИМ? В чем тайный смысл?

Благодарю

Аватара пользователя
Лашкевич Максим
Сообщения: 223
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 26 фев 2019, 15:23

Добрый день. PDP_Fault это, видимо, атавизм, или, если хотите, шаблон для возведения там единички в случае аварии в модуле ШИМ, на случай если прием аварии ключей выполнен сложнее, чем просто дискретная ножка. Сейчас переменная не используется, да.

Трип-зона не используется в силу универсальности - MotorControlDemo может компилироваться под много разных видов железа, и в некоторых из них такой ножки аппаратной аварии просто нет, или она заводится не туда, или логика её работы не подходит для trip-zone. Чтобы не плодить миллион дефайнов, мы сделали через GPIO. Если же конкретное железо позволяет, конечно же, лучше сконфигурировать trip-zone - в коде есть закомменченные заделы для этого.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Илья!
Сообщения: 57
Зарегистрирован: 09 ноя 2018, 16:55

Re: Vector IDE

Сообщение Илья! » 27 фев 2019, 17:37

Максим, подскажите пожалуйста, в чем может быть причина возникновения данной ошибки при компиляции проекта в VectorIde

cs-make: *** No rule to make target `D:/Ilez/Work/Curent_Projects/VectorIDEws/MotorControlDemo/lib/libc.a', needed by `MotorControlDemo.elf'. Stop.

Благодарю.

Аватара пользователя
Лашкевич Максим
Сообщения: 223
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 27 фев 2019, 17:52

Попробуйте удалить папку Debug, проверьте, что вообще файлы проекта все есть (иногда импорт проекта проходит неправильно, и половина файлов теряется - рекомендуется при импорте ставить галочку "копировать исходники в воркспейс"), проверьте, компилирутся ли другие проекты?
Другие файлы, помимо этой либы, компилируются?
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Ответить