1 / 10

Update on FPGA/IOC applications and RTEMS developments at the APS

Update on FPGA/IOC applications and RTEMS developments at the APS. W. Eric Norum 2007-10-13. Coldfire/FPGA systems. Deployed PAR RF AWG “EPICS Appliance” – all code, .dbd, .db, st.cmd in flash Last reboot – 2006-05-25 Monopulse beam-position monitors >500 PVs

dayo
Download Presentation

Update on FPGA/IOC applications and RTEMS developments at the APS

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. Update on FPGA/IOC applications and RTEMS developments at the APS • W. Eric Norum • 2007-10-13

  2. Coldfire/FPGA systems • Deployed • PAR RF AWG • “EPICS Appliance” – all code, .dbd, .db, st.cmd in flash • Last reboot – 2006-05-25 • Monopulse beam-position monitors • >500 PVs • Multiple 256k-point waveforms • Reboot without affecting fast feedback operation • Bunch purity measurement • Measure arrival time of CFD pulse with ~500ps resolution • Two 7776-bin 32-bit histograms in FPGA (6 bins/RF bucket) • P0 feedback • Testing/development • Booster tune measurement • Smart power supply controls 2

  3. Arcturus μCDIMM ColdFire 5282 module • Motorola/FreeScale ColdFire 5282 processor (64 or 80 MHz) • 16 Megabyte SDRAM (32-bit data path) • 4 Megabyte flash memory (RTEMS/EPICS/IOC) • 1/2 Megabyte on-chip flash (bootstrap) • SO-DIMM form factor • ~$200 in small quantities, $120 each for orders of 500 or more. 3

  4. Arcturus μCDIMM ColdFire 5282 module • 10/100 Mb/s Ethernet (10/100 BaseT) • 3 serial ports (2 RS-232, 1 LVTTL) • I2C and SPI • CAN support • 8-channel, 10-bit ADC • A24/D16 external bus • 5 interrupt request lines • 16 general-purpose I/O lines 4

  5. Arcturus μCDIMM ColdFire 5282 module • Example of other uses – DESY DIN-rail IOC 5

  6. APS μCDIMM ColdFire 5282 EPICS Environment • All APS applications of the ColdFire μCDIMM use it with an FPGA • devLib support make FPGA components look like VME-bus modules • Same driver code works with vxWorks/VME module and with RTEMS/FPGA component. 6

  7. Coldfire/FPGA integration • Altera “System on a Programmable Chip” builder provides drag and drop system configuration • FPGA SOPC blocks appear as VME devices to IOC • Standard devLib support • Existing VME drivers (e.g. event receiver) can be used without any modifications! 7

  8. Example FPGA components • APS Event Receiver • Extended APS Event Receiver (subset of EVR-200) • Analog Devices AD7249 serial DAC • I/Q phase/amplitude detector + CORDIC • 16-channel Proportional+Integral controller • 16-channel, 6th-order, IIR filter • Serial line monitor (remote IOC reset) 8

  9. EPICS support • All ColdFire on-chip devices and FPGA SOPC components are supported in EPICS using ASYN drivers • Why ASYN for register-based devices? • Decouples driver from record • Common routines/displays for producing and controlling diagnostic messages • Common INP/OUT field formats 9

  10. RTEMS updates • Complete iocClock integration – RTEMS matches vxWorks for time synchronization (NTP, soft event client, hard event client) • Proper timezone support (epicsEnvSet TZ "CST6CDT5,M3.2.0,M11.1.0”) • tyGSoctal driver (Greensprings Octal UART Industry Pack Module) • Complete termios support • Complete set of IOC shell commands • Memory pool free space available as PV • “spy” command • Hooks in startup code before/after network configuration • Example – BSP100 module sets network information and path to startup script based on front-panel switch settings. One-spare fits all! • Better support for ‘global environment variables’ on MOTLOAD processors • Available in CVS snapshots. R3.14.10 coming soon? 10

More Related