Возможно ли переписать PWM ?

Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

попробовал.

удалил файл, создал новый проект, скомпилировал программу, записал в контроллер и оно работает, как-будто ничего с ней не делали.
может, есть ещё какие-нибудь весёлые файлики ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

задал вопрос по ШИМу на официальном сайте. такое ощущение, что они сами не совсем понимают как можно реализовать подобное ( http://forums.ni.com/t5/LabVIEW-Embedde ... -p/1286144

у меня ещё плата с LPC2468 есть, сейчас на ней проведу испытания
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

вот что я обнаружил ещё. есть файл библиотеки LPC2468IO, например. если его открыть ( с помощью IZArc) то там есть список файликов...один из них mcb2400_pwm.o
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

Crowbar
, не подскажешь как пользоваться прерываниями ? в примерах есть два варианта, для EK-LM3S8962 и MCB2300. но что там является начальными настройками, нужо ли менять что-то в опциях Application или опция Target. Прерывания работают для всего :vi: или какого-то определённого цикла ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Konstantin Sumenko »

У меня нет сейчас доступа к LV. Странно, что удаление MCB2300_PWM.C не влияет на результат в проекте MCB2300, так как именно PWMInint вызывается при использовании на блок диаграмме Elemental IO node в случае PWM. Вообще ты можешь через uVision посмотреть детально, что использовалось при компиляции и сам код. Так же библиотеки, используемые в LV Embedded в рамках конкретного таргета, раскиданы по разным папкам (по памяти: common, general, MCB2300 и т.п.), возможно что-то продублировано.
Прерывания сначала настраиваются в свойствах приложения Application->Manage Interrupts. Там выбирается нужный источник прерываний, обработчик прерывания (обычное VI), настройки срабатывания и тип: потоковое (threaded) и непотоковое (nonthreaded). Потоковое прерывание запускает обработчик прерывания в отдельном потоке (приоритет настраивается), непотоковое прерывание приостанавливает выполнение всей программы и запускает обработчик, как только он отработает, выполнение основной программы возобновляется с того места, где сработало прерывание. Это в общих чертах. У каждого из подходов свои плюсы и минусы: потоковое прерывание допускает динамическое выделение памяти в обработчике и не стопорит основную программу; непотоковое прерывание имеет существенно меньшую задержку от события до обработки и легковесней потокового.
До версии 8.6 включительно существовал второй способ обработки прерываний: не в отдельном VI, а в Timed Loop, потом эту возможность убрали.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

а мегагерцовые часы с помощью прерываний можно организовать ? если можно, то как ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Konstantin Sumenko »

Чтобы отсчитывало по 1мкс а не 1мс? Прерыванием можно через таймер, но сама RTX real-time OS будет накладывать ограничение на быстродействие к тому же тебе придется всю программу выполнять внутри обработчика- не успеешь по-другому. Есть второй способ: в настройках ядра RTX поменять значение тактовой частоты с 50 Мгц на более низкое, тогда у тебя в пропорциональное кол-во раз съедут показатели выполнения цикла и все функции, связанные с отсчетом времени.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

ага, мне этот способ предлагали на ni.com. только почему именно 50 МГц ? или это на плате MCB2300 процессор работает с частотой 50 МГц ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Konstantin Sumenko »

Это таргет так сконфигурирован (сам процессор способен работать с тактовой до 72 Мгц) и кстати для MCBxxxx в LV Embedded cclk=48 Мгц а не 50. Это в LM3S 50 Мгц.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

а от куда эта частота изначально берётся ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Konstantin Sumenko »

Как откуда: результат работы ФАПЧ с последующим делением, опорный генератор- внешний кварц или внутренний. Конечная частота задается регистрами при программировании.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

я имел в виду в RTX_CONFIG.C

// <o>Timer clock value [Hz] <1-1000000000>
// <i> Set the timer clock value for selected timer.
// <i> Default: 15000000 (15MHz at 60MHz CCLK and VPBDIV = 4)
#ifndef OS_CLOCK
#define OS_CLOCK 12000000
#endif
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Konstantin Sumenko »

Для арбитража потоков-задач в RTX используется таймер, который на приведенной картинке настраивается (для разных архитектур по-своему: Timer0, SysTick и т.п.). 12 Мгц это частотная опора для твоего таймера.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Sergey Ivanov »

то есть я должен вместо

#define OS_CLOCK 12000000

вписать

#define OS_CLOCK 1200000 ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Возможно ли переписать PWM ?

Сообщение Konstantin Sumenko »

Так точно.
Ответить

Вернуться в «Real Time / FPGA / Embedded»