필터 지우기
필터 지우기

Simulink multirate scheduling and task preemption

조회 수: 6 (최근 30일)
MTA
MTA 2012년 8월 29일
Hi
After I suspected that for some reason Simulink is not preempting lower priority (longer timesample) for a higher priority (shorter time sample) I've built a simple simulink model that reproduce the thing. It has:
1- some computation demanding operation (I'm using optflow) that will take about 150 ms of execution. This operation is performed at a rate of 1Hz
2- an C s-function that acts as a RTC synchronization. simply it delay the execution by the amount needed to run the sim with rtc. I'm using linux clock and sleep services. This s-function outputs the number of missed RTC sync points, so if everything is alright this output should always be zero. This s-function is executed at rate of 10Hz
I noticed that whenever the optflow is running the rtc sync s-function misses a sync point because the simulink scheduler has not preempted the (150 ms) executing task to catch the (100ms) time tick
I've tried the previous simulation in normal/accelerator/rapid accelerator and external mode with multi-tasking chosen in the configuration parameters and I'm getting the exact same result while according to: http://www.mathworks.co.uk/products/simulink-coder/description5.html and http://www.mathworks.co.uk/help/toolbox/rtw/ug/f996849.html the coder should procude a code that handles the preemption properly to catch all time samples.
I appreciate if someone points out what I'm I missing
Kind regards,
Mohamad

답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulink Functions에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by