Возможно ли переписать PWM ?
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
попробовал.
удалил файл, создал новый проект, скомпилировал программу, записал в контроллер и оно работает, как-будто ничего с ней не делали.
может, есть ещё какие-нибудь весёлые файлики ?
удалил файл, создал новый проект, скомпилировал программу, записал в контроллер и оно работает, как-будто ничего с ней не делали.
может, есть ещё какие-нибудь весёлые файлики ?
Добро пожаловать на http://rk-stud.ru/
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
задал вопрос по ШИМу на официальном сайте. такое ощущение, что они сами не совсем понимают как можно реализовать подобное ( http://forums.ni.com/t5/LabVIEW-Embedde ... -p/1286144
у меня ещё плата с LPC2468 есть, сейчас на ней проведу испытания
у меня ещё плата с LPC2468 есть, сейчас на ней проведу испытания
Добро пожаловать на http://rk-stud.ru/
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
вот что я обнаружил ещё. есть файл библиотеки LPC2468IO, например. если его открыть ( с помощью IZArc) то там есть список файликов...один из них mcb2400_pwm.o
Добро пожаловать на http://rk-stud.ru/
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
Crowbar
, не подскажешь как пользоваться прерываниями ? в примерах есть два варианта, для EK-LM3S8962 и MCB2300. но что там является начальными настройками, нужо ли менять что-то в опциях Application или опция Target. Прерывания работают для всего или какого-то определённого цикла ?
, не подскажешь как пользоваться прерываниями ? в примерах есть два варианта, для EK-LM3S8962 и MCB2300. но что там является начальными настройками, нужо ли менять что-то в опциях Application или опция Target. Прерывания работают для всего или какого-то определённого цикла ?
Добро пожаловать на http://rk-stud.ru/
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
У меня нет сейчас доступа к 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, потом эту возможность убрали.
Прерывания сначала настраиваются в свойствах приложения Application->Manage Interrupts. Там выбирается нужный источник прерываний, обработчик прерывания (обычное VI), настройки срабатывания и тип: потоковое (threaded) и непотоковое (nonthreaded). Потоковое прерывание запускает обработчик прерывания в отдельном потоке (приоритет настраивается), непотоковое прерывание приостанавливает выполнение всей программы и запускает обработчик, как только он отработает, выполнение основной программы возобновляется с того места, где сработало прерывание. Это в общих чертах. У каждого из подходов свои плюсы и минусы: потоковое прерывание допускает динамическое выделение памяти в обработчике и не стопорит основную программу; непотоковое прерывание имеет существенно меньшую задержку от события до обработки и легковесней потокового.
До версии 8.6 включительно существовал второй способ обработки прерываний: не в отдельном VI, а в Timed Loop, потом эту возможность убрали.
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
а мегагерцовые часы с помощью прерываний можно организовать ? если можно, то как ?
Добро пожаловать на http://rk-stud.ru/
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
Чтобы отсчитывало по 1мкс а не 1мс? Прерыванием можно через таймер, но сама RTX real-time OS будет накладывать ограничение на быстродействие к тому же тебе придется всю программу выполнять внутри обработчика- не успеешь по-другому. Есть второй способ: в настройках ядра RTX поменять значение тактовой частоты с 50 Мгц на более низкое, тогда у тебя в пропорциональное кол-во раз съедут показатели выполнения цикла и все функции, связанные с отсчетом времени.
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
ага, мне этот способ предлагали на ni.com. только почему именно 50 МГц ? или это на плате MCB2300 процессор работает с частотой 50 МГц ?
Добро пожаловать на http://rk-stud.ru/
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
Это таргет так сконфигурирован (сам процессор способен работать с тактовой до 72 Мгц) и кстати для MCBxxxx в LV Embedded cclk=48 Мгц а не 50. Это в LM3S 50 Мгц.
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
а от куда эта частота изначально берётся ?
Добро пожаловать на http://rk-stud.ru/
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
Как откуда: результат работы ФАПЧ с последующим делением, опорный генератор- внешний кварц или внутренний. Конечная частота задается регистрами при программировании.
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
я имел в виду в 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
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
Для арбитража потоков-задач в RTX используется таймер, который на приведенной картинке настраивается (для разных архитектур по-своему: Timer0, SysTick и т.п.). 12 Мгц это частотная опора для твоего таймера.
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Возможно ли переписать PWM ?
то есть я должен вместо
#define OS_CLOCK 12000000
вписать
#define OS_CLOCK 1200000 ?
#define OS_CLOCK 12000000
вписать
#define OS_CLOCK 1200000 ?
Добро пожаловать на http://rk-stud.ru/
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация: