admin管理员组

文章数量:1570765

2024年6月22日发(作者:)

第31卷

2011年

第4期 

4月 

核电子学与探测技术 

Nuclear Electronics&Detection Technology 

Vol_3l No.4 

Apr. 2011 

嵌入式控制器软件设计 

郭玉辉 ,乔卫民 ,王彦瑜 ,林飞宇 ,刘伍丰 ,张 玮 

(1.中国科学院近代物理研究所,兰州730000;2.中国科学院研究生院,北京100039) 

摘要:在加速器中对磁场的控制实际上就是对磁场电源的控制。随着环中粒子能量的增加,偏转 

磁场将同步增加。这将要求电源控制器对磁场电源提供给定电压波形,已产生相应的加速磁场维持粒 

子在固定轨道上的谐振加速。为此,基于ARM,DSP,FPGA等硬件平台,采用Linux编程技术、双Buffer 

缓存机制和DSP编程,实现对磁铁电源波形数据的同步更新和实时监测。系统运行正常、性能稳定。 

关键词:加速器;磁场电源;数字信号处理器;网络套接字 

中图分类号:1]P 273.5 文献标识码i A 文章编号:0258-0934(2011)o4 似7一o4 

HIRFL—CSR国家重大科学工程…是兰州 

重离子加速器国家实验室(HIRFL)的扩建工 

的给定和设备状态信息的回采监测。在该系统 

中,主要通过Web Browser实现对电源波形数 

程,它由重离子冷却储存主环CSRm和实验环 

CSRe及其束流传输线组成。束流首先在主环 

据和控制参数的录入。通过Web Server传输 

至中央数据库并通过触发器更新至前端服务 

器;再由前端服务器与内嵌SQLite数据库的 

内累积、加速、冷却和储存,然后引出到实验环 

或外靶实验终端做相关的核物理实验。加速器 

系统中的磁铁电源可为环中各种类型的电磁铁 

提供电力。控制系统通过调节磁铁电源的电流 

大小,可改变磁铁的电磁场,进而控制环中带电 

粒子的运动轨迹。显然,对束流位置的控制即 

是对磁场的控制,实际上也就是对磁铁电源的 

ARM控制板通信;由ARM控制板将数据下载 

到DSP的内存空间。同时,通过Socket编程技 

术发送触发信号激活DSP板的数据处理和给 

定程序。当中央控制室发出的波形数据更新标 

志通过网络Socket通知ARM应用程序时,表 

明存储于SQLite数据库中的数据文件已经被 

上层数据库通过网络文件系统更新,应用程序 

应调用Arm Linux系统的HPI驱动程序立刻将 

新的波形数据发送至DSP的内存空间,并告知 

DSP程序新数据已到达,上述整个过程称之为 

数据下行。在CSR控制系统中,为了实时监测 

磁场电源的状态和给定电压波形的回采,采用 

硬件中断服务程序和Socket网络技术,将被控 

控制。本控制系统可实现在离子加速过程中, 

根据束流能量的变化,电源磁场对环中重离子 

束提供相应的偏转力和聚焦力,保证束流的轨 

道稳定性。 

1 系统综述 

CSR磁场电源控制系统是一个基于分布式 

网络的控制系统 引,主要实现对电源波形数据 

磁场电源的各种状态信息和ADC采样数据通 

过HPI总线和[ntranet网络传回前端服务器; 

再由前端服务器传送给中控室和中央数据库, 

以便进行监测和波形分析,这个过程可称为数 

收稿15t期:2010—03—26 

作者简介:郭玉辉(1978一),男,甘肃兰州人,高级 

工程师,博士,研究方向为计算机控制与核物理实验 

数据处理技术。 

据上行。系统总体结构框图如图1所示。 

在波形数据下行过程中,为保证给定电源 

447 

Lb

system 

.asme - Sqlit[ IDataproees4 

HPI 一.——一 FPGA 

・ 

ve4 IiD 出bl 打 i●—n一 t6 

一 

armlinux DSP int7 

图1系统总体结构框图 

波形的连续性,在DSP内存空间采用双数据 

Buffer的交替更新机制。逻辑上将HPI能直接 

访问的DSP内存空间划分出两个大小完全相 

等、地址连续的缓冲区,用来缓存波形数据。 

ARM应用程序获得数据更新标志后,将会交替 

填充这两个缓冲区,而DSP程序通过信息交换 

区中由ARM应用程序填写的地址信息,获得 

最新的波形数据地址,从而实现对双Buffer数 

据的轮流读取。因此,整个波形数据缓冲区对 

DSP来说是透明的,地址完全由上层ARM应用 

程序提供。采用双Buffer交替更新机制可保证 

波形更新时,若前一个波形数据尚未发送完毕 

(即DSP正在输出电压波形),此时,即使ARM 

应用程序发送新波形数据也不会覆盖当前正在 

使用的波形数据,避免DSP产生的波形与预期 

不符,达到连续过程控制的目的。同时,ARM 

应用程序对下载到DSP内存空间的数据也做 

些错误检查,如果DSP内存中的波形数据与 

SQLite数据库中的预期数据不符,检查代码将 

通过上行渠道,向中控室发出错误警报。在整 

个电源控制过程中,波形数据的DAC给定时刻 

和使能均由FPGA外接光纤信号中的同步触发 

事例控制。 

2软件编程 

2.1基于Arm Linux系统的程序设计 

SQLitel3 是一个用小型C库实现的嵌人式 

关系数据库引擎,无需安装和初始配置,没有服 

务进程,有很强的内聚性,它作为引擎嵌入到应 

用程序中。提供了对SQL92的大多数支持,支 

持多表和索引、事务、视图、触发等一系列的用 

户接口及驱动,尤其是对BLOB的支持,方便我 

们对波形数据的存储和实现,不需格式转换。 

将数据库引擎SQLite集成到Arm Linux应用程 

序中,可实现对数据库文件的操作。 

对于网络通信程序,我们采用Socket(套接 

字)多线程编程技术。Linux系统支持套接字 

接口,通过套接字可实现对分布于多台机器的 

448 

网络客户/服务器进程进行通信。当然,同一台 

机器上的进程之间也可以通过套接字技术实现 

通信。在编写ARM服务器程序时,通过Fork 

系统调用函数创建进程备份,创建的套接字将 

被新的子进程所继承。新的子进程同连接的客 

户进行通信,而主进程则可以继续监听和接收 

后面的客户连接。通过Socket编程可实现Arm 

Linux系统与上层前端服务器系统之间设备状 

态信息的上传和通信握手机制的实现。 

通过编写HPI口总线驱动程序实现对Arm 

Linux与DSP内存空间的数据交换。HPI总线 

驱动是一种字符设备驱动程序,用户可以通过 

文件节点访问此设备。Linux内核分为内核态 

和用户态两种模式,驱动程序运行在内核状态, 

而应用程序只能运行在用户态。一般用户可通 

过系统调用和硬件中断完成从用户态到内核态 

的控制转移。Linux内核按驱动程序把设备划 

分为3种类型:字符设备、块设备和网络设备。 

其中字符设备和块设备可以像文件一样被访 

问。比如,驱动程序通常会实现open(打开文 

件)、close或者release(关闭)、read(读取)、 

write(写入)、seek(定位)等系统调用操作。 

2.2 DSP程序设计 

DSP(Digital Signal Processing)的主要工作 

是对ARM模块传送过来的电源波形数据进行 

处理,并通过DAC输出给磁场电源 ;同时,对 

电源状态信息和波形数据进行回采上传。在 

DAC波形数据的输出过程中,由于FPGA内设 

计的双FIFO为64 32 bit,当接收到正确的同 

步触发信号后,FPGA将FIFO中的波形数据以 

1/1 Ixs的速率送给DAC。所以在电源波形输 

出过程中,每隔64 s FIFO数据排空一次。当 

FIFO为空时,FPGA将触发一次DSP外部送数 

中断以实现对DAC数据的连续给定。 

对于电源状态信息和波形数据的回采可以 

通过DSP程序的ADC中断处理程序来实现。 

ARM系统可将ADC采样到的数据和一些电源 

状态信息通过数据上行渠道传送给中央控制室 

和中央数据库,以实现对磁场电源各种状态信 

息的监测。在ADC数据的上传过程中,在FP— 

GA内部实现了一个256字节长的数据FIFO 

来缓存ADC读来的数据,当FIFO中存贮的数 

据为半满或全满时,通过硬件连线给DSP发送 

外部中断信号,触发ADC中断处理程序读走 

FIFO中缓存好的128个数据。在整个DSP上 

传采样波形数据的过程中,系统设定了两种上 

传模式:模式1实现ADC数据的边读边上传, 

上传间隔为1k(128 8)字节数据;模式2实现 

对ADC数据打包整体上传,包的大小及起始位 

置由上层服务器程序设定。ADC中断处理程 

序的具体流程如图2所示。 

3现场测试 

图2 ADC中断处理程序流程图 

在现场进行系统的数据给定和采集测试, 

图3(a)为现场束流调试中用到的波形数据。 

Socket网络编程传送给Labview进行显示。图 

通过电源控制系统的下行渠道传波形数据至 

3(b)是ADC采集回传显示的波形。从这两个 

图中,可以很清楚地看到电压波形数据的给定 

DSP波形发生器。同时,通过DSP板的ADC采 

集回传波形数据至中心Oracle数据库,并通过 

与采集完全一致。 

(b) 

图3现场采集到的数据波形 

4 结语 

却存储环[J].强激光与粒子束,2008,20(11):1787 

1794. 

为了实现对束流轨迹的有效控制,使系统 

[2]刘伍丰,乔卫民,原有进,等.RIBLLⅡ与CSRe中束 

具有快速传输和高效数据处理的能力,基于 

流控制系统的设计[J].强激光与粒子束,2008,20 

ARM,DSP,FPGA等硬件平台采用Linux编程 

(3):525—528. 

技术,双Buffer数据缓存和DSP编程技术,实 

[3]徐杨,乔卫民,刘伍丰,等.HIRFL—CSR嵌入式数 

现对磁铁电源波形数据的同步更新和实时监 

据库的设计实现[J].核电子学与探测技术,2008, 

28(3):590—592. 

测。从现场磁场电源的测试情况来看,本软件 

[4]郭玉辉,乔卫民,王彦瑜,等.基于DSP的磁场电源 

系统采样数据波形平滑,与给定波形数据完全 

控制器软件设计[J].强激光与粒子束,2008,20 

致,这为CSR控制系统的完善和运行提供了 

(10):17l1—1714. 

可靠保证。 

参考文献: 

[1]夏佳文,詹文龙,魏宝文,等.兰州重离子加速器冷 

449 

\ 

The Software Design of the Embedded Controller 

GU0 Yu—hui’;QIAO Wei—min ;WANG Yah—yu ;LIN Fei—yu ;LIU Wu—feng ;ZHANG Wei 

(1.Institute of Modem Physics,Chinese Academy of Sciences,LanZhou,73000, 

2.Graduate School of the Chinese Academy of cSiences,Beijing,100039) 

Abstract:The magnetic field control in the accelerator is in fact the power——supply control of the magnetic 

ifeld.As the particle energy increase in ring,the deflection magnetic field will simultaneously increase.In or— 

der to realize the particles can be resonance accelerated in a fixed orbit,it will require that power—supply con— 

troller provides corresponding given voltage waveform to the power—supply of the magnetic field.Therefore,we 

adopt Linux programming,double buffer cache mechanism and DSP programming to achieve the power supply of 

magnet waveform data synchronous updates and real—time monitoring.The s ̄ware system work stably and re— 

liably based on the ARM,DSP,FPGA and other hardware platform. 

Key words:Accelerator,Magnetic field power supply,DSP,Socket 

(上接第446页,Continued from page 446) 

Development of the Portable Alpha——ray Spectrometer 

Based on the PIPS Detector 

CHENG Yi ,TUO Xian—guo ,ZHOU Chuan—wen ,WANG Hong—hui ,MU Ke—liang 

(1.Applied Nuclear technigues in Groscience Key Laboratory of Sichuan Proviance 

Chengdu University of Technology 610059,China, 

2.Key Laboratory of Earth Exploration&Information Technology of Ministry of Education. 

Chengdu Universiyt of Technology 610059,China) 

Abstract:In order to maintain the needs of determining radiation contamination in—situ rapidly,we established 

a kind of portable alpha—ray spectrometer based on the PIPS detector.The instrument employs PIPS detector to 

capture d—ray.signals are collected and disposed by preampliifer circuit and the signal acquisition module, 

hten spectra analysis is achieved by C805 1 F120 MCU control platform.Man—machine interface was organized 

by matrix keyboard and LCD display.Both lithium—ion batteries and power processing module were used to 

supply the system power.We designed a vacuum measurement chamber in order to obtain higher energy resolu’ 

tion and cleaner spectra.By performance testing we get that the whole power consumption of this instrument is 

105mA.energy resolution is 8.1%in normal air environment and 6.7%in vacuum.The instrument has high 

precision,good stability,low power consumption,and is very suitable for in—situ measuring. 

Key words:PIPS detector,portability,alpha—ray spectrometer,C805 1 F 

450 

本文标签: 数据波形电源