地球物理学进展  2014, Vol. 29 Issue (3): 1406-1411   PDF    
基于DOS的实时多任务网络化综合观测系统的设计与实现
刘爱春1,2, 李杰飞3, 周振安1, 马晓川1     
1. 中国地震局地壳应力研究所, 北京 100085;
2. 中国地震局地壳应力研究所(地壳动力学重点实验室), 北京 100085;
3. 中国地震台网中心, 北京 100045
摘要:随着观测技术的发展,将观测技术与传感技术、计算机、通信和网络技术有机的结合,来实现观测技术的综合化与网络化,已经成为一种趋势;DOS系统以其内核小、操作简单、技术成熟、对硬件底层直接操作及其稳定性等优点,被广泛应用于一些工业控制领域;分析在单任务嵌入式DOS系统工控机上实现实时多任务的方法,根据实际应用的需求,通过对各个模块进行适当的定制、裁减与技术集成,设计与实现了可靠的、实时的、安全的、网络化与综合化观测系统.
关键词多任务     DOS     网络     综合观测     嵌入式实时操作系统    
Design and implementation of real-time multitask network comprehensive observation system based on DOS
LIU Ai-chun1,2, LI Jie-fei3, ZHOU Zhen-an1, MA Xiao-chuan1    
1. Institute of Crustal Dynamics, CEA, Beijing 100085, China;
2. Key Laboratory of Crustal Dynamics, Institute of Crustal Dynamics, CEA, Beijing 100085, China;
3. China Earthquake Networks Center, Beijing 100045, China
Abstract: With the development of observation technology, combination with observation technology, sensor technology, computer technology and communications and network technology to realize comprehensive and network of observation technology have become a trend; DOS system with small kernel, operating simply, the mature technology, direct operation underlying hardware and its stability, is widely used in the field of industrial control; A practical way to realize a real-time multitask system based on single-task embedded DOS system IPC is designed. According to the demand of the practical application, observation system which is appropriate customized, cut and technology integrated of the various modules, has realized reliable, real-time, security, network and comprehensive designing and implementation.
Key words: multitask     DOS     network     comprehensive observation     RTOS    
0 引 言

随着传感技术、计算机、通信和网络技术的飞速发展,为观测仪器的发展提供了前所未有的平台和空间,嵌入式实时操作系统(RTOS)日益受到技术人员的青睐,嵌入式系统就是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统.嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成.其中目前常用的嵌入式操作系统有Windows CE,DOS,VxWorks,Linux,QNX,pSOS等几种( 钟诚文和周季夫,2007张海波,2008).

现在,很多工业软件,尤其一些小型的工业控制软件,依然在DOS环境下进行开发运行.DOS(Disk Operation System:磁盘操作系统)曾经是风行全球的PC机操作系统,随着Windows操作系统的不断发展和完善,DOS作为主流操作系统的时代已然过去,但Windows操作系统对程序编写的约束和限制比DOS高得多,因而许多程序员出于对Windows的不满及对DOS开发的价值和潜力的深刻认识,继续开发DOS软件,因此DOS并没有消失,它依然在发展,该系统具有的功能及其稳定性,有着其它操作系统尤其是windows无法取代的特殊位置,在DOS下实现MP3等音乐的播放、对FAT32及长文件名的支持、图形界面、网络通讯等的已实现.与Windows系统相比,DOS系统具有Windows系统所不具备的底层及自由开放性.

与国外DOS软件方兴未已的开发劲头相比,国内DOS软件的开发是十分缓慢的,而且效率不高,这很大程度上是由于大家对国外DOS的发展情况不了解有关,甚至产生了“DOS软件已过时了”这样的潜在想法.DOS是个有着很强的生命力且功能比较全面的操作系统,各方面的功能都能做到,而不是局限于某些方面(如磁盘管理等),无论是一些个人电脑上还是工业生产上(尤其是十分重要的嵌入式系统等),DOS仍然被广泛使用.嵌入式DOS系统具有小巧方便、功耗小、价格便宜、可对硬件直接操作等优点,因此可以根据实际应用的需要进行各个模块的定制和升级,来完成对不同类型传感器的信号采集,并通过前端技术接入网络,可以进行可靠的、实时的、安全的信息交换和处理,从而实现设备资源和数据资源的共享、监控和错误处理,从而构架出一套性价比较高的网络化与综合化观测系统(鲁力等,2009; 赵晓亮等,2009张小红等2010). 1 观测系统的设计与实现 1.1 系统设计

目前传感器按其输出信号为标准可将传感器分为:模拟传感器、数字传感器、膺数字传感器、开关传感器.综合观测系统就是将这些不同类型的传感器输出信号按照一定的采样率转化成数字化数据,并保存到大容量的存储设备中;网络化采用嵌入式的瘦服务器方式,即仪器嵌入TCP/IP协议,本身带有完整的网络接口,能直接同Internet相连.这样通过网络,按照一定的通讯协议将数据传送到台网中心的数据库中,如图 1所示(车用太等,1994;刘爱春等,2010).

图 1 综合观测系统集成方案框图 Fig. 1 Block diagram of integration of comprehensive observation system
1.2 多任务性

DOS系统没有完全实现x86处理器的功能,是面向单任务的操作系统.如果简单地使用中断调度实现多任务并行处理,应用不当,很可能会出现DOS的重入错误,即当一个程序运行到一半未结束时,又重新进入此过程来运行程序,这种情形常见的是递归调用以及中断调用,造成堆栈溢出,乃至非法操作,甚至死机.图 2显示了DOS系统调用过程.由图 2可知在步骤4上,一旦DOS命令已发挥作用,就可从新的中断上得知处理程序进程重复一次.通过执行步骤9便可以完成该中断的处理,并且可把控制权返回到在DOS命令第1次重复时(步骤10)的初始化位点.但是,也正是在这一点上,步骤6和7改变了步骤3期间曾使用过的所有DOS变量和堆栈位置.其结果便是程序失去对系统的控制,因为系统在试图返回到最初调用DOS(步骤2)的位置时被锁定,它实际上返回到了第2个调用位置.那么该怎样在避免DOS重入问题的同时又能实现多任务呢? 比如综合观测系统需要实时网络操作和实时采集数据,并要后台处理数据等,这时候就需要一个并行处理的多任务调度的实现.笔者发现DOS系统有一个1CH中断,这个中断系统是开放的,是一条空操作调用,是DOS提供给用户二次开发的,每秒18.2次的定时中断(INT8),是可以利用系统中的该中断来进行调度多任务.

图 2 DOS系统功能调用过程 Fig. 2 DOS system function transfer process

由于DOS系统重入很难跟踪调试,为系统验证带来一定麻烦,所以必须从程序设计的初期就建立好结构以杜绝重入的可能性,从而正确利用DOS本身的资源.其次DOS系统是作业操作系统,实时性能没有经过特殊处理,所以在应用设计中对系统服务和中断服务要格外精确,以求获得最好的实时性能.当然,由于DOS是在实模式下运行,用户可以完全接管系统资源,这也为应用开发提供了有利条件.最后,由于DOS系统是l6位的实模式操作系统(某些DOS扩展可以实现32位保护模式),所以它的应用程序大小有限,且丧失了一些速度,所以用户也要根据系统的位数来确定是否使用DOS.因此可以通过对系统分析和对程序结构的把握来降低DOS的局限性,而发挥它内核小、成本低、功耗小等优点,从而实现嵌入式实时多任务系统(仲崇权,2006).

1.3 网络化

为了实现观测系统的网络化,在嵌入式DOS系统中,根据TCP/IP协议的规范,对TCP/IP协议进行适当裁减,只要最大程度上满足系统本身的需要即可,且可以充分利用丰富的免费资源进行开发,这样可以降低功耗与开发成本,提高系统的性价比与扩展性,将经过适当裁减的基本TCP/IP协议的实现编译成了函数库,在该函数库中包括了TCP、UDP、IP、ICMP、ARP等协议的实现,然后在程序中以函数的形式加以调用,这样增加了代码的重用效率,而且可以很方便地嵌入到其它程序中.精简的TCP/IP协议分层结构如图 3所示.以下简单地介绍嵌入式TCP/IP协议的剪裁与功能模块的实现.

图 3 TCP/IP协议分层结构 Fig. 3 Hierarchical structure of TCP / IP protocol

(1)ARP协议:地址解析协议,主要负责将32位的IP地址映射为48位的物理地址.

(2)IP协议.网际协议是TCP/IP协议族中最为核心的协议.所有的TCP、UDP、ICMP及IGMP数据都以IP数据包格式传输.

(3)ICMP协议:消息控制协议,用来实现检测目的站的可达性和状态的功能,给客户端提供一个检测网络状态的手段,PING就是最常用的基于ICMP服务.

(4)UDP协议:与TCP位于同一层,面向无连接的协议提供不可靠的快速连接,在协议栈中实现这一功能主要是满足协议栈用在工业以太网时的需求.可靠性问题可以由UDP协议之上的应用层软件来保证.

(5)TCP协议:面向连接的协议提供一种可靠的数据通信.无论哪一方向另一方发送数据之前,都必须在双方之间建立一条连接.

集成后的综合观测系统作为网络中一个独立的节点,具有数据采集、远程控制、自动报警、自动网络时间较时、观测数据下载、固件程序升级等功能,大大增强了自主性,改变了以往观测仪器只能在本地进行控制、设置的模式,使观测仪器在技术层面上提高一个层次(房芳和马旭东,2009).

在整个的观测网络中,远程计算机与综合观测系统的通信是典型的B/S构架模式,包括响应网络数据传输命令,网页(Web)服务和数据文件传输(FTP)功能.综合观测系统既相当于服务器,它首先侦听某一特定端口,在接收到客户端计算机的连接请求并建立起可靠连接后,就可与客户端计算机进行数据通信,包括观测数据的传输、观测参数设置、设备运行状态信息的传送等,也可以作为客户端,将监控的报警信息自动传送到指定的服务器或终端中(中国地震局,2005).

1.4 综合化

观测系统的综合化是根据不同的传感器类型进行模块化设计,方便系统根据需要进行资源的整合与扩展,其设计的特点:

(1)同类模块相对集中,便于可靠性设计.

(2)不同模块的分离减少了系统功能的相互依赖关系,使得部分功能模块崩溃时,不会影响其它模块的正常运行.

(3)有利于系统的动态组合,增加了系统的灵活性和适应性(魏旻等,2009;方荣新等,2013).

1.5 实现技术

综合观测系统的主控单元硬件平台为PC/104总线方式的嵌入式工控机,软件平台选择了DOS.利用PC/104总线方式用于I/O型外设的扩展,利用双向可编程数字GPIO用于编程实现 I2C,SPI 等接口协议,连接EEPROM、A/D等串行设备,以此来实现对不同传感器输出信号的集成与扩展.供电系统采用交、直流二种供电模式,可进行交、直流自动切换,主电源为12V,接口扩展芯片的供电电压为5V,传感器供电电压为12V,隔离电源有±5V,可充分保障综合观测系统的供电环境.综合观测系统的通讯与采集软件采用C语言编写,TCP/IP协议采用动态库方式,便于函数的调用,数据采集采用中断方式进行采集,WEB与FTP通讯方式采用自剪裁方式,实现基本的通讯功能.图 4为综合观测系统软件的流程图(周振安等,2005;杨天池等,2006; 徐遵义,魏东等,2012).表 1为综合观测系统四个通道的标准模拟电压标定输出,从表中可看出其综差<0.001%±1,精度可达微伏级.

图 4 综合观测系统软件流程框图 Fig. 4 Software flow chart of comprehensive observation system

表 1 综合观测系统四个通道的标准模拟电压标定输出 Table 1 Comprehensive observation system of four channels analog voltage calibration st and ard output
2 综合观测系统的应用

为了应用此综合观测系统,2012年在某观测井中安装了此综合观测系统,分别观测井中水位、水 温的微变化,井中四个方向的应变微变化,以及观测井环境中的气温、气压与降雨量的变化,经过一年时间的运行,系统稳定,数据可靠(中国地震局监测预报司,2002).

图 5为综合观测系统2012年2月25日的分钟值观测曲线,从图中可看出,综合观测系统性能稳定,数据可靠,能精确地完成水温、水位、气温、气压、雨量5种不同类型传感器的数据采集与存贮,且精度达到传感器的设计要求;从数据曲线上看,气压与水位有一定的相关性,水位、水温的变化 呈负相关性关系,反映出此观测井的水温、水位变化的特点,对数据异常与干扰的初步判断提供一定的依据.

图 5 综合观测系统2012年2月25日分钟值观测曲线 Fig. 5 Minutely value of comprehensive observation system on Feb.25,2012

图 6为综合观测系统2012年10月24日的分钟值观测曲线,从图中可看出,综合观测系统可精确记录观测井的微应变变化,达到高精度测量的目的,满足综合观测系统的设计需求.

图 6 综合观测系统2012年10月24日分钟值观测曲线 Fig. 6 Minutely value of comprehensive observation system on Oct.24,2012
3 结 语

在当今科技的高速发展中,随着现代计算机技术、通讯技术、数字技术、电子技术、网络技术、传感技术的进步,观测技术向高度智能化、综合化和自动网络化发展的趋势是必然的.实际运行表明,嵌入DOS系统的综合观测系统可实现观测技术的综合化与网络化,具有经济、高效、实时、功耗小、便捷等特点,实际应用中根据需求可进行各个模块的定制和升级,来完成对不同类型传感器的信号采集,并通过前端技术接入网络,构架出可以进行可靠的、实时的、安全的信息交换和处理的网络化与综合化观测系统.

参考文献
[1] Che Y T, Zhu Q Z, Zhang P R. 1994. Study and comprehensive observation of subsurface fluid [J]. Recent Developments in World Seismology (in Chinese), (7): 5-7.
[2] China Earthquake Administration. 2005. Stipulation on Geoscience Observatory Network in China (in Chinese)[M]. Beijing: Seismological Press.
[3] Department of Monitoring and Prediction, CEA. 2002. The Digital Observing Technology of Subsurface Fluid (in Chinese)[M]. Beijing: Seismological Press.
[4] Fang F, Ma X D. 2009. Design and implementation of monitoring system based on embedded WEB technology[J]. Computer Engineering (in Chinese), 35(23): 237-239.
[5] Fang R X, Shi C, Song W W, et a1. 2013. Real-time GNSS seismometer and its accuracy[J]. Chinese J. Geophys. (in Chinese), 56(2): 450-458.
[6] Liu A C, Zhou Z A, Liu Y W, et al. 2010. Study on integrated technology of comprehensive observation of subsurface fluid[J]. Journal of Geodesy and Geodynamics (in Chinese), 30(5): 156-159.
[7] Lu L, Zhang B. 2009. High-speed power grid data acquisition system based on embedded TCP/IP protocol[J]. Chinese Journal of Scientific Instrument (in Chinese), 30(2): 405-409.
[8] Wei M, Wnag P, Wang Q. 2009. Research and implementation of security strategy for wireless industry control network[J]. Chinese Journal of Scientific Instrument (in Chinese), 30(4): 679-684.
[9] Xu Z Y, Wei D, Yan L. 2012. On-line identification and correction of the outlier for the oceanic geomagnetic parameter measurement[J]. Progress in Geophysics (in Chinese), 27(3): 1034-1039.
[10] Yan T C, Jin L, Wang T P. 2006. Low power design in embedded system[J]. Chinese Journal of Scientific Instrument (in Chinese), 27(6): 946-948.
[11] Zhang H B. 2008. Realize the net communication in DOS system[J]. Microcomputer Information (in Chinese), 24: 106-108.
[12] Zhang X H, Li X X, Guo F, et a1. 2010. Server based real time precise point positioning and its application[J]. Chinese J. Geophys. (in Chinese), 53(6): 1308-1314.
[13] Zhao X L, Xiao L Z, Zhang Y Z, et al. 2009. The study of network reservoir dynamic real-time monitoring technology[J]. Progress in Geophysics (in Chinese), 24(2): 787-790.
[14] Zhong C Q, Lu X K, Li Z H, et al. 2006. Research and application of remote monitoring based on embedded Web[J]. Chinese Journal of Scientific Instrument (in Chinese), 27(6): 575-577.
[15] Zhong C W, Zhou J F. 2007. Software design of networked data acquisition system based on DOS with multi-Thread Technique[J]. Measurement and Control Technology (in Chinese), 26(8): 69-71.
[16] Zhou Z A, et al. 2005. Design and Practice of the Data Acquisition System (in Chinese) [M]. Beijing: Seismological Press.
[17] 车用太, 朱清钟, 张培仁. 1994. 地下流体综合观测与研究[J]. 国际地震动态, (7): 5-7.
[18] 房芳, 马旭东. 2009. 基于嵌入式WEB技术的监控系统设计与实现[J].   计算机工程, 35(23): 237-239.
[19] 方荣新 施闯 宋伟伟,等. 2013. 实时GNSS地震仪系统实现及精度分析[J].   地球物理学报, 56(2): 450-458.
[20] 刘爱春, 周振安, 刘耀炜,等. 2010. 地下流体综合观测集成技术研究[J].   大地测量与地球动力学, 30(5): 156-159.
[21] 鲁力, 张波. 2009. 嵌入式TCP/IP协议的高速电网络数据采集系统[J].   仪器仪表学报, 30(2): 405-409.
[22] 魏旻, 王平, 王泉. 2009. 工业无线控制网络安全方法的研究与实现[J].   仪器仪表学报, 30(4): 679-684.
[23] 徐遵义, 魏东, 晏磊. 2012. 海洋地磁参量实时测量野值的在线辨识与改正[J]. 地球物理学进展, 27(3): 1034-1039.
[24] 杨天池, 金梁, 王天鹏. 2006. 嵌入式系统的低功耗设计[J]. 仪器仪表学报, 27(6): 946-948.
[25] 张海波. 2008. DOS系统平台下网络通讯的实现[J].   微计算机信息, 24: 106-108.
[26] 张小红, 李星星, 郭斐,等. 2010. 基于服务系统的实时精密单点定位技术及应用研究[J].   地球物理学报, 53(6): 1308-1314.
[27] 赵晓亮, 肖立志, 张元中,等. 2009. 网络化油气藏动态实时监测系统研究[J]. 地球物理学进展, 24(2): 787-790.
[28] 仲崇权, 鲁辛凯, 李卓函,等. 2006. 基于嵌入式Web远程监控的研究与应用[J].   仪器仪表学报, 27(6): 575-577.
[29] 钟诚文, 周季夫. 2007. 基于DOS的多线程网络化数据采集系统软件设计[J].   测控技术, 26(8): 69-71.
[30] 中国地震局编. 2005. 中国地震前兆台网技术规程[M]. 北京: 地震出版社.
[31] 中国地震局监测预报司. 2002. 地下流体数字观测技术[M]. 北京: 地震出版社.
[32] 周振安,等. 2005. 数据采集系统的设计与实践[M]. 北京: 地震出版社.