Перейти к содержанию
    

spl

Участник
  • Постов

    12
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

845 просмотров профиля
  1. Здравствуйте. Имеется проект Phase Shift мостового источника питания, выполненый на микроконтроллере UCD3138. При компиляции выдаются ошибки. Многие через это прошли и некоторые по всей видимости удачно. В частности: https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/847089/ccs-ucd3138-program-ucd3138hsfbevm_029-compile-failed По этим рекомендациям я дошел до предпоследнего пункта, но полностью убрать ошибки компиляции не получается. В частности, как там и описывается, остаются ошибки: #10234-D unresolved symbols remain errors encountered during linking; "UCD3138_PSFB_PCM.out" not errors encountered during linking Требуется специалист по Code Composer Studio, который 1. Сможет получить нормально компилирующийся проект 2. Разобраться с особенностями внутреннего устройства микроконтроллера UCD3138 3. Разобраться в проекте - что откуда берется и как далее преобразуется и управляется 4. Переделать проект под другое железо, правильно настроить ПИД регуляторы. Имеется Reference Design силовой платы от TI, плата управления с микроконтроллером, отладчик, отлаженная силовая плата аналогичного БП куда предполагается портировать проект. Работа предполагается в составе команды, вместе с опытными инженерами по силовой электронике, которые могут подсказать по схемотехнике и физике преобразования. Работа достаточно сложная и долгая. Исполнитель должен иметь возможность раз в две недели приезжать в Москву для личного общения. Готовы рассмотреть удаленную работу по п.1 без продолжения работ по остальным пунктам.
  2. Да, есть еще другие замечательные контроллеры синхронного выпрямителя, например IR11682 и замечательный контроллер резонансного полумоста IRS27951 или полного моста UCC28950, и замечательный контроллер корректора мощности NCP1654, и еще один контроллер PMBUS на любом более-менее приемлемом микроконтроллере. Мы сейчас пытаемся запрыгнуть в последний вагон. Современные серверные источники питания все сплошь цифровые - на dsPIC, на UCD3138A, на других контроллерах. Изделия становятся все компактнее и технологичнее. Найти сейчас серверный источник питания на отдельных микросхемах задача очень непростая.
  3. Понемногу разбираюсь. Поскольку поворот на углы Эйлера осуществляется последовательно - XYZ, то и вычитание этих углов должно быть таким же только в обратном порядке - ZYX. Таким образом, методом вычитания можно найти только первый угол - X, осуществив последовательное вычитание вокруг ZY. На этом мысль заканчивается. Как найти два других угла непонятно.
  4. Попробую уточнить вопрос. Имеется некоторый кватернион q определяющий текущее положение тела в пространстве. Если проделать следующие математические операции YPR = euler_from_quat(q); // Вычисляем углы Эйлера q1 = Quat_from_Eueler(0, 0, -YPR[2]); // Формируем кватернионы обратного поворота q2 = Quat_from_Eueler(0, -YPR[1], 0); q4 = quat_mul_quat(q1, q); // Поворот q5 = quat_mul_quat(q2, q4); // Поворот то в q5 будет отсутствовать вращение по двум осям. Останется только одно. Если я хочу заблокировать вращение по другим осям, то пытаюсь сделать так YPR = euler_from_quat(q); // Вычисляем углы Эйлера q1 = Quat_from_Eueler(0, -YPR[1], 0); // Формируем кватернионы обратного поворота q2 = Quat_from_Eueler(-YPR[0], 0, 0); q4 = quat_mul_quat(q1, q); // Поворот q5 = quat_mul_quat(q2, q4); // Поворот но вращение остается по всем осям. Чувствую, что преобразование не корректное т.к. мне нужно исключить вращение по тангажу, курсу и крену, а я вычитаю углы Эйлера, но, в первом случае результат получается именно такой, какой и нужно. Т.е. вычисляется общий кватернион поворота, а затем нужно вычислить отдельные его составляющие после обнуления поворота по другим осям. Т.е. требуется найти три кватерниона поворота, после которых 1. тангаж=текущий угол; крен=0; курс=0; 2. тангаж=0; крен=текущий угол; курс=0; 3. тангаж=0; крен=0; курс=текущий угол; А может надо совсем все по другому делать т.к. в конечном итоге нужно определить углы между локальными осями координат (оси объекта) относительно плоскостей глобальной системы координат.
  5. Прошу прощения за некромантию. Уважаемый AlexPec, удалось ли вам повернуть систему координат на угол обратный teta? А то мне как-раз требуется проделать такой-же фокус, только дополнительно еще повернуть и на угол обратный phy. Т.е. чтобы осталось только вращение по одному углу psi.
  6. Oxygen Power совершенно прав. Данный транзистор слишком тяжел для такого драйвера. Нужно либо увеличивать R14 и ограничивать ток, либо брать транзистор с меньшей емкостью затвора. И в том и в другом случае драйвер перестанет вылетать, но будет греться транзистор.
  7. В том-то и дело, что требовалось именно считать всю прошивку внешним процессором. Спасибо SM за дельную мысль. В итоге мне больше понравился следующая методика: Из файла *.pof создается *.svf, который конвертится (компилируется) в *.xsvf, который в свою очередь "проигрывается" playxsvf-плеером "встроенным" в процессор. SVF формат понравился больше чем JAM из-за того, что можно легко разделить процессы записи/чтения прошивки ПЛИС.
  8. Для этого придумали разделение труда - специалисты по сертификации проверяют что проц выдает именно именно прошивку а не ее копию, а контролирующие органы проверяют соответствие этой прошивки оригиналу.
  9. Специфика девайса: По запросу контролирующих органов проц должен выдать дампы прошивки всего что шьется включая и свой собственный.
  10. Имеется плата на которой стоит проц и Altera MAXII. Как сделать так, чтобы по запросу проца CPLD передавала ему свой загрузочный код? Я так понял, что JAM-player может прошить ПЛИС, но не прочитать. Если писать код считывания самому, то в описании протокола (Configuration Handbook) MAXII отсутствует, а для описанных семейств приведены подробные временные диаграммы, но не нашел верхнего уровня (т.е. какие собственно данные нужно посылать).
×
×
  • Создать...