Update on FPGA/IOC applications and RTEMS developments at the APS W. Eric Norum 2007-10-13.
-
Upload
charlotte-cummings -
Category
Documents
-
view
214 -
download
0
Transcript of 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
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
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.
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
5
Arcturus μCDIMM ColdFire 5282 module
• Example of other uses – DESY DIN-rail IOC
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.
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!
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)
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
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?