基于ACEX1K50的HIRFL-CSR同步处理器设计

2011-09-18 05:54李桂花乔卫民
原子能科学技术 2011年7期
关键词:加速器延时时钟

李桂花,乔卫民,敬 岚

(中国科学院 近代物理研究所,甘肃 兰州 730000)

兰州重离子加速器冷却储存环(HIRFLCSR,简称CSR)是由主环和实验环组成的双储存环系统,由磁铁、电子冷却装置、高频加速腔、高频累积腔、超高真空系统等诸多复杂部件组成[1]。欲成功实现1个加速器运行周期须合理安排各步骤的运行时间,使加速器的各相关设备在相应的时间做出适当的举动,这需要同步系统的统一指挥。在CSR同步处理系统中,每个步骤均对应1个不同的事例,众多事例在运行前按照物理实验的要求,编排成1个事例表,包括1个完整运行周期的事例表及相关参数的数据,称作1个虚拟加速器,当它被同步系统激活时,成为1个真正的加速器周期[2]。

CSR同步控制系统由同步处理器、数据库系统和前端处理器组成。同步处理器是整个控制系统的指挥中心,由它用事例形式下达所有指令,指挥所有执行机构。

CSR同步控制系统的时间精度要求在ns级,对稳定性也有非常高的要求,软件方法很难实现,本系统采用目前控制领域技术领先的现场可编程逻辑器件,以做到定时和运行逻辑完全由硬件实现,保证定时系统的精度要求和运行稳定性。

1 系统设计方案

CSR同步处理器采用PCI接口,板上加载大容量SDRAM存储事例表数据,FPGA实现SDRAM控制逻辑和事例发送功能。这种方式的优点为:可存储多个事例表,从而实现虚拟加速器周期切换;事例编码发送时间精确,可满足HIRFL-CSR的运行要求,便于时钟严格同步。缺点主要是实现过程复杂。

1.1 CSR周期及运行技术指标

CSR的每一运行周期基本由以下步骤组成:前期设备状态确认、注入准备、注入、加速、引出准备、引出、恢复初始状态、诊断测量等。

CSR运行周期17s;外部触发间隔误差小于500ns;输出波形数据速率1MHz;DAC分辨率16bit。

1.2 CSR事例结构

CSR事例即为加速器运行过程中的命令,它是1组32bit的编码,分别由帧头、模式位、事例号、功能码和操作码组成。

1.3 CSR同步处理器功能模块结构

CSR同步处理器的功能模块分为:用于从上层服务器获取事例表的PCI接口控制模块、用于存储多个事例表数据的SDRAM存储器控制模块、用于存储本次发送周期事例表的BUFFER和用于产生和发送当前事例的事例发送模块。图1示出同步处理器功能模块结构。

2 基于ACEX1K50的同步处理器实现

CSR同步处理器在ACEX1K50芯片上采用VHDL语言编写程序,开发平台为Altera公司的QuartusⅡ8.1。处理器使用模块化设计,主要功能模块分别为PCI控制模块、SDRAM控制模块、事例发送模块。本文重点介绍SDRAM控制模块和事例发送模块的实现方法。

图1 同步服务器FPGA程序结构框图Fig.1 FPGA structure of synchronization controller

2.1 ACEX1K50芯片简介

ACEX1K50是Altera公司生产的现场可编程逻辑器件,由逻辑阵列块LAB、嵌入式阵列块EAB、快速互联以及I/O单元构成,每个逻辑阵列块包含8个逻辑单元LE和1个局部互联。该芯片总共包含2 880个逻辑单元、40 960bit RAM、1 个 PLL、249 个 用 户 可 用I/O管脚。

本设计使用1 621个逻辑单元、32 768bit RAM和1个PLL。

2.2 SDRAM 控制

目前市场上虽有一些通用SDRAM控制器,但设置复杂,且无法针对特定的系统,因此性能不能发挥到最好。使用可编程逻辑器件平台和硬件描述语言,针对系统定制所需的SDRAM控制器,不仅可节省系统资源,且可最大限度地发挥SDRAM的作用,从而提升系统的性能。定制的SDRAM控制器使SDRAM读写与PCI接口模块无缝连接,高效率地实现了同步处理器与PC机内存之间的高可靠性数据交换,满足事例同步系统对SDRAM访问的需要,并舍去了对系统无用的功能。不仅减小了开发难度,还节省了系统资源和成本,提升了系统性能。

本模块针对系统设计的需要定制了以下4种必需的SDRAM功能:模式设置、自动刷新、Burst读和写操作。状态机的运行示于图2。

状态机的入口条件为刷新时间到、模式设置、读、写。对SDRAM有两种读写模式,分别是PCI外部读写和FPGA内部模块读写,他们各自产生读写地址,即只要读写方给出初始地址,SDRAM控制模块即能自动生成存储器的其它地址。

2.3 事例发送

事例的组织由物理人员根据实验要求组织产生,同时产生的还有通过实际测量得出的事例延时,即事例间隔时间。一旦1个周期或多个周期的事例数据编排好后,即可通过PCI接口将其装载到同步处理器板上的SDRAM中,等待启动发送。发送过程的控制时钟为25MHz,图3所示为事例发送程序流程图。

图3 事例发送程序流程图Fig.3 Work flow chart of events sending

1)发送准备

在启动事例发送前,必须做的一项准备工作是本次周期事例表获取,即将本次周期的事例表从SDRAM中读出,放入FPGA内部64bit×256BUFFER中,时间不超过70μs。事例表宽度64bit,第1个数据存储本周期事例表长度。从第2个数据开始,每条为1个事例编码,低32bit存储事例代码,高32bit存储事例延时。当获取完成,则事例表长度自动加载到长度计数器中,等待发送启动。图4所示为发送准备程序的数据流向。

图4 发送准备程序数据流向Fig.4 Data flow of events sending preparation program

2)发送过程

事例发送机构由1个移位寄存器、1个延时计数器和1个控制状态机构成。移位寄存器负责将事例编码按发送时钟逐位发出,延时计数器负责计算两个事例之间的时间间隔,计时时钟1MHz。同步系统的延时调整,主要根据物理实验计算提供的延时值,并参考被控设备及相关板卡的固有延时来决定,它在事例表中明确定义。

由于启动发送时刻与发送时钟独立,因此,若直接发送,每个事例发出时间相对于发送命令的位置偏差最大可达1个发送时钟周期,CSR事例发送时钟为390kHz,将表示两个事例有可能被发出的时刻间隔误差为2.56μs,而CSR运行要求事例触发间隔误差小于500ns。为严格控制事例编码第1bit的输出相对于发送命令的位置固定,用控制状态机校正发送时钟上升沿到来时刻,从而保证每个事例发出时间与发送时钟上升沿的相对位置误差小于40ns。图5所示为时钟调整示意图。

3 测试结果和使用情况

图6所示为测试中当发送事例编码为C05A0001时的输出波形。

C05A0001事例编码含义为:帧头(31~30bit)为固定识别码“11”,模式位(29~24bit)为 “000000”,事 例 号 (23 ~ 16bit)为“01011010”,功能码(15~8bit)为“00000000”,操作码(7~0bit)为“00000001”。

图5 事例发送时钟调整示意图Fig.5 Adjusting of events sending clock

图6 C05A0001事例编码输出波形Fig.6 Wave of events code C05A0001

由于事例编码由光口输出,因此图中电平反向。可看出,从第1个下降沿开始,分别输出了“11000000010110100000000000000001”,即C05A0001。每1个bit宽度为2.56μs。

1个完整的事例编码需81.92μs(2.56μs×32),为显示清晰,此图时间分辨率设为10μs,可看出,事例编码发送正确、发送时钟无误、无延迟、无变形。若单独比较两个事例的首位下降沿,能看到事例触发间隔误差小于40ns,符合CSR运行对事例触发间隔误差小于500ns的要求。

本处理器2007年实际应用到CSR同步控制系统中,开始试运行,运行过程中定时精确、运行稳定,能完成对CSR的同步控制,并于2008年7月30日通过国家验收且正式投入运行。

4 结束语

本文实现的CSR同步处理器采用了FPGA主流技术,在加速器控制领域技术较为领先。此插件已使用在HIRFL-CSR的控制系统中。实际运行情况证明,该处理器结构完整、技术先进、运行稳定、定时准确、成本低廉,在一次独立加速器运行周期内,能控制各分系统的同步运行,实现给束团增能、加速,引出等,且能实现快速、稳定的虚拟加速器周期切换,实际应用效果好,值得进一步研究和推广。

[1]魏宝文,詹文龙.跨世纪的核科学研究重大工程——从重离子加速器到冷却储存环的研制[J].中国科学院院刊,1999(4):310-313.

[2]DONG Jinmei,YUAN Youjin,QIAO Weimin,et al.Timing system of HIRFL-CSR[J].Chinese Physics C,2009,33(5):393-396.

猜你喜欢
加速器延时时钟
莫比斯加速器众创办公空间
知识快餐店 科学加速器
全民小康路上的“加速器”
课后延时中如何优化不同年级学生活动效果
古代的时钟
这个时钟一根针
基于数据选择的引信测试回波信号高精度延时
有趣的时钟
一种“死时间”少和自动校准容易的Wave Union TDC
时钟会开“花”