10
Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

Embed Size (px)

Citation preview

Page 1: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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

W. Eric Norum

2007-10-13

Page 2: 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

Page 3: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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.

Page 4: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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

Page 5: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

5

Arcturus μCDIMM ColdFire 5282 module

• Example of other uses – DESY DIN-rail IOC

Page 6: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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.

Page 7: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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!

Page 8: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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)

Page 9: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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

Page 10: Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13

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?