Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
embedded_systems:ethercat:test_and_tune_rt [2018-12-14 15:03] mgehrig2embedded_systems:ethercat:test_and_tune_rt [2018-12-18 09:49] mgehrig2
Zeile 19: Zeile 19:
 In such systems the OS provides the clock for the whole system.\\ In such systems the OS provides the clock for the whole system.\\
 ''max. jitter OS = min jitter EtherCAT bus'' ''max. jitter OS = min jitter EtherCAT bus''
 +
 +If the master cannot guarantee a stable clock, the masterShift mode is recommended.
  
 See [[embedded_systems:ethercat:distributed_clocks|Distributed Clocks]] for more information. See [[embedded_systems:ethercat:distributed_clocks|Distributed Clocks]] for more information.
Zeile 40: Zeile 42:
 ATTENTION: If the CPU is fixed at a high temperature, the CPU can run hot. If the Governor is changed manually, the CPU temperature should be monitored! ATTENTION: If the CPU is fixed at a high temperature, the CPU can run hot. If the Governor is changed manually, the CPU temperature should be monitored!
  
-The frequency is controlled by the OS by a scaling governor.+The frequency is controlled by the OS by a [[https://wiki.archlinux.org/index.php/CPU_frequency_scaling#Scaling_governors|scaling governor]]. 
 +The ''performance'' governor should run the cpu at the maximum frequency.
  
 +To get the current active governor:\\
 +''cpupower frequency-info''
 +
 +To set the governor:\\
 +''sudo cpupower frequency-set -g powersave''
    
 +
 +==== Intel cstates ====
 +Intel cstates indicate the power saving state of the processor.
 +These states can be locked with kernel parameters on the C0 state (no power saving measures).
 +
 +{{:embedded_systems:ethercat:controlling_processor_c-state_usage_in_linux_v1.1_nov2013.pdf|Background information}}
 +
 +Display current kernel parameters:\\
 +''cat /proc/cmdline''
 +
 +Add kernel parameters:\\
 +  - ''sudo nano /etc/default/grub''
 +  - Add ''cpuidle.off=1 intel_idle.max_cstate=0'' to the line:
 +    * ''GRUB_CMDLINE_LINUX_DEFAULT="quiet splash''
 +  - It should look like this:
 +    * ''GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cpuidle.off=1 intel_idle.max_cstate=0''
 +  - ''sudo update-grub''
 +  - reboot the pc
 +