Epics@GSI Webhome

HadCon 2 Multipurpose Controls Performance

Introduction

 

    Theoretical limits

    Rate stability - RGWR toggle I/O port

      Setup
      • HadCon2
        • Firmware Version: 4.6.3.APFEL May 27 2015 15:52
        • 115200 kBit/s
        • 10 MHz Clock
      • Raspberry Pi B (1)
      • EPICS
        • base3.14.12.4
        • streamDevice-2-6
        • asyn4-23
        • application:
          • calcout Record using streamDevice and the protocol File RGWR.proto to send:
            RGWR <register address> <value>
          • modified menuScan.dbdmenuScanFast.dbd to provide faster scan rates up to 1000kHz.
          • hadcon2_RGWR_test.tar.bz2
      Procedures
        1. toggle:
          By sending RGWR 2c 80, i.e. the PINE register, the 8th pin (PE7) on PORT E which is connected partly to HadCon2's connector JAtmelMisc1, pin no. 8, is toggling its state.
          Connected to an oscilloscope the response - an rectangular pulse train - is measured. Two scenarios are measured:
          • normal operation of the IOC
          • slowed down by streamDevice debug printouts - var streamDebug 1
          Example: RGWR-pulseTrain.png
        2. By sending alternatingly RGWR 2e 80 or RGWR 2e 0, i.e. the PORTE register, the 8th pin (PE7) on PORT E which is connected partly to HadCon2's connector JAtmelMisc1, pin no. 8, is actively written 0/1 to.
          Connected to an oscilloscope the response - an rectangular pulse train - is measured.

      Measurements

        Data: toggle
          EPICS SCAN rate Freq [Hz] (1/SCAN) ideal width w/o streamDebug output w/ streamDebug printouts
          Freq [Hz] of 2 Triggers W: averaged signal width [ms] ΔW [ms] ΔW/W width ratio averaged/ideal Lost Triggers/Triggers relative Loss Freq [Hz] of 2 Triggers W: averaged signal width [ms] ΔW [ms] ΔW/W width ratio averaged/ideal Lost Triggers/Triggers relative Loss
          2.00 0.50 2000 0.250 2000.0 80 4.0% 1.00 0/50 0.0% 0.25 2000 85 4.3% 1.0 0/25 0.0%
          1.00 1.00 1000 0.500 1000.0 40 4.0% 1.00 0/50 0.0% 0.5 1000 40 4.0% 1.0 0/25 0.0%
          0.50 2.00 500 1.000 500.1 35 7.0% 1.00 0/50 0.0% 1 500 21 4.2% 1.0 0/11 0.0%
          0.20 5.00 200 2.500 200.0 10 5.0% 1.00 0/50 0.0% 2.475 202 13 6.4% 1.0 0/25 0.0%
          0.15 6.67 150 3.378 148.0 5 3.4% 0.99 0/67 0.0% 3.333 150 9 6.0% 1.0 0/17 0.0%
          0.1 10.00 100 5.000 100.0 6 6.0% 1.00 0/50 0.0% 2.5 200 4 2.0% 2.0 13/25 52.0%
          0.05 20.00 50 10.000 50.0 3 6.0% 1.00 0/50 0.0% 3.378 148 5 3.4% 3.0 13/20 65.0%
          0.04 25.00 40 12.500 40.0 4 10.0% 1.00 0/63 0.0% 4.348 115 5 4.3% 2.9 17/25 68.0%
          0.033 30.30 33 14.900 33.6 3 8.9% 1.02 0/76 0.0% 3.9 128 12 9.4% 3.9 22/30 72.6%
          0.025 40.00 25 20.160 24.8 1 4.0% 0.99 0/21 0.0% 4.032 124 10 8.1% 5.0 32/40 80.0%
          0.015 66.67 15 32.900 15.2 1 6.6% 1.01 0/67 0.0% 3.8 132 2 1.5% 8.8 58/67 87.0%
          0.014 71.43 14 35.720 14.0 3.5 25.0% 1.00 3.5/72 4.9% 4.6 109 5 4.6% 7.8 62/71 86.8%
          0.013 76.92 13 25.300 19.8 8 40.5% 1.52 23/100 23.0% 4.2 119 1 0.8% 9.2 68/77 88.4%
          0.012 83.33 12 20.830 24.0 3 12.5% 2.00 52/105 49.5% 4.1 122 2 1.6% 10.2 74/83 88.8%
          0.011 90.91 11 23.000 21.7 1 4.6% 1.98 44/90 48.9%
          0.01 100.00 10 24.500 20.4 0.5 2.5% 2.04 50/100 50.0%
          0.0075 133.33 7.5 33.800 14.8 2 13.5% 1.97 33/66 50.0%
          0.005 200.00 5 33.330 15.0 2 13.3% 3.00 67/100 67.0%
          0.004 250.00 4 31.200 16.0 2 12.5% 4.01 93/125 74.4%
          0.003 333.33 3 33.000 15.2 2 13.2% 5.05 133/166 80.1%
          0.002 500.00 2 32.900 15.2 1 6.6% 7.60 267/333 80.2%
          0.001 1000 1 breakdown of communication via UART, close to theoretical limit of ≈ 1kHz
        Data: set/reset
          EPICS SCAN rate Freq [Hz] (1/SCAN) ideal width Freq [Hz] of 2 Triggers W: averaged signal width [ms] ΔW [ms] ΔW/W width ratio averaged/ideal Lost Triggers/Triggers relative Loss
          1,00 1,00 1000 0,500 1000,0 10 1,0% 1,00 0/10 0,0%
          0,50 2,00 500 1,000 500,0 22 4,4% 1,00 0/50 0,0%
          0,20 5,00 200 2,500 200,0 10 5,0% 1,00 0/50 0,0%
          0,15 6,67 150 3,200 156,3 15 9,6% 1,04 0/60 0,0%
          0,10 10,00 100 5,000 100,0 5 5,0% 1,00 0/100 0,0%
          0,03 30,30 33 15,430 32,4 0,4 1,2% 0,98 0/30 0,0%
          0,03 40,00 25 20,000 25,0 1,5 6,0% 1,00 0/100 0,0%
          0,02 66,67 15 33,330 15,0 1,1 7,3% 1,00 3/166 1,8%
          0,01 71,43 14 35,715 14,0 1 7,1% 1,00 14/71 19,7%
          0,01 76,92 13 37,600 13,3 1 7,5% 1,02 30/76 39,5%
          0,01 83,33 12 10,000 50,0 5 10,0% 4,17 194/208 93,3%


      Results
        RGWR toggle performance:
        RGWR_toggle_performance.PNG
        • For a simple toggling register, the maximum frequency is between:
          • 66.67 Hz and 71.43 Hz.
          • Thus the recommendation is to stay above a corresponding EPICS SCAN time of:
            • 0.015s
        • If any streamDebug features are active, i.e. print outs to screen, the performance is reduced by:
          • a factor of 10
        • at higher SCAN rates up to 80% of the toggle signals are lost, but the system is still performing, since the commands are always the same.
          • in those cases the ratios show that the actual scan time is scaled up.
          • other cases have not been investigated
          • RGWR toggle performance ratios:
            RGWR_toggle_performance_ratios.PNG
        • finally at a rate of 1kHz, the system reaches is limit and the communication to the board ceases, but can be recovered.

        RGWR set/reset performance:
        RGWR_set-reset_performance.PNG
        • For a set/reset register, the maximum frequency is at around:
          • 60 Hz.
          • Thus the recommendation is to stay above a corresponding EPICS SCAN time of:
            • 0.017s





-- PeterZumbruch - 28 Oct 2015
-- PeterZumbruch - 2020-11-09

I Attachment Action Size Date Who Comment
RGWR-perfomance-toggle.xlsxxlsx RGWR-perfomance-toggle.xlsx manage 37 K 2015-10-28 - 11:51 PeterZumbruch Excel Sheet Measurements
RGWR-pulseTrain.pngpng RGWR-pulseTrain.png manage 4 K 2015-10-23 - 11:52 PeterZumbruch  
RGWR_set-reset_performance.PNGPNG RGWR_set-reset_performance.PNG manage 57 K 2015-10-28 - 14:19 PeterZumbruch RGWR set/reset performance
RGWR_toggle_performance.PNGPNG RGWR_toggle_performance.PNG manage 92 K 2015-10-26 - 16:47 PeterZumbruch RGWR toggle performance
RGWR_toggle_performance_ratios.PNGPNG RGWR_toggle_performance_ratios.PNG manage 57 K 2015-10-26 - 16:48 PeterZumbruch RGWR toggle performance ratios
hadcon2_RGWR_test.tar.bz2bz2 hadcon2_RGWR_test.tar.bz2 manage 53 K 2015-10-23 - 11:43 PeterZumbruch EPICS IOC for RGWR tests
This topic: Epics > WebHome > EpicsProjectsAndActivities > HardwarePlatforms > HadCon2 > HadCon2MultipurposeControlsApi > HadCon2MultipurposeControlsPerformance
Topic revision: 2020-11-09, PeterZumbruch
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)