APP下载

EPICS环境下数字超声流量计网络接口设计与应用

2015-11-26官龙腾尹聪聪张宁张福春刘婷李勇平

核技术 2015年8期
关键词:网络接口以太网上位

官龙腾 尹聪聪 张宁 张福春 刘婷 李勇平



EPICS环境下数字超声流量计网络接口设计与应用

官龙腾1,2尹聪聪1,2张宁1,3张福春1,3刘婷1,2李勇平1,3

1(中国科学院上海应用物理研究所嘉定园区 上海 201800);2(中国科学院大学 北京 100049);3(中国科学院核辐射与核能技术重点实验室 上海 201800)

针对钍基熔盐堆分布控制系统(Distributed Control System, DCS)中数字超声流量计的实验物理和工业控制系统(Experimental Physics and Industrial Control System, EPICS)网络接入需求,本文提出了一种数字以太网接口设计方案,实现上位机操作员接口(Operator Interface, OPI)层面的流量数据实时监测。硬件使用DM9000以太网芯片,扩展连接到TMS320F28335为控制器的数字化超声流量计平台上。DCS软件设计以超声流量计作为客户端,与运行EPICS服务器程序的上位机构成客户端/服务器结构,自检结果表明,二者之间可进行可靠的传输控制协议(Transmission Control Protocol, TCP)通信。在流量标定平台上的实际测试进一步验证了超声流量计与上位机实时数据通信的可靠性,实现了EPICS环境下超声流量计的网络化功能。

分布式数控系统,网络接口,TMS320F28335,超声流量计,DM9000

随着智能仪器的网络化发展,其与网络技术的结合成为必然趋势。网络技术使得测量仪器在实现智能化的同时,实现网络化。在应用层面上,测量仪表越来越广泛地接入分布式数字控制系统(Distributed Control System, DCS)中。

在钍基熔盐堆(Thorium Molten Salt Reactor, TMSR)核能系统中使用超声流量计进行熔盐流量测量,DCS采用分布式控制系统——实验物理和工业控制系统(Experimental Physics and Industrial Control System, EPICS)进行流量信息的接收与监控。超声流量计与EPICS系统之间的传统通信方式是使用模拟量(通常是4−20 mA),经EPICS系统输入输出控制器(Input/Output Controller, IOC)层面上的可编程逻辑控制器(Programmable Logic Controller, PLC)来读取。而超声流量计的智能化发展已使其具备了直接进行数字通信的能力,因此可直接设计数字网络端口与EPICS系统联接,以获得更高的可靠性和便利性[1]。

本文为TMSR熔盐回路[2−3]的超声流量计设计了一种数字化以太网接口。选择通用以太网控制芯片DM9000与已设计成功的基于TMS320F28335的超声流量计[4]联接实现实时网络通信功能。在EPICS[5−6]环境下,以客户端/服务器架构模式将流量数据直接以数字的方式通过uIP协议栈传送到控制台。设计减少了原有传输过程中测量数据经PLC读取传输的过程,为4−20 mA的模拟量传输提供了一种可替代的数据传输方案,能够有效抵抗恶劣工作环境下的信号干扰,改善传输的可靠性,以期实现测量仪表的数字化、网络化[7]。

1 系统结构

在EPICS的DCS环境下,设计有网络接口的仪表系统结构如图1所示。超声流量计作为Device单元,通过使用DM9000设计的网络端口与装有EPICS的上位机进行通信,将流量计测得的数据实时地传输到上位机上。

图1 仪表网络接口系统整体结构图

1.1 基于EPICS的流量测量系统简介

超声流量计将测得的流量数据经网络传输到EPICS中之后,EPICS上运行接收程序接收数据。EPICS是一套分布式控制系统软件开发工具,由美国洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory, LANL)和阿贡国家实验室(Argonne National Laboratory, ANL)等联合开发。由于具有移植性好、可裁剪、运行稳定、扩展方便等特点,已被广泛应用于大型科学实验装置,如:瑞士光源、上海光源、合肥光源、北京高能物理研究所北京正负电子对撞机重大改造工程(Beijing Electron Positron Collider upgrade, BEPCII)等。

EPICS的结构可以分为三层(图1)。其中,操作员接口(Operator Interface, OPI)位于整个系统的顶层,操作人员通过OPI访问整个控制系统。通过开发人机界面,操作人员可以实现参数设置、数据的处理和存档等功能。IOC层上运行有实时数据库,负责对数据进行接收处理,在EPICS中处于核心地位。Device层处于整个系统的最底层,本文中Device层为超声流量计,负责流量数据的获取和传送。实际使用中,OPI和IOC层通常使用局域网进行通信,IOC层与设备之间通过现场总线、Ethernet网络等实现通信。Device层可以是实际使用的设备,也可以是作为设备控制器的PLC。由于超声流量计的控制器TMS320F28335本身具有控制功能,可以直接将流量计作为Device层。

1.2 DM9000网卡芯片

DM9000 (图2)是由中国台湾DAVICOM公司推出的一款低功耗高速以太网控制芯片,兼容3.3 V和5 V电压,支持8、16和32位处理器接口。DM9000内部集成了10/100M自适应收发器,支持介质无关接口。DM9000物理层接口支持10 MBps下3、4、5类非屏蔽双绞线和100 MBps下5类非屏蔽双绞线,完全符合IEEE802.3协议标准。

DM9000能够实现以太网介质访问控制层(Media Access Control, MAC)和物理层(Physical layer, PHY)的功能,包括:MAC数据帧的组装、拆分与收发,地址识别,CRC编码/校验,接收噪声抑制,输出脉冲成形,超时重传,链路完整性测试,信号极性检测与纠正等。

1.3 uIP协议栈

uIP协议栈是一个开源的小型化TCP/IP协议栈,其代码量和RAM需求量均比一般的TCP/IP协议栈要小,从而使其适用于嵌入式系统中[8−10]。uIP协议栈由瑞典计算机科学学院的Adam Dunkels开发,源代码用C语言进行开发,并完全公开。uIP协议栈精简了完整的TCP/IP协议,将重点放在了IP/TCP/ICMP/UDP/ARP等网络层和传输层协议上,代码具有通用性和稳定性。uIP可看作是一个代码库,为系统层和应用层提供明确的接口函数(图3)。

图2 DM9000结构框图

图3 uIP协议栈与系统层、应用层关系

uIP共提供了三个函数到系统底层:uip_init()(初始化uIP协议栈)、uip_input()(处理输入数据包)、uip_periodic()(处理周期计时事件)。与应用层的链接需要使用者自己根据需要编写相应的回调函数uip_appcall()。uIP提供了丰富的应用程序接口,在本方案中使用到的应用程序接口函数如表1。

表1 uIP应用层接口

1.4 超声流量计

超声流量计是一种通过检测流体流动对超声脉冲的偏移来测量流速的仪表,相比于传统流量计有非接触、无压力损失、无需修改管道等优点,更适用于TMSR中熔盐流速的测量。本文工作使用的超声流量计是实验室自主开发设计的数字式超声流量计[4]。流量计采用TI公司的TMS320F28335数字信号控制器(Digital Signal Controller, DSC)为核心,利用F28335强大的处理能力和丰富的片上资源和软件资源支持,完成测量过程的控制和数字信号处理过程,极大地精简了整个系统的规模。

该超声流量计采用的测量原理是时间差法,具有测量精度高、性能稳定等特点。流量计对超声信号采集后,使用自相关方法,求得顺逆流超声信号的时间差,据式(1)求得瞬时体积流量。

图4是扩展以太网通信端口后的超声流量计的系统设计框图,主要分为4部分:TMS320F28335控制器、ADC采样模块、模拟前端、网络模块。

图4 超声流量计系统图

2 DM9000通信系统设计

为实现流量计的以太网通信,将测量获得的流量信息实时传输到EPICS控制系统中,采用DM9000进行通信系统设计,工作分为硬件连接部分和相关软件支持部分。

2.1 DM9000与TMS320F28335连接

首先,需要在硬件上实现DM9000网卡芯片与TMS320F28335的硬件电路连接[11−12]。由于DM9000与TMS320F28335都支持3.3 V I/O接口,所以二者引脚可以直接连接。电路图如图5所示。

为方便扩展SRAM、Flash、ADC、DAC等模块,F2833x系列DSP提供了专门的外部接口(External interface, XINTF),该接口是一个非复用的异步总线。TMS320F28335提供三个固定存储区域(图6),每个区域的访问等待、选择、建立及保持时间可以通过XTIMINGx寄存器进行配置。XINTF时钟频率由内部的XTIMCLK提供,其取值可以为SYSCLKOUT或SYSCLKOUT/2,对所有Zone空间有效。

在实际连接过程中,DM9000扩展到TMS320F28335的Zone 0上。DM9000使用直接内存访问(Direct Memory Access, DMA)技术来进行内部存储器的访问。访问DM9000芯片使用芯片提供的数据地址复用总线,由CMD引脚决定当前访问的类型。当CMD接地时,访问的是地址端口;当CMD接高电平时,访问的是数据端口。连接中DM9000采用16位模式,其SD0−15与F28335数据总线的低16位相连,CMD引脚与F28335的XA2相连。这样,DM9000就映射到了F28335的Zone 0上,DM9000的地址端口和数据端口分别映射到F28335的地址0x4000和0x4004上。

2.2 软件设计

软件部分主要包括三部分:DM9000网卡驱动程序的编写、uIP协议栈的移植、EPICS中的接收程序。在实际通信过程中,超声流量计和安装EPICS的上位机是以客户端/服务器的方式进行通信的[13]。其中,超声流量计端作为客户端,上位机端作为服务器。软件的整体框架如图7所示。

2.2.1 DM9000驱动程序

编写DM9000的驱动程序,首先需要编写寄存器读写函数。根据前面的DM9000与TMS320F28335的连接方式,DM9000的地址端口和数据端口分别映射到F28335的地址0x4000和0x4004上,所以可以做如下定义:

#define DM9K_REG_ADDR (*((volatile uint16_t *) 0x4000))

#define DM9K_REG_DATA (*((volatile uint16_t *) 0x4004))

寄存器的读写函数为:

uint8_tior(uint8_t reg)

{

dm9k_ndelay(20);

DM9K_REG_ADDR = reg;

dm9k_ndelay(20);

return DM9K_REG_DATA;

}

void iow(uint8_t reg, uint8_t writedata)

{

dm9k_ndelay(20);

DM9K_REG_ADDR = reg;

dm9k_ndelay(20);

DM9K_REG_DATA = writedata;

}

寄存器的读写函数编写好之后,下一步需要编写DM9000的数据包收发函数。DM9000地址为0000h-0BFFh的3K SRAM空间用于存储发送数据包,发送过程中,如果寄存器的写入位置超过0BFFh时,自动将下一位置恢复到0000h。DM9000发送数据包的流程为:将数据包长度填入TX寄存器中;将数据包通过存储器写地址自动增加的写数据命令寄存器(Memory Data Write Command With Address Increment Register, MWCMD)写入TX SRAM中;由发送控制寄存器(TX Control Register, TCR)控制DM9000将数据包发送出去。DM9000中有13K SRAM用于数据接收,地址为0C00h−03FFh。读取过程中,当芯片接收到数据包后,会存放在这13K的存储空间中,若存储位置超过3FFFh,DM9000会自动将位置移到0C00h地址。

2.2.2 uIP协议栈的移植

通信过程中,由于uIP协议栈的调用采用轮询机制,在实现流量测量任务的同时实现服务器的监听功能较困难,因此作为Device层的超声流量计在网络中设计为TCP客户端,在移植uIP协议栈时需要编写实现TCP客户端功能的uip_appcall()。常规TCP/IP栈中,数据的重传过程是把数据存储在存储器中。如果数据需要重传,协议栈无需通知应用程序,直接从存储器中取出备份数据进行重传。uIP为节省存储器空间,让应用程序本身控制重发过程。因此,在uip_appcall()中需要加入数据重传的功能。

程序中数据传输过程如图8所示。当有数据需要传输时,首先使用接口函数uip_connect()与上位机建立连接。然后将流量数据使用uip_send()发送出去,等待上位机传回的应答包。如果超过时间仍没收到应答包,认为数据包丢失,上位机没有收到数据,调用uip_rexmit()重新传送数据包。如果收到了上位机对前一数据包的应答包,说明传输成功,则调用接口函数uip_stop()暂停数据传输过程。随后进入流量计测量程序,重新生成新的实时流量数据。程序检测到有新的流量数据产生后,调用uip_restart()重新启动连接,将数据发送出去。

图8 数据传输程序流程

实际程序设计过程中,IOC层编写TCP服务器程序,通过Ethernet网络与Device层超声流量计进行数据传输,组成TCP服务器/客户端程序。IOC中接收到数据后将数据存储在动态数据库中,通过基础内核中的扫描器进行周期性扫描,实现流量信息的记录。在OPI层,通过CSS (Control System Studio)工具包开发了一个图形化实时监控界面。OPI通过通道访问协议(Channel Access, CA)读取IOC中实时数据库中的流量信息,可以在EPICS中使用Channel Archiver将数据保存到指定的动态数据库中[14],也可显示在图形化窗口界面,实现流量信息的实时显示。

2.2.3 EPICS服务器程序

EPICS控制系统中编写服务器程序进行数据的接收[15]。其软件结构如图9所示。

3 实验测试

实验平台搭建完成后,首先进行了内部测试(自检),将内部预先设置的数据,经TMS320F28335、DM9000上传至OPI显示端,确保长时间循环测试不出现任何错误。然后在水流量标定平台上进行验证。验证过程中,每隔10 min改变一次水流量平台上的流速,包括两次流速增大过程和一次流速降低过程。

流量计测得的流量数据经网络端口后传输到上位机EPICS系统IOC中,在动态数据库中实时记录流量信息。数据库中的流量信息可以使用Camonitor命令进行实时查询,查询结果如图10所示。

同时,在OPI层的图形化实时监控界面可以看到流量数据的动态曲线,显示界面会根据测量的结果自动调整显示的比例,更新显示时间。最终结果如图11。

图11 流量测量结果的动态实时显示

由结果可知,使用网络模块能够实时稳定地将实验测得数据传到上位机EPICS系统中,流量的变化能够在OPI层的图形界面中实时监控。经长时间数据传输测试证明,通过以太网通信模块的扩展,超声流量计能够在EPICS环境下实现实时可靠的数据传输,满足超声流量计的网络化需求。

4 结语

网络通信接口是智能仪器的一个重要的发展方向,有助于实现智能仪器的数字化、网络化。本文通过在数字超声流量计上扩展了一个以太网通信模块,使用数字网络为超声流量计进行数据传输,不仅简化流量计与EPICS系统的联接方式,而且提高了数据通道的可靠性。经实验测试结果表明,该网络端口在超声流量计中的设计应用能实现测量结果数字化信号到EPICS控制平台下的无干扰长距离实时稳定传输。以太网通信模块具有普适性,对其它数字化仪表的网络接口开发具有参考价值。

1 刘松强. 计算机控制系统的原理与方法[M]. 北京: 科学出版社, 2006

LIU Songqiang. The principle and method of computer control system[M]. Beijing: Science Press, 2006

2 江绵恒, 徐洪杰, 戴志敏. 未来先进核裂变能——TMSR核能系统[J]. 中国科学院院刊, 2012, 27(3): 366−374. DOI: 10.3969/j.issn.1000-3045.2012.03.016

JIANG Mianheng, XU Hongjie, DAI Zhimin. Advanced fission energy program-TMSR nuclear energy system[J]. Bulletin of Chinese Academy of Sciences, 2012, 27(3): 366−374. DOI: 10.3969/j.issn.1000-3045.2012.03.016

3 韩利峰, 陈永忠, 周大勇, 等. HTS熔盐实验回路分布式控制系统设计[J]. 核技术, 2013, 36(9): 090603. DOI: 10.11889/j.0253-3219.2013.hjs.36.090603

HAN Lifeng, CHEN Yongzhong, ZHOU Dayong,. Design of the distributed control system for HTS molten salt test loop[J]. Nuclear Techniques, 2013, 36(9): 090603. DOI: 10.11889/j.0253-3219.2013.hjs.36.090603

4 王飞, 官龙腾, 张福春, 等. 数字式时差法超声流量计的设计与实现[J]. 自动化仪表, 2014, 35(9): 80−83. DOI: 10.3969/j.issn.1000-0380.2014.09.022

WANG Fei, GUAN Longteng, ZHANG Fuchun,. Design and implementation of the digital transit-time ultrasonic flowmeter[J]. Process Automation Instrumentation, 2014, 35(9): 80−83. DOI: 10.3969/j.issn. 1000-0380.2014.09.022

5 何泳成, 王春红, 赵卓, 等. 基于F3RP61的嵌入式EPICS IOC应用研究与实现[J]. 核电子学与探测技术, 2012, 32(1): 17−20. DOI: 10.3969/j.issn.0258-0934.2012. 01.004

HE Yongcheng, WANG Chunhong, ZHAO Zhuo,. Research and implementation of embedded EPICS IOC based on F3RP61[J]. Nuclear Electronics & Detection Technology, 2012, 32(1): 17−20. DOI: 10.3969/j.issn.0258- 0934.2012.01.004

6 Yin C C, Zhang N, Li Y P,. The design of RMT-based IOC redundancy at RCPI experimental platform in TMSR[J]. Nuclear Science and Techniques, 2014, 25(6): 60−63. DOI: 10.13538/j.1001-8042/nst.25.060402

7 Tanenbaum A S. Computer networks[M]. Beijing: Tsinghua University Press, 2004

8 岳世为, 尹为民. uIP协议栈在基于DSP以太网通信系统中的应用[J]. 计算机与数字工程, 2010, 38(1): 186−189. DOI: 10.3969/j.issn.1672-9722.2010.01.050

YUE Shiwei, YIN Weimin. Application of uIP protocol stack based on DSP Ethernet network communication system[J]. Computer & Digital Engineering, 2010, 38(1): 186−189. DOI: 10.3969/j.issn.1672-9722.2010.01.050

9 邓治国, 张维新. uIP TCP/IP协议栈在51系列单片机上的应用[J]. 微计算机信息(测控仪表自动化), 2004, 20(3): 88−90. DOI: 10.3969/j.issn.1008-0570.2004.03.042

DENG Zhiguo, ZHANG Weixin. Application of uIP TCP/IP stack in 51 MCU[J]. Microcomputer Information (Control & Automation), 2004, 20(3): 88−90. DOI: 10.3969/j.issn.1008-0570.2004.03.042

10 张健, 张庆荣. uIP TCP/IP协议栈在AVR高速单片机上的应用[J]. 兵工自动化, 2008, 27(1): 67−68. DOI: 10.3969/j.issn.1006-1576.2008.01.030

ZHANG Jian, ZHANG Qingrong. Application of uIP TCP/IP protocol stack based on AVR[J]. Ordnance Industry Automation, 2008, 27(1): 67−68. DOI: 10.3969/j.issn.1006-1576.2008.01.030

11 韩超, 王可人. 基于DM9000的嵌入式系统的网络接口设计与实现[J]. 工业控制计算机, 2007, 20(4): 17−18. DOI: 10.3969/j.issn.1001-182X.2007.04.009 HAN Chao, WANG Keren. Design and realization of embedded system Network interface based on DM9000[J]. Industrial Control Computer, 2007, 20(4): 17−18. DOI: 10.3969/j.issn.1001-182X.2007.04.009

12 李剑雄, 张策, 杨军. 基于ARM和DM9000的网卡接口设计与实现[J]. 微计算机信息, 2008, 24(14): 123−124, 138. DOI: 10.3969/j.issn.1008-0570.2008.14.052

LI Jianxiong, ZHANG Ce, YANG Jun. Design & realization of embedded Ethernet interface based on ARM and DM9000[J]. Microcomputer Information, 2008, 24(14): 123−124, 138. DOI: 10.3969/j.issn.1008-0570.2008. 14.052

13 曾祥辉. 嵌入式工业以太网络接口的研究与开发[D]. 杭州: 浙江大学, 2006

ZENG Xianghui. Research and development of embedded industrial Ethernet interface[D]. Hangzhou: Zhejiang University, 2006

14 Hu Z, Mi Q, Zhen L,. EPICS dataarchiver at SSRF beamlines[J]. Nuclear Science and Techniques, 2014, 25(2): 020103. DOI: 10.13538/j.1001-8042/nst.25.020103

15 丁建国, 刘松强. EPICS系统中的网络技术[J]. 核技术, 2006, 29(5): 380−383 DING Jianguo, LIU Songqiang. Network technologies applied in EPICS system[J]. Nuclear Techniques, 2006, 29(5): 380−383

Digital ultrasonic flowmeter network interface design and application in EPICS

GUAN Longteng1,2YIN Congcong1,2ZHANG Ning1,3ZHANG Fuchun1,3LIU Ting1,2LI Yongping1,3

1(Shanghai Institute of Applied Physics, Chinese Academy of Sciences, Jiading Campus, Shanghai 201800, China);2(University of Chinese Academy of Sciences, Beijing 100049, China)

3(Key Laboratory of Nuclear Radiation and Nuclear Energy Technology, Chinese Academy of Sciences, Shanghai 201800, China)

Background:Networking technique is more and more widely integrated into digital instruments that connected with distributed digital control system (DCS). Purpose: This study aims to achieve direct network connection of a digital ultrasonic flowmeter to Experimental Physics and Industrial Control System (EPICS). An Ethernet interface for the TMS320F28335-based ultrasonic flowmeter was designed and implemented to realize real-time network communication with EPICS. Methods: The Ethernet chip, DM9000 was employed and extended to the ultrasonic flowmeter platform which was controlled by TMS320F28335. EPICS was configured to client/server architecture where the digital ultrasonic flowmeter was working as client and the uIP TCP/IP stack was integrated for data communication with the Input/Output Controller (IOC) server. The measured real-time flow rate data was dynamically displayed on the Operator Interface (OPI) console by EPICS Camonitor and Control System Studio. Results: Self-checking results showed reliable TCP communication between client and server was performed on the calibration platform. It was further verified by actual measurements on the flow calibration platform that the digital ultrasonic flowmeter realized real-time and reliable communication, which made the ultrasonic flowmeter equipped with networking functionality. Conclusion:This article presents a new digital communication method between the digital ultrasonic flowmeter and EPICS. It accelerates the digital and networking process of the measuring instrument in nuclear reactor.

DCS, Ethernet interface, TMS320F28335, Ultrasonic flowmeter, DM9000

TL332

TL332

10.11889/j.0253-3219.2015.hjs.38.080401

中国科学院战略先导科技专项(No.XDA02010300)资助

官龙腾,男,1988年出生,2012年毕业于中国科学技术大学,现为硕士研究生,研究领域为嵌入式系统通信

李勇平,E-mail: liyongping@sinap.ac.cn

2015-05-12,

2015-05-20

猜你喜欢

网络接口以太网上位
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
特斯拉 风云之老阿姨上位
双冗余网络接口自动切换测试模块的设计与实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
浅析CTC与GSM-R系统网络接口及路由配置改进措施
以新思路促推现代农业上位
浅谈EPON与工业以太网在贵遵高速公路中的应用
网络设置管理