1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
|
2 |
|
3 <!--Converted with LaTeX2HTML 2002-2-1 (1.71) |
|
4 original version by: Nikos Drakos, CBLU, University of Leeds |
|
5 * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan |
|
6 * with significant contributions from: |
|
7 Jens Lippmann, Marek Rouchal, Martin Wilck and others --> |
|
8 <HTML> |
|
9 <HEAD> |
|
10 <TITLE>CanFestival events scheduling</TITLE> |
|
11 <META NAME="description" CONTENT="CanFestival events scheduling"> |
|
12 <META NAME="keywords" CONTENT="manual"> |
|
13 <META NAME="resource-type" CONTENT="document"> |
|
14 <META NAME="distribution" CONTENT="global"> |
|
15 |
|
16 <META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"> |
|
17 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
|
18 |
|
19 <LINK REL="STYLESHEET" HREF="manual.css"> |
|
20 |
|
21 <LINK REL="previous" HREF="node19.html"> |
|
22 <LINK REL="up" HREF="node16.html"> |
|
23 <LINK REL="next" HREF="node21.html"> |
|
24 </HEAD> |
|
25 |
|
26 <BODY > |
|
27 |
|
28 <DIV CLASS="navigation"><!--Navigation Panel--> |
|
29 <A NAME="tex2html394" |
|
30 HREF="node21.html"> |
|
31 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" |
|
32 SRC="/usr/share/latex2html/icons/next.png"></A> |
|
33 <A NAME="tex2html390" |
|
34 HREF="node16.html"> |
|
35 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" |
|
36 SRC="/usr/share/latex2html/icons/up.png"></A> |
|
37 <A NAME="tex2html386" |
|
38 HREF="node19.html"> |
|
39 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" |
|
40 SRC="/usr/share/latex2html/icons/prev.png"></A> |
|
41 <A NAME="tex2html392" |
|
42 HREF="node1.html"> |
|
43 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" |
|
44 SRC="/usr/share/latex2html/icons/contents.png"></A> |
|
45 <BR> |
|
46 <B> Next:</B> <A NAME="tex2html395" |
|
47 HREF="node21.html">Linux Target</A> |
|
48 <B> Up:</B> <A NAME="tex2html391" |
|
49 HREF="node16.html">Understanding Canfestival</A> |
|
50 <B> Previous:</B> <A NAME="tex2html387" |
|
51 HREF="node19.html">CanFestival CAN interfaces</A> |
|
52 <B> <A NAME="tex2html393" |
|
53 HREF="node1.html">Contents</A></B> |
|
54 <BR> |
|
55 <BR></DIV> |
|
56 <!--End of Navigation Panel--> |
|
57 |
|
58 <H2><A NAME="SECTION00054000000000000000"> |
|
59 CanFestival events scheduling</A> |
|
60 </H2> |
|
61 A CanOpen node must be able to take delayed actions. |
|
62 |
|
63 <P> |
|
64 As exemples, periodic sync emission, heartbeat production or SDO timeout |
|
65 need to set some alarms that will be called later and do the job. |
|
66 |
|
67 <P> |
|
68 µC generaly do not have enough free timers to handle all the |
|
69 CanOpen needs directly. Moreover, CanFestival internal data may be |
|
70 corrupt by reentrant calls. |
|
71 |
|
72 <P> |
|
73 CanFestival implement a micro-scheduler (timer.c). It uses only one |
|
74 timer to mimic many timers. It manage an alarm table, and call alarms |
|
75 at desired time. |
|
76 |
|
77 <P> |
|
78 <DIV ALIGN="CENTER"> |
|
79 <IMG |
|
80 WIDTH="512" HEIGHT="205" ALIGN="BOTTOM" BORDER="0" |
|
81 SRC="./100000000000022C000000DEDAD2140C.png" |
|
82 ALT="Image 100000000000022C000000DEDAD2140C"> |
|
83 |
|
84 </DIV> |
|
85 |
|
86 <P> |
|
87 Scheduler can handle short clock value ranges limitation found on some |
|
88 µC. As an example, value range for a 16bit clock counter with |
|
89 4µs tick is crossed within 0.26 seconds... Long alarms must be |
|
90 segmented. |
|
91 |
|
92 <P> |
|
93 Chronogram illustrate a long alarm (A) and a short periodic alarm (B), |
|
94 with a A value > clock range > B value. |
|
95 Values t0...t8 are successive setTimer call parameter values. t1 |
|
96 illustrates an intermediate call to TimeDispatch, caused by a delay |
|
97 longer than clock range. Because of long alarm segmentation, at the end |
|
98 of t1, TimeDispatch call will not trig any alarm callback. |
|
99 |
|
100 <P> |
|
101 <DIV ALIGN="CENTER"> |
|
102 <IMG |
|
103 WIDTH="709" HEIGHT="197" ALIGN="BOTTOM" BORDER="0" |
|
104 SRC="./1000000000000396000000FFC42573DA.png" |
|
105 ALT="Image 1000000000000396000000FFC42573DA"> |
|
106 |
|
107 </DIV> |
|
108 |
|
109 <P> |
|
110 |
|
111 <DIV CLASS="navigation"><HR> |
|
112 <!--Navigation Panel--> |
|
113 <A NAME="tex2html394" |
|
114 HREF="node21.html"> |
|
115 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" |
|
116 SRC="/usr/share/latex2html/icons/next.png"></A> |
|
117 <A NAME="tex2html390" |
|
118 HREF="node16.html"> |
|
119 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" |
|
120 SRC="/usr/share/latex2html/icons/up.png"></A> |
|
121 <A NAME="tex2html386" |
|
122 HREF="node19.html"> |
|
123 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" |
|
124 SRC="/usr/share/latex2html/icons/prev.png"></A> |
|
125 <A NAME="tex2html392" |
|
126 HREF="node1.html"> |
|
127 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" |
|
128 SRC="/usr/share/latex2html/icons/contents.png"></A> |
|
129 <BR> |
|
130 <B> Next:</B> <A NAME="tex2html395" |
|
131 HREF="node21.html">Linux Target</A> |
|
132 <B> Up:</B> <A NAME="tex2html391" |
|
133 HREF="node16.html">Understanding Canfestival</A> |
|
134 <B> Previous:</B> <A NAME="tex2html387" |
|
135 HREF="node19.html">CanFestival CAN interfaces</A> |
|
136 <B> <A NAME="tex2html393" |
|
137 HREF="node1.html">Contents</A></B> </DIV> |
|
138 <!--End of Navigation Panel--> |
|
139 <ADDRESS> |
|
140 epimerde |
|
141 2007-06-08 |
|
142 </ADDRESS> |
|
143 </BODY> |
|
144 </HTML> |
|