1 / 27

Development of the Pattern Awareness Unit (PAU) for the LCLS Fast Feedback System

Development of the Pattern Awareness Unit (PAU) for the LCLS Fast Feedback System. Kukhee Kim for Fast Feedback Team Oct. 13, 2010 Controls Department SLAC National Accelerator Laboratory. Contents. Fast Feedback System Motivation of Pattern Aware Operation Pattern Awareness Unit

fola
Download Presentation

Development of the Pattern Awareness Unit (PAU) for the LCLS Fast Feedback System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Development of the Pattern Awareness Unit (PAU) for the LCLS Fast Feedback System Kukhee Kim for Fast Feedback Team Oct. 13, 2010 Controls Department SLAC National Accelerator Laboratory

  2. Contents • Fast Feedback System • Motivation of Pattern Aware Operation • Pattern Awareness Unit • Purpose • Implementation Details • PAU operation timeline: time slots • Real Implementation in the LCLS • Summary

  3. Fast Feedback System

  4. Fast Feedback (cont’d) • Pattern Aware Control • Pattern-based 120Hz operation • Control Magnet and RF based on Timing Pattern • Utilize FNET • Isolated network: no competing network traffic, reliable data transport • FCOM protocol: new efficient protocol for FNET, IP multicasting • New fast feedback replaces MATLAB codes (slow and non-pattern aware feedback)

  5. Motivation (1) • Increase beam rate 60Hz to 120Hz • beam runs on same AC phase @ 60Hz • two different AC phases @ 120Hz • Other power line noise sources are expected • LCLS-II • Facility for Advanced Accelerator Experimental Test (FACET) • any other which shares SLAC main power line will make additional variations • Pattern • a set of same variation on the power line • reflected on the timing/event patterns • pattern: a combination of time slots and beam operation information for entire SLAC facility

  6. Pattern and Beam characteristics Non Pattern Awareness (ALL patterns): Step Changes occurred on control parameters Pattern Awareness (for pattern D1) Smooth changes occurred Pattern Awareness (for pattern D2) Pattern Awareness (for pattern D3)

  7. Motivation (2) • Non-Pattern Aware Feedback • feedback loop has to compensate the step change between the pattern • but, single feedback loop is not suitable for cure step raise and fall • To compensate the variation between the patterns • mobilize separated feedback loops for each different patterns • each feedback loop does not experience step change • beam characteristics in different patterns can be converge to a desired value smoothly • Pattern Aware Operation for actuators: RF and Magnets • To build generic Software Solution for the pattern required operation • PAU can be utilize any pattern required application

  8. Actuator (Pattern Awareness) Remark *3) Schematic of Fast Feedback System

  9. Pattern Awareness Unit (PAU) • Pattern Recognition • tightly bind with the EVR • wake up by the fiducial interrupt 360Hz rate • pattern matching • beam code and time slot • 5 x 32bits exclusion mask and 5 x 32bits inclusion mask = total 320bits information • Advanced Pattern Matching to implement set value to the actuator • Current Pattern Matching for getting data from fast feedback controller • Drive data pull function • data pull from FCOM data slot • Drive data push function • execution local regulation loop for RF system*1) configuration type I • send I&Q data to PACs (PaseAmplitude Controller) for RF system • implement DAC value for Magnet system*2) configuration type II

  10. Remark *1) Configuration Type I (RF system)

  11. Remark *2) Configuration Type II (Magnet System)

  12. Processing Flow (1) • Fiducial Thread • wake up @360Hz fiducial interrupt • proceed pattern matchings • advance pattern matching for set value (to prepare next beam pulse) • current pattern matching for getting data • Queuing pattern matching information to the UltraHighPriority Callback Thread • The queuing need to be delayed by the high-resolution timer • to allow accurate adjustable time delay to waiting data from the fast feedback controller • utilize the high-reolution timer on the CPU board: sub nano-second resolution

  13. Processing Flow (2) • UltraHighPriority Callback Thread • Waiting message from the fiducial thread/high resolution timer • Proceed MUXes in the linked list • MUX corresponds to a physical quantity: B_des (set value for magnet strength) , P_des (phase), and A_des (amplitude) • A PAU is shared by multiple MUXes which requires same pattern matchings. • A PAU handles multiple MUXes (in the linked list) • To save pattern matching for the individual quantity Linked list Linked list

  14. Processing Flow (3) • UltraHighPriority Callback Thread (cont’d) • Proceed the user pull function with the current pattern matching result • Pull data from matched FCOM data slot: fast feedback mode*3) Schematic for fast feedback • Pull data from matched data slot PV: static offset mode*4) Static offset mode • Proceed the user push function with the advanced pattern matching result • Push data into DAC: maget • Execute the local regulation loop/Push data to the PAC via network: RF system • Proceed the PAU diagnostics • Measure execution time • House keeping

  15. (Two Patterns 60Hz + 60Hz = 120Hz) Time line for interlaced mode Fiducial function Pattern matching for advanced time slot Pattern matching for current time slot And latch it for Diag. and for pull ACT Queuing Sending Data IQ conversion Local Feedback Time Slot Pattern Woke-up by arriving packets, But, there no Push mechanism! Send data to PAC

  16. Actuator (Pattern Awareness) Remark *4) Static offset mode • Time slot operation with slow feedback • when turned off fast feedback • backward compatibility (non-pattern aware feedback + pattern aware operation) Master set value Operator Set Value

  17. Diagnostics • Command line debugging tools • various commands to show up: PAU internal variables, statistics, and measurements • Diag. Function provides snap shot information for statistics and measurements via epics PVs A part of PAU diag. panel A part of MUX diag. panel

  18. Implementation in LCLS • RF system • PAU0: Laser loop in IN20 (1 station, 2 associations, 3 muxes) • laser_mux_pdes_2856MHz • laser_mux_pdes_119MHz • PAU1: Feedback for IN20 (6 stations, 6 associations, 12 muxes) • each station has 2 muxes: PDES and ADES • gun, l0a, l0b, tcav0, l1s, l1x • PAU2: Feedback for LI24 (7 stations, 9 associations, 18 muxes) • Virtual (abstraction layer): l2 abstraction, l3 abstraction • Physical stations: l2ref, tcav3, 24_1, 24_2, 24_3, s29, s30 • Magnet system • PAU0: Control correctors in LTU0 area (1 corrector, 1 mux) • xcor_548 • PAU1: Control correctors in LTU1 area (3 correctors, 3 muxes) • xcor_488, ycor_493, ycor_593 Association #1 for 2845MHz representation laser_mux_ades Association #2 for 119Mhz representation

  19. Real-Time Performance Measurement • PAU diagnostics provides measurement data about the performance • Real-Time Performance from self diagnostic information • Pattern matching in Fiducial: • ISR delay: • user pull function: • user push function: • self-diagnostics and house keeping: Example) RF PAU1 which has 12 muxes Pattern matching is proceeded at every fiducial 360Hz Waking up delay for the high-resolution timer including FCOM data getting/getting data from PV for each 12 muxes including RF local regulation loops + I&Q conversion + queuing data info sending queue to PAC PAU execution time+ overhead Matched patternto prepare next beam Fiducial Interval Real-TimeDeadline Fiducial -2 Fiducial -1 Fiducial 0 Beam Margin Settle time: worst case for magnet Adjustable delayby high-resolution timer

  20. Summary(1) • Pattern aware operation has been test with the PAU successfully • injection linac only • waiting ready of hardware for downstream • Back ward compatibility • allow to use MATLAB (slow, non-pattern aware) feedback instead of the fast feedback • Static offset mode • Extensibility • There is no limit to create PAUs and MUXes: implemented with linked list • Only limit is number of high-resolution timer: first four PAUs will have the timer, after then do not have, thus always 0 delay for remaining PAUs.

  21. Summary (2) • Real-time performance • Considering priority order for each thread for the PAU: fiducial, UltraHigh callback, and FCOM/udpComm communication threads • The PAU has been operated in the production last 3 months without any problem

  22. Appendix

  23. (Single Pattern 120Hz) Timeline for non-interlaced mode Fiducial function Pattern matching for advanced time slot Pattern matching for current time slot And latch it for Diag. and for pull ACT Queuing Sending Data IQ conversion Local Feedback Time Slot Pattern Woke-up by arriving packets, But, there no Push mechanism! Send data to PAC

  24. Functional Diagram & Interfaces Modular Design: User register functions

  25. Configuration • Utilize iocsh command • Utilize string identifier to recognize user defined functions and variables: epics registry • Human readable • No re-compile for re-configuration st.cmd Pipeline index createPau("pau0", 2, "PAU for feedback") createPau("pau1", 2, "PAU for Laser") createMux("pau0", "ACCL:LI21:180:L1X_PDES", "l1xPhasePush", "l1xPhasePull", "L1X Phase") createMux("pau0", "ACCL:LI21:180:L1X_ADES", "l1xAmplPush", "l1xAmplPull", "L1X Amplitude") makeAssociation("ACCL:LI21:180:L1X_PDES", "ACCL:LI21:180:L1X_ADES") User defined Data Pull function Name of PAU Description *5) association PAU name MUX name User defined Data Push function Description Source Code DBD file epicsRegisterFunction(l1xPhasePush); epicsRegisterFunction(l1xPhasePull); epicsRegisterFunction(l1xAmplPush); epicsRegisterFunction(l1xPhasePull); function(l1xPhasePush) function(l1xPhasePull) function(l1xAmplPush) function(l1xAmplPull) MUX name

  26. Remark *5) Configuration (cont’d) Association • Association • Processing requires two physical quantities • Conversion from Phase&Amplitude to I&Q • Need to make relation between two MUXes: phase and amplitude • Syntax: MUX for Phase MUX for Amplitude Local Feedback Loop for Amplitude Local Feedback Loop for Phase Association Conversion for AP2IQ makeAssociation(mux name 1, mux name 2) I Q

  27. EVR Fiducial function & APIs Default Data Pull (FCOM) FCOM interface PAU/Mux Object & APIs Registry for Data Pull User defined Data Pull UdpComm UdpComm (UdpCommListener) RF Local Feedback Registry for Data Push AP2IQ conversion Send Data via IP multicasting UdpComm User defined Data Push

More Related