开源硬件在加速器控制系统中的应用
陈广花，刘亚娟，赵欢，周伟民，俞路阳，阎映炳*
（中国科学院上海应用物理研究所，上海201800）
摘要: 嵌入式Linux开发板，比如Raspberry Pi B+和BeagleBone Black，都是信用卡大小的单板计算机。它们成本低，并配有大量的GPIO（通用输入输出）端口，可用于从传感器读取数据并控制外部设备，积极的开发社区和开源性质使其成为许多应用的理想选择。开源硬件可以与加速器控制系统集成，通过经济的方式使更多的设备“智能化”，这将有助于提高加速器的运行效率。本文将介绍开源硬件在 SXFEL（软X射线自由电子激光实验装置）和DCLS（大连相干光源）控制系统中的应用细节。
关键字: SXFEL，DCLS，加速器，开源硬件
1.	引言
计算机领域的开源运动发展到现今，已经渗透到了众多学科领域。在开源软件方面，各种Linux发行版本（Red Hat、Debian、Ubuntu等）以及Android系统在公众视野中出现的越来越多。开源硬件近几年也广受关注，开源硬件是指与自由及开放源码相同方式设计的计算机和电子硬件，是开源文化的一部分，也是一种新的研发和生产模式。它不仅可以让研究者们享用共同的技术基础，同时又将更新后的研究成果提供给他人，对其进行再次深化，进而加速科技创新和社会发展。
在加速器控制领域，主流控制系统EPICS和TANGO本身都是开源软件的国际合作范例。以EPICS（Experimental Physics and Industrial Control System）为例，它是20世纪90年代初由美国洛斯阿拉莫斯国家实验室（Los Alamos National Laboratory, LANL）和阿贡国家实验室（Argonne National Laboratory, ANL）等为加速器及其它大型实验装置联合开发的控制系统软件工具集。发展至今，已被全世界上百个大型科学工程项目所采用，在世界范围内有大量人员进行着不同方向的应用开发，交流与合作极为广泛，涉及粒子加速器和探测器系统、同步辐射装置、大型天文望远镜等领域。在开源硬件方面，目前在加速器控制领域的应用则比较少，但其具有功能强大、性能稳定、成本低廉等诸多优点，在降低系统造价、加快开发进度、将更多设备纳入分布式控制系统等方面具有重要意义。
2.	开源硬件介绍
2.1 Raspberry Pi
Raspberry Pi是Raspberry Pi基金会在英国开发的一系列信用卡大小的单板计算机，旨在促进学校和发展中国家基础计算机科学教学[1]。自2012年2月以来，已售出800多万
台，成为英国史上最畅销电脑。最新产品Raspberry Pi 3的主要功能如下：
•Broadcom BCM2837 64位四核处理器（〜10倍Raspberry Pi 1的表现）；
•集成802.11n无线局域网和蓝牙4.1；
•与Raspberry Pi 1和2完全兼容。

图1  Raspberry Pi 3 Model B
Raspberry Pi GPIO（通用输入输出）引脚可以连接和控制LED，开关，继电器，传感器等设备。它还支持常见的协议，如I2C，可用于连接更多的外围设备。
Raspberry Pi主要使用基于Linux内核的操作系统，如Raspbian，Ubuntu MATE，Arch Linux ARM等。
2.2 BeagleBone Black
BeagleBone Black[2]是另一个低成本，社区支持的开发平台。它采用TI公司Cortex-A8架构的Sitara处理器，运行各种操作系统，包括Debian，Angstrom，Ubuntu和Android。主要功能如下：
•AM3358 1GHz ARM Cortex-A8处理器；
•4GB 8位嵌入式MMC板载闪存；
•3D图形加速器；
•NEON浮点加速器；
•2x PRU 32位微控制器；
•USB主机和OTG，以太网，微型HDMI，串口，....

图2  BeagleBone Black Rev C
BeagleBone Black可满足不同领域的不同要求。与Raspberry Pi相比，BeagleBone Black具有更多的GPIO引脚,其模拟输入引脚可以连接模数转换器（ADC），也可以使用专用的数模转换器（DAC）（如MCP4725 12位I2C DAC）来产生精确的模拟输出，并且可以很方便调用Adafruit库 [3]。

图3  MCP4725 12-bit I2C DAC 
受益于社区工作[4]，我们可以在Linux OS中方便搭建完整的EPICS（实验物理与工业控制系统）IOC运行环境，包括EPICS BASE、ASYN、AUTOSAVE和SEQ等安装包的编译。其中Raspbian  Wheezy发行版拥有搭建环境所需的所有工具。
Python是一种面向对象的、解释型计算机程序设计语言，功能强大，同时拥有丰富的第三方支持模块，可以方便地进行功能扩展。Python在国外粒子加速器领域应用广泛，也是SXFEL和DCLS项目上层应用软件主要编程语言。PyEpics[5]是EPICS与Python的CA（Channel Access）库接口，为Python提供了一个EPICS BASE接口模块，可以通过CA协议读取和写入PV（Process Variables）值。此外，GPIO也可以通过Python进行访问和控制。
3.	控制系统应用实例
针对Raspberry Pi和BeagleBone Black两个平台进行扩展开发，将其集成于现有的加速器控制系统（EPICS）之中，实现常用的IOC接口功能。下面介绍在SXFEL（软X射线自由电子激光实验装置）和DLCS（大连相干光源）控制系统的两个应用实例。
SXFEL（上海软X射线自由电子激光实验装置）是由中国科学院和教育部共同向国家申请建造的国家重大科技基础设施,项目法人单位为中国科学院上海应用物理研究所。它基于840MeV电子直线加速器，并通过两级级联HGHG方案生成8.8nm FEL辐射，目前装置正在调试。SXFEL为我国建设软X射线自由电子激光用户装置做预先研究,确定软X射线自由电子激光发展的技术路线,为我国建设软X射线自由电子激光用户装置建设提供支撑。经过适当升级本装置将可在最短时间内作为软X射线自由电子激光用户装置提供给我国科学界使用,在物理、生物、化学、材料、能源、环境和医学等领域都有非常重要的应用。
DCLS（大连相干光源）是当今世界上唯一工作在极紫外波段的自由电子激光用户装置，由国家自然科学基金委国家重大仪器专项资助，由中国科学院大连化学物理研究所和上海应用物理研究所联合研制，目前已完成相关调试。该装置波长可在50nm到150nm之间连续可调，具有完全的相干性，脉冲长度可以在飞秒和皮秒模式之间选择，在化学、物理、生物、能源、材料、环境等重要科学领域有着极为广泛的应用。
3.1 设备智能化
图像采集是加速器控制和数据采集系统的重要组成部分，基于GigE Vision标准的工业以太网相机目前已普遍应用，系统结构大大简化。根据目前的工程经验，相机长时间工作会出现死机等现象，软件重启无效，必须进行断电复位。而目前使用的供电和触发模块为定制产品，无系统和软件接口，需要人员至本地进行硬件重启，对于大型的分布式系统，这一操作耗费时间较长。
在SXFEL和DCLS控制系统中，将Raspberry Pi嵌入相机的供电和触发模块，系统架构如图4所示，通过I/O接口连接继电器，集成于EPICS控制系统之中，进而实现相机电源和触发信号的远程操作，如图5所示。以廉价（低于500元）、简洁的方式实现现有设备的智能化，可以简化运行人员的工作流程，提高系统的运行效率。通过继电器控制相机电源的机箱，如图6所示。

图4 系统架构图（Raspberry Pi） 

Raspberry Pi

图5 相机电源控制界面                               图6 控制机箱
3.2 设备控制器
在现代加速器控制系统中，采用越来越多的基于网络的设备，且在EPICS社区得到很好的支持。小型单板电脑（BeagleBone Black）在某些情况下是比较好的选择，例如电源控制，电机控制等。系统架构如图7所示。

图7 系统架构图（BeagleBone Black）
在SXFEL的束流测量系统和LLRF（微波低电平系统）控制系统中，采用基于网络的步进伺服电机（MOONS SSM24Q-3RG），可以通过以太网进行通讯。它与控制器，驱动器，编码器和数字I/O接口集成，可用作限位保护，照明控制等。

图8  MOONS SSM24Q-3RG电机
电机可以通过TCP/IP协议访问。我们设计了一个紧凑型机箱，包括电源，电机控制器和编码器。BeagleBone Black嵌入在同一个机箱中，并作为IOC运行，实现了一体化解决方案，进一步简化了系统结构。
4.	总结与展望
加速器控制系统的进一步发展需要深度和广度的有机结合，在向高速、高精度迈进的同时，更多设备的智能接入，也是重要的发展方向。开源硬件无法替代VME、cPCI、PXI、micro TCA等总线结构，但对于非计算或数据密集型应用，则完全可以满足要求。同时，开源板卡出货量很大，例如Raspberry Pi的全球3年售500万台，这是很多工业级控制器都无法比拟的。硬件开源提高了产品可靠性，同时也降低了开发和维护成本。
开源硬件在成本、接口等方面的优势，可以将更多的设备纳入控制系统，将更多的信号纳入监测范围，进而提高加速器的自动化程度和智能化水平。更多设备的接入，更多的数据源，将为更全面的数据分析和故障诊断提供参考。
开源硬件背后“创客”精神比开源硬件本身更具意义。过去，很多工程师有想法，但硬件资源有限，缺乏实现的平台。开源硬件的出现大大降低了开发的门槛，允许更多的人加入开发队列，可以在办公室桌面上实现自己的想法。
展望未来，加速器控制系统需要硬件智能化和软件智能化，前面提到的深度与广度其实还都在硬件或平台的层面。Linux和EPICS本身的发展都得益于开源，得益于更多开发人员的加入，激发释放“创客”精神，将是实现软件智能化（专家系统）的基础和前提。

参考文献:
[1]  Raspberry Pi website: https://www.raspberrypi.org
[2]  BeagleBone Black website: http://www.beaglebone.org
[3]  Adafruit website: https://github.com/adafruit
[4]  EPICS_RPi website: http://epicspi.readthedocs.io/en/stable
[5]  PyEpics website: http://cars9.uchicago.edu/software/python/pyepics3

论文作者介绍:
陈广花，女，1981年出生，2016年于上海大学获硕士学位，研究方向为大型加速器控制系统

Application of Open Source Hardware in Accelerator Control System
CHEN GuangHua,, LIU YaJuan, ZHAO Huan, ZHOU WeiMing, YU LuYang, YAN YingBing
(Shanghai Institute of Applied Physics, Chinese Academy of Sciences, Shanghai 210200, China)

Abstract: The embedded Linux boards, such as Raspberry Pi B+ and BeagleBone Black, are 
credit-card-sized single-board computer. They are low-cost and equipped with a huge array of GPIO (General Purpose Input Output), which can be used to take readings from sensors and control external devices. The active development community and open-source nature also make them ideal choices for many applications. They can be integrated with the accelerator control system and make more devices 'intelligent' via an economical way. It will be helpful to improve the efficiency of the accelerator. The details of the applications in SXFEL and DCLS control system will be reported in this paper.
Key words: SXFEL, DCLS, Accelerator, Open Source Hardware