ebrick: EPICS Brick Support

David Kline

March 2009




License Agreement

This product is available via the open source license described at the end of this document.


Overview

The EPICS brick (EBRICK) is designed to be a low cost solution for an IOC with soft real-time requirements. The next generation EBRICK, referred to as EBRICK-II,
aligns as close as possible with suggestions made by the review committee (ICMS:APS_1239772) as well as replaces the Athena from Diamond Systems since it is now
at end of life (announced 2008.01.23). The EBRICK-II is based on the Poseidon Single Board Computer (SBC) from Diamond Systems. It consists of both PC104 and
PC104+ busses, fanless 1GHz VIA Eden ULV processor, 512MB DDR2 RAM, 4 serial ports, 4 USB 2.0 ports, VGA, PS/2 mouse and keyboard, 10/100/1000 Ethernet,
SATA/IDE interface, ACPI power management, 32 16bit ADCs, 4 12bit DACs, and 24bit digital IO. This configuration provides a cost effective solution with sufficient processing power, longevity, and functionality for soft IOC real-time requirements. Furthermore, other COTS (commercial off-the-shelf) modules as well as in-house
developed PC104/PC104+ modules can be incorporated.

The Poseidon can be purchased from Diamond Systems, refer to www.diamondsystems.com for addition information about the processor boards. The recommended
hardware for an EPICS Brick IOC consists of the following.

Poseidon SBC

PSDE10-512A (http://www.diamondsystems.com/products/poseidon)

Triton enclosure (3")

TRI-PSDA-KIT (http://www.diamondsystems.com/products/triton)

60GB hard drive

HITACHI TRAVELSTAR 5K160 HDD (0A28416)


As mentioned above, the previous implementation was based on the PC104 Athena Single Board Computer from Diamond Systems Corporation. Although it is at end of
life, support is still provided by BCDA.

The EBRICK is no longer distributed with EPICS base or synApps. EPICS base 3.14.8.2 and synApps 5.2.1 are known to work. EPICS base can be acquired from the EPICS website (http://www.aps.anl.gov/epics/) and synApps from the BCDA website (http://www.aps.anl.gov/bcda/synApps/index.php). The EBRICK module is part of synApps
and can be acquired from the BCDA website as well. The Linux distribution employed is VectorLinux standard 5.1 and is a lightweight, fast distribution, that uses less than
2Gb of disk space. The kernel is 2.6.19 with a real-time patch from OSADL (Open Source Automation Development Lab) and the chosen windows display manager is
IceWM (http://www.icewm.org) because it is small, fast, and lightweight.

Beginning with release R2-2-2, the EBRICK module can be built for RTEMS using the uCDIMM Coldfire processor (uC5282) from Arcturus Networks. At this time,
the supported features include 6 10-bit AD channels, a CPU load monitor as provided by the MCF5282 module, and a serial console port and a second serial port
supported through Asyn. The future configuration is to employ the uC5282 interface board from the AES Controls group (06PC012A) and mount it on the BC-071
Cyclone-II FPGA-based board. This will provide a cost effect solution that harnesses the power of an FPGA with an low cost EPICS interface.

The EBRICK can boot into various configurations as shown below. The default bootup is run level 5 (hdd-service) but can be changed by editing/etc/lilo.conf as root.

RUNLEVEL

MENU ID

DESCRIPTION

5

hdd-service

Logs in epicsioc at ttyS0 (COM1) with 9600 baud, 8bits, no parity, 1 stop bit.

7

hdd-epicsioc

Logs in epicsioc and runs EPICS at ttyS0 (COM1) with 9600 baud, 8bits, no parity, 1 stop bit.

5

nfs-service

Network boot. Logs in epicsioc at ttyS0 (COM1) with 9600 baud, 8bits, no parity, 1 stop bit.

7

nfs-epicsioc

Network boot. Logs in epicsioc and runs EPICS at ttyS0 (COM1) with 9600 baud, 8bits, no parity, 1 stop bit.


At run level 5 (hdd-service and nfs-service), the epicsioc account is automatically logged into at serial port ttyS0. At run level 7 (hdd-epicsioc and nfs-epicsioc), the epicsioc account is automatically logged in as well, but an IOC is ran under the screen application. The screen utility is employed to allow multiple logins to attach to the IOC either locally or remotely (refer to the screen documentation for details). During IOC startup, the epicsioc account runs the screen application and passes it a startup script
(start_epics_ioc). The startup script points to where the IOC application resides and runs it accordingly. Subsequent logons can be attached to the iocsh by the commands
screen -x or screen -r.

The commercial hardware that is currently supported is listed below. As hardware is upgraded and user requirements change, additional support will be incorporated.

MANUFACTURE

WEBSITE

HARDWARE

PART NUMBER

DESCRIPTION

Diamond Systems

www.diamondsystems.com

Poseidon

PSDE10-512A

Processor module.

Diamond Systems


Ruby-MM-416

RMM-416-XT

4 channel 16bit DACs, 24bit digital IO

Diamond Systems


Onyx-MM-DIO

OMM-DIO-XT

48bit digital IO

Diamond Systems


Pearl-MM

PMM-S or PMM-P (S-screw terminals,P=Pins)

16bit relay output.

Sensoray

www.sensoray.com

Smart A/D

518

PC104 bus Smart A/D (8-channel)

Pro-dex (OMS)

www.prodex.com

Motion controller

PC68

multi-axis motion controller



Below lists some of the hardware that has worked with the EBRICK.

DESCRIPTION

APS-specific Generic digital IO board (BC-059,BC-063)

Love controllers

Mdrive

XIA Huber slits

Femto current amplifier

XIA PF4 filter

Kohzu monochromator

Piezo motors

Picomotor

SR570 Preamp




Driver Software

The distribution comes with asyn-based driver support for all of the components (i.s. DAC,ADC,digitial IO) that the Athena and Poseidon provide as well as for the hardware listed above. Most device support is provided by asyn.


Database / MEDM


EPICS databases and MEDM screens are provide to support the hardware as listed above. Refer to the directories ebrickApp/Db for the databases and ebrickApp/op/adl for the MEDM screens. In addtion, auto/save .req files are provided to save the record contents where appropriate, refer to iocBoot/iocebrick/autosave for these files.


License Agreement

Copyright (c) 2008 University of Chicago and the Regents of the University of
California. All rights reserved.

synApps is distributed subject to the following license conditions:
SOFTWARE LICENSE AGREEMENT
Software: synApps
Versions: Release 4-5 and higher.

   1. The "Software", below, refers to synApps (in either source code, or
      binary form and accompanying documentation). Each licensee is addressed
      as "you" or "Licensee."

   2. The copyright holders shown above and their third-party licensor's hereby
      grant Licensee a royalty-free nonexclusive license, subject to the
      limitations stated herein and U.S. Government license rights.

   3. You may modify and make a copy or copies of the Software for use within
      your organization, if you meet the following conditions:
         1. Copies in source code must include the copyright notice and this
            Software License Agreement.
         2. Copies in binary form must include the copyright notice and this
            Software License Agreement in the documentation and/or other
            materials provided with the copy.

   4. You may modify a copy or copies of the Software or any portion of it, thus
      forming a work based on the Software, and distribute copies of such work
      outside your organization, if you meet all of the following conditions:
         1. Copies in source code must include the copyright notice and this
            Software License Agreement;
         2. Copies in binary form must include the copyright notice and this
            Software License Agreement in the documentation and/or other
            materials provided with the copy;
         3. Modified copies and works based on the Software must carry
            prominent notices stating that you changed specified portions of
            the Software.

   5. Portions of the Software resulted from work developed under a
      U.S. Government contract and are subject to the following license:
      the Government is granted for itself and others acting on its behalf a
      paid-up, nonexclusive, irrevocable worldwide license in this computer
      software to reproduce, prepare derivative works, and perform publicly and
      display publicly.

   6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY OF
      ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE UNITED
      STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR EMPLOYEES: (1)
      DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
      ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
      PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
      OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF THE
      SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE SOFTWARE WOULD NOT
      INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT THAT THE SOFTWARE WILL
      FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL BE
      CORRECTED.

   7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
      THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
      ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
      CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE,
      INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY
      REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF
      CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
      EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE POSSIBILITY OF SUCH
      LOSS OR DAMAGES.