documentation/ethercat_doc.tex
changeset 1281 9e9393cfc4f7
parent 1275 c9de1c0c1f51
child 1282 d494455b64a2
equal deleted inserted replaced
1280:dc1327c2ef5b 1281:9e9393cfc4f7
  2101 \section{Userspace Library}
  2101 \section{Userspace Library}
  2102 \label{sec:userlib}
  2102 \label{sec:userlib}
  2103 
  2103 
  2104 \ldots
  2104 \ldots
  2105 
  2105 
       
  2106 \subsection{Timing}
       
  2107 \label{sec:usertiming}
       
  2108 
       
  2109 An interesting aspect is the timing of the userspace library calls compared to
       
  2110 those of the kernel API. Table~\ref{tab:usertiming} shows the call times and
       
  2111 standard deviancies of typical (and time-critical) API functions measured on
       
  2112 an Intel Pentium 4 M CPU with \unit{2.2}{\giga\hertz} and a standard 2.6.26
       
  2113 kernel.
       
  2114 
       
  2115 \begin{table}[htbp]
       
  2116   \centering
       
  2117   \caption{Application Interface Timing Comparison}
       
  2118   \label{tab:usertiming}
       
  2119   \vspace{2mm}
       
  2120   \begin{tabular}{l|c|c|c|c}
       
  2121 
       
  2122     &
       
  2123     \multicolumn{2}{|c}{\textbf{Kernelspace}} &
       
  2124     \multicolumn{2}{|c}{\textbf{Userspace}}  \\
       
  2125 
       
  2126     \textbf{Function} &
       
  2127     $\mu(t)$ &
       
  2128     $\sigma(t)$ &
       
  2129     $\mu(t)$ &
       
  2130     $\sigma(t)$ \\
       
  2131     \hline
       
  2132 
       
  2133     \lstinline+ecrt_master_receive()+ &
       
  2134     \unit{1.1}{\micro\second} &
       
  2135     \unit{0.3}{\micro\second} &
       
  2136     \unit{2.2}{\micro\second} &
       
  2137     \unit{0.5}{\micro\second} \\
       
  2138 
       
  2139     \lstinline+ecrt_domain_process()+ &
       
  2140     \unit{<0.1}{\micro\second} &
       
  2141     \unit{<0.1}{\micro\second} &
       
  2142     \unit{1.0}{\micro\second} &
       
  2143     \unit{0.2}{\micro\second} \\
       
  2144 
       
  2145     \lstinline+ecrt_domain_queue()+ &
       
  2146     \unit{<0.1}{\micro\second} &
       
  2147     \unit{<0.1}{\micro\second} &
       
  2148     \unit{1.0}{\micro\second} &
       
  2149     \unit{0.1}{\micro\second} \\
       
  2150 
       
  2151     \lstinline+ecrt_master_send()+ &
       
  2152     \unit{1.8}{\micro\second} &
       
  2153     \unit{0.2}{\micro\second} &
       
  2154     \unit{2.5}{\micro\second} &
       
  2155     \unit{0.5}{\micro\second} \\
       
  2156 
       
  2157   \end{tabular}
       
  2158 \end{table}
       
  2159 
       
  2160 The test results show, that for this configuration, the userspace API adds
       
  2161 about \unit{1}{\micro\second} delay for each function.
       
  2162 
  2106 %------------------------------------------------------------------------------
  2163 %------------------------------------------------------------------------------
  2107 
  2164 
  2108 \section{System Integration}
  2165 \section{System Integration}
  2109 \label{sec:system}
  2166 \label{sec:system}
  2110 
  2167