EPICS EMBEDDING FOR SUPERKEKB LLRF COMPONENTS
Hisakuni Deguchi #,A), Kazutaka HayashiA), Kazunori AkaiB) , Shinichiro MichizonoB) , Kazuro Furukawa B) ,Jun-ichi OdagiriB) , Tatsuro NakamuraB)A)
Mitsubishi Electric TOKKI System Corp., 8-1-1 Tsukaguchi-honmachi, Amagasaki, Hyogo, 661-0001
B)
High Energy Accelerator Research Organization (KEK), 1-1 Oho, Tsukuba, Ibaraki, 305-0801

Abstract
Standardizations and open-sources are key-words for the new digital LLRF (Low Level RF) control system of futureaccelerator projects, (such as SuperKEKB, cERL and STF). Digital LLRF control board for the control systems isdesigned on the AMC (Advanced Mezzanine Card) standard. Adoption of EPICS (Experimental Physics and IndustrialControl System）is also required for the LLRF control. By using embedding methods, the AMC plays the role of an
EPICS IOC (input output controller). In this paper, the design and status of the development of the software for theLinux/AMC-based IOCs are reported.

SuperKEKB 向 LLRF コンポーネントへの EPICS 組込み
1.

はじめにSuperKEKB では、低エミッタンスビームを得るため、高周波制御システム（Low Level RF: LLRF）の精度向上が必要であり、ディジタル制御による新しい LLRF を採用する[1]。KEKB 加速器システムでは 、 EPICS （ Experimental Physics and IndustrialControl System）が使われている。EPICS は、制御システムを構築するためのソフトウェアツールキット（加速器制御のミドルウエア）であり、ディジタル化 し た 新 LLRF も 、 EPICS IOC （ Input OutputController）として、現状の LLRF との互換性を求められている。現状の LLRF では、アナログ LLRF
ハードウエアと、EPICS IOC(VME CPU)の間で、CAMAC (Computer Automated Measurement andControl) 規格のディジタル入出力装置が信号受け渡し を 行 っ て い る 。 新 LLRF で は 、 老 朽 化 し た
CAMAC に代わる、新たなプラットフォームが求められている。

2.

（Advanced Mezzanine Card）を採用した。今後の加速器システムで重視される機器の遠隔監視制御機能及び活線挿抜等の保守整備性を、低コストにて実現
で き る 、 PICMG(PCI Industrial Computer Manufacturers Group)で策定された小型通信機器向けの規格である。AMC 規格のボードを、μTCA シェルフに複数枚実装し、GbE（Giga bit Ethernet）をバックパネルインタフェースとして機器間の通信制御を行なう。(図１)2.2 オープンソースの利用オープンソースである EPICS を動作させるためのプラットフォームには、同じくオープンソースである Linux OS を採用した。近年商品化された FAM3 シリーズの F3RP61（横河電機株式会社製）はLinux 搭載型 PLC-CPU で、EPICS 動作を実現し、加速器制御の実績を積んでいる[2]。今回、制御ボード
へ Linux/EPICS の組込み開発用には、サポートが充実している Wind River Linux 2.0（Linux カーネル2.6）を選択した。

プラットフォームと EPICS IOC

新しいディジタル LLRF のプラットフォームの特徴は、標準化とオープンソースの利用にある。
2.1 標準化
LLRF のディジタル制御を、高速なディジタル信号処理と、通常速度のディジタル信号処理に分け、それぞれ FPGA（Field Programmable Gate Array） を用 い た 制 御 ボ ー ド と 、 PLC （ Programmable LogicController）で分担した。PLC は産業界で製造装置の制御機器として確立している。標準化されたアナロ
グ/ディジタルの多様な入出力モジュールを使って、 図 1：LLRF コンポーネントにおける EPICS IOC 構成
通常速度のディジタル信号処理を行なう制御装置(ハードウエア)を構成した。制御ボードについて、 2.3 EPICS IOC
μ TCA （ Micro Telecommunications Computing
通常速度のディジタル信号処理を行なう制御装置
Architecture ） シ ェ ル フ に 実 装 可 能 な 規 格 AMC は、前述の PLC-CPU（F3RP61）を使うことで、___________________________________________#hi-deguchi@west.melos.co.jp

PLC 自体が EPICS IOC となる。高速なディジタル信号処理を行なう AMC 規格の制御ボードには、PPC440 をハードマクロ CPU として内蔵しているFPGA（Xilinx 社製：Virtex5-FXT）を実装した [3] 。
これに Linux/EPICS を組込むことにより、ボード自身が EPICS IOC となる。新 LLRF の最大の特徴は、EPICS IOC であるコンポーネント（複数の制御ボードと PLC）で構成する事、各 IOC 間を EPICS の通信プロトコルの CA(Channel Access)で通信制御を行なう事にある（図 1）。実績のある CA を使い、短期間で高機能な通信制御を実現できた。LLRF 内の制御ソフトウエアは、加速器制御システム(上位システム)と、同じ手法・同じレベルの制御となり、ソフトウエアの、柔軟性・拡張性・保守性・堅牢性を高めることができた[4]。
次章以降、AMC 規格の制御ボードへの EPICS 組込みについて述べる。SuperKEKB の他、現在開発中 の 加 速 器 シ ス テ ム (cERL の LLRF[5] や STF のLLRF[6])に使う事を前提としている。

3.

EPICS の組込み

EPICS IOC ソフトウェアの構成、各ソフトウェアの役割、及びアプリケーションの具体例について述べる。
3.1 EPICS IOC ソフトウェアの構成
今回の制御ボードにおいて、EPICS IOC に求められる機能は主として以下のものとなる。
 RF フィードバック処理のパラメータ設定
 蓄積した I/Q データの読込み
ともに FPGA とのインタフェースが必要である。
そこで、FPGA レジスタをアクセス（読書き）可能とする Linux カーネルレベルのデバイスドライバの開発を行なった。
更に、このデバイスドライバに対応したプロセス
空間側でのライブラリとして EPICS ドライバサポートを、そのライブラリ（ドライバサポート）を利用し実際のアクセス処理を行なうソフトウェアとして EPICS デバイスサポートを定義した（図 2）。
3.2 Linux デバイスドライバ
プ ロ セ ス 空 間 （ EPICS ） か ら ハ ー ド ウ ェ ア（FPGA レジスタ）を直接アクセスできないため、その仲介役として Linux カーネルレベルのデバイスドライバを開発する。プロセス空間からハードウェ
アへのアクセスは、仮想アドレスから物理アドレスへの変換テーブルを書換ることで可能となり、それを実現する機能が mmap システムコールである。
従って、今回のデバイスドライバでは mmap システ
ムコールを実装しており、メモリマップド I/O にアサインされた FPGA レジスタにアクセスするための仮想アドレスのポインタを取得している。
3.3 EPICS ドライバサポート
3.1 小節でも述べたが、ドライバサポートはデバ

Cannel Access
データベース(EPICSレコード)
Ao型

Waveform型

レコード
サポート

レコード
サポート

デバイスサポート

デバイスサポート・・・・・

ドライバサポート

デバイスドライバ

FPGAレジスタ

図 2：各ソフトウェアの階層関係
イスサポートが参照するライブラリの役目を果たしている。ここでは、mmap システムコールを呼び出し、デバイスドライバを介して FPGA レジスタアクセスのポインタを取得・保持している。
3.4 EPICS デバイスサポート
デバイスサポートの役割は、ドライバサポートが保持している FPGA レジスタアクセスのポインタを参照し、各レコードが INP、OUT 等の field で指定したアドレスを読書きすることである。
3.1 小節で述べたパラメータ設定の機能は、基本的なレコード型（Ai、Ao、Longin、Longout 等）に対応したデバイスサポートが担当する。蓄積した
I/Q データの読込みは、Waveform 型をカスタマイズしたレコード型に対応したデバイスサポートが担当する（3.5 小節にて具体例として説明する）。
3.5 アプリケーションの具体例
アプリケーションとして、蓄積した I/Q データの読込み機能を例に取り、各ソフトウェアがどのように機能しているのかを説明する。
I/Q データの蓄積は FPGA が ch（channel）ごとに行なうが、その蓄積は FPGA 外部の RAM（ソフトウェア動作のためのワーク RAM とは別）をリングバッファとして使用することで実現する。そのリングバッファのデータを ch ごとに EPICS レコードとして読込むが、リングバッファは 256MBytes の容量があり、一度に全てのデータを読込むことができな
い （ ワ ー ク RAM が 128MBytes で あ る た め
256MBytes のレコードを展開できない）。そのため、分割してデータを読込む構成とした（分割サイズは固定）。
分割してデータを読込むということは、読込む側（上位装置）がどの位置のデータを読込むのかをその都度指定する必要がある。つまり、ch ごとのレコードに可変の field を設ける必要がある。読込むデータは配列型として扱うため、Waveform 型に可変の field（OFST と命名した）を追加する、というカスタマイズを行ない、新規のレコードサポートとして追加した（Ringbuffer 型と命名した）（図 3）。

リングバッファ(256MBytes)
ch1_I
ch1_Q
ch2_I
ch2_Q

※リングバッファが一周していない
場合は、 リングバッファの先頭アドレスが最古位置。

OFSTを指定・・・① レコードをプロセス

ch8_I
ch8_Q

④ データを取得

1サンプリング
データ

1サンプリング
データ
Ringbuffer
レコード(CAV1_I)

Ringbuffer
レコード(CAV1_Q)・・・・・・

1サンプリング
データ
1サンプリング
データ

Ringbufferレコードサポート

Ringbufferデバイスサポート③ 該当ch、 位置のデータを抜き出し時系列に並べ替える② リングバッファの先頭アドレスへのポインタを参照

・・・
最新

1サンプリング
データ

最古※

1サンプリング
データ

ドライバサポート
EPICS IOC起動時に呼び出す
デバイスライバ

OFST=14のデータ(16MB)

・・・
リングバッファの先頭アドレスへのポインタを取得

OFST=15のデータ(16MB)
リングバッファカレント位置
OFST=0のデータ(16MB)

1サンプリング
データ・・・

図 3：新規レコードサポートを用いた EPICS IOC アプリケーション例
実際の読込み処理は Ringbuffer 型デバイスサポート
が行なう。どの ch、どの位置のデータを読込むのかを各 field の値から判断し（ch は固定値でよいためINP field で指定する）、ドライバサポートが保持しているリングバッファアクセスのためのポインタを参照し、データを読込み、読込んだデータをレコードの配列（VAL field）にコピーする。
各レコードをプロセスすれば、上位装置は指定した位置のデータを読込むことができる。
ドライバサポートは、EPICS IOC 起動時にデバイスドライバを呼び出してポインタを取得している。

4.

現在の開発状況と今後制御ボード（AMC）の開発にあたり、はじめに
Xilinx 社製の評価ボード ML507 にて Linux 及びEPICS の動作検証を実施した。ML507 評価ボード単体で Linux 起動を確認、EPICS についても、基本レコード型対応のデバイスサポートの動作を確認した。次に、Linux 及び EPICS を AMC へ移植し、Linux 起動及び EPICS の起動を確認した。制御ボード（AMC）への EPICS 組込みが実現した。
現在、FPGA のフィードバック等のロジックを作り込み中であり、FPGA レジスタに合わせて EPICS
IOC の設定を行い、LLRF 制御ボードとしての評価を行う予定である。

5.

まとめ

標準化とオープンソースの利用をキーワードとして、新しいディジタル LLRF 制御システムを設計した。高速ディジタル処理（フィードバック制御や高速インターロック処理）を行う制御ボードは、μTCA プラットフォームを利用した。オープンソー

スの Linux/EPICS を組込む事で、本ボードは EPICSIOC となる。PLC の EPICS IOC 化と合わせて、
LLRF システムを(加速器制御システム同様に)、EPICS 制御とすることで、短期間で高機能な制御の実現を図る。ソフトウエアは、柔軟性・拡張性・保守性・堅牢性が高まる。評価ボードでのLinux/EPICS 組込みと LLRF 制御に必要なドライバを開発し動作検証の後、ディジタル制御ボード（AMC）へ移植し、AMC での EPICS 組込みが実現した。現在、FPGA のフィードバック等のロジックを作り込み中で、その後に LLRF 制御ボードの評価を行う予定である。

参考文献[1] K. Akai, et al., “RF System for SuperKEKB”,
Proceedings of the 7th Annual Meeting of Particle
Accelerator Society of Japan, Himeji, Aug. 4-6, 2010[2] J. Odagiri et al., “APPLICATION OF EPICS ON F3RP61
TO ACCELERATOR CONTROL”, Proceedings of the
6th Annual Meeting of Particle Accelerator Society ofJapan, Tokai, Aug, 2009[3] M. Ryoshi et al., “LLRF BOARD IN MICRO-TCA
PLATFORM”, Proceedings of the 7th Annual
Meeting of Particle Accelerator Society of Japan,Himeji, Aug. 4-6, 2010[4] J. Odagiri et al., “Fully Embedded EPICS-based
Control of Low Level RF System for SuperKEKB”,IPAC’10, Kyoto, May 2010[5] T. Miura , et al., ”Low Level RF System for cERL”,
IPAC’10, Kyoto, May 2010[6] S. Michizono et al., “Digital LLRF System for STF S1Global”, IPAC’10, Kyoto, May 2010