1引言
本系统是针对美国sPEx一1403激光喇曼光谱仪研制并直接应用于该谱仪的系统。SPEX一1403谱仪原配有DM出专用微机扫描控制和数据信息系统。但是此系统用了近十年后,各种部件不断损坏,严重影响谱仪的正常使用。由
于DMIB是在早期八位微处理器6800基础上设计的专用微机系统,存在不少缺点,如数据文件不通用、数据处理功能太简单等;更为严重的是,硬件损坏无法更换,而DMIB的替代升级系统又很昂贵,需三万多美元。在这种情况下,我们采用通用微机286研制了替代原有DMIB的光谱仪扫描控制和数据信息系统,对SPEX一1403激光喇曼光谱仪实现了扫描控制和数据采集、处理、显示、打印等功能,并命名为Bl)PowX。实践证明,BD一POWX不仅作为升级换代产品可完全替代DMIB,而且在功能上和用户界面上也比原系统大大增强。另外,在软件上稍加改动还可用于任何其它喇曼或常规光谱仪器。
2设计思想
2. 1总体设计
采用功能适用和价格低廉的IBMPC AT(286.380或各类兼容机),并充分利用原有谱仪中不易出故障部件,如步进电机驱动器(MSD ),前置甄别放大器(DM 102 Module)和数字绘图仪(DMP-40)等,以进一步降低系统造价。在此基础上整个系统的原理框图如图1所示。

2. 2硬件环境
(1)为了将谱仪上光电倍增管接收到的光谱讯号转变成数字数据存储在微机里,我们自己用集成电路研制了一块光子计数卡,主要功能是完成光子计数和数据采集的功能,此外,还为前置甄别放大器提供电源。同时,它也是微机和谱仪的接口之一。
(2)谱仪核心部件一光栅的运转扫描由谱仪的步进电机驱动。计算机内设定谱仪光栅运转参数如扫描的起始步、每步的滞留时间和谱仪运转上下限检测等,经过计算机通用并行口(LPT1或LPT2 )输出至谱仪,可以不用专用的并口卡。这是微机和谱仪的另一个接口。
2. 3软件配制及设计
本软件主要是用C语言写的(实际上是C++),并引入了图形用户界面(GUI,Graphics User Interface)的思想,一改原有M 1 B系统单调的键盘控制、枯燥的文本提示及繁琐的信息输入,采用菜单驱动、图形窗口和对话框输入输出。最后,根据运转中发现的问题和新的要求,我们又对程度进行了进一步的扩充和完备,引入了面向对象的编程技术(OOP.Object Oriented Programming),使软件的模块化进一步提高,既增加了模块的内聚力,又增加了模块的可扩充性,使软件达到了较高的水平。
本系统的软件主要由C -}+语言部分(Borland C++3. 1)和汇编语言部分两部分组成,其层次结构和模块框图如图2、图3所示。它体现了软件的分层结构一由C++部分实现系统控制和数据处理等高层功能,而汇编语言部分实现对谱仪的接口控制等低层功能,这样就为软件的可移植性和通用性打下了基础.一旦需要将谱仪控制移植到新的硬件环境一「,在最上层的C+十语言模块无须作任何改动,只须修改汇编语言中的接口控制子程序及硬件接口卡就可以了。因此,系统的可移植性得到了充分的保证。同样,如果对C十+部分进行功能扩充,也与硬件配置毫无关系,也使得系统更容易扩充和维护.


具体来说,本系统采用的主要技术手段及其特点如下:
(1)采用了图形用户界面(GUI ,Graphics User Interface)中的下拉式菜单(Pull-down Menu )、对话框(Dialog )和窗口(Windows)技术。随着微机的普及,特别是IBM-PC机上的新型操作系统Microsoft Windows ( 3. 0和3. 1版)的普及和推广,图形用户界面得到了极大的应用和发展。尤其是对于广大科研工作者来说,如何使微机操作更简单、学起来更方便已成为一个系统好不好用和是否成熟的一个标志。图形界面无疑令用户操作更为直观和方便。
同时,本系统采用了堆栈式窗口(Stack-Style Windows),使得同一个屏幕上可以同时出现许多个窗口,每个窗口显示一幅图表,各个窗口是独立的,可以互相重叠,可以自由改变大小和移动位置。有许多其它应用软件也有窗口,但这种窗口大小固定,位置不变,且不能重叠,相比之下,本系统的画面要更加灵活多变。用户不仅能自由地浏览某一幅图,而且还能将多幅图放在一起来显示比较.这无疑是一个突破.另外,用下拉式菜单选择命令和用对话框来输入参数也大大方便了用户的使用.
(2)本系统采用了消息驱动(Message-Driven)的概念。也就是说,把系统运行过程中出现的一些事件,如用户选则菜单选项或按下功能键、或用户翰入参数、或用户取消某操作、或定时器定时时间到、或硬件报警、或其它硬件设备的情况等事件,按统一的格式组织起来,组成消息(Message),发送给软件,软件中有专门的函数进行消息的分析和处理。
以消息的方式进行系统设计,具有极大的益处。首先是方便了编程,只须通过增减消息,就可以增加或减少程序的功能。由于消息直接控制着程序的运行,对程序的调试、修改工作也简化了。其次,消息处理简单明了,容易与低层汇编语言模块连接上。并能增加整个系统软件的模块化和结构化,程序也更容易被理解和扩充。
(3)本软件采用了面向对象的编程技术(Oop,ObjeetOrientedprogram一ming),增加了软件的可扩充性和模块化。大家熟悉的计算机语言C语言也有了OOP的新版本一C++。在C++中每个对象(Objeet)都以类(Class)的形式被确定下来,如窗口、菜单、对话框、控制条(Controls)以及鼠标(Mouse)、扫描和图表等都拥有自己的类。类的功能由其类函数来实现。类的使用主要有两方面的好处。一是封装信息,即类把内部结构隐藏起来,象一个黑箱,外界不用管它是怎么完成某件事的,只要见到它把事情干完r就行。如此一来,只要接口不变,类就可以随意扩充和修改。其二,类具有继承性。例如,我们定义了一个基本实验类,由它完成基本的实验操作和控制。然后由它根据不同的实验条件继承下来不同的具体实验类,以实现不同的功能。这样就使得设计得到了简化,因为基本的实验操作已经在基类中实现了。
此外,用C十+的好处还在于C++节省内存,由于它采用了动态连接(DynamieLink).在一个类没有生成的时候,这个类不放入内存,可以节省宝贵的内存资源,只有当一个函数被调用之时,才将之送入内存,这与C语言的静态连接(StaticLink),即程序的所有部分在运行前就要都送至内存相比,显然C++可以容纳更大的数据结构。
3系统功能概述
通过采用上述软硬件技术,我们实现了预期的设计目标。本系统的主要功能可概述如下:
3.1扫描控制
有扫描(SCAN)和校准(SET)两种模式‘1”在扫描模式F,用户输入扫描次数、扫描起始位置、终了位置、间隔和积分时间等参数,即可控制潜仪按一定的参数实现单次或多次重复扫描,进行喇曼光谱(以相对微波为单位)或吸收(发射)谱(以绝对波数为单位)的测量。扫描参数每次可输人5组,因而可进行不同要求的连续5次光谱测量。
在校准模式下,谱仪不进行波长扫描,即光电接收器只接收某一特定波长的光,在输入扫描次数、时间间隔、积分时间和总时间四个参数后谱仪记录下特定波长的光强随时间的变化。该模式主要用于谱仪内外光源校准用,也可用于记录荧光激发谱。
(2)谱仪在扫描和不扫描过程中,光电倍增管接收的光子数均在计算机荧光屏上显示出来。扫描过程中,荧光屏上将标出Y轴数值,即光子数和X轴数值,即波数或时间值。
(3)根据多年进行喇曼光谱实验的经验,我们在扫描控制程序中特别增加了一些新的程序,实现了一些很实用的功能,如“暂停”功能,可使谱仪处在暂停状态进行状态修正,或使微机暂时返回IX)S操作系统进行特定操作。修正完成后,谱仪仍可按既定参数继续运转。此外,鉴于谱仪的精密和昂贵,还增加了一些保护功能。例如,在扫描参数的输入过程中,如果输入参数错误或各参数间关系不匹配,则将有报警信号,在不扫描时,谱仪也不能启动。又如使光电倍增管的保护闸门处于常闭状态。再如,系统在运行过程中如发现意外情况,将自动中止运行并报警。总之,有许多功能都是原系统所不具备或不完善的。
(4)最后,为了系统装配检测和维护的需要,我们编制了测试程序,可对光子计数器接口板状态、MSD控制和时钟中断等进行检测。
3. 2数据处理
可以完成谱图的放大、缩小、寻峰、寻谷、面积积分、求半高宽、平滑、以及将图形或数据送入打印机输出等功能,并能对两幅谱图进行加、减,对单谱图加减乘除常数、进行LO(U , EXP运算等等。具体如下:
·RENAME谱图文件更名。
·DELETE谱图文件删除
·SAVE谱图文件存贮
" SAVE AS谱图文件换名存贮
·COMMENT给谱图文件加注释
·MAXIMUM找谱峰位置
·MINIMUM找谱谷位置
·CENTRIOD测半高宽
·W IDTH测潜仪峰宽
·ADDNUM谱图数据加上常数
·SUBNUM谱图数据减上常数
·MULNUM谱图数据乘上常数
·DIVNUM谱图数据除上常数
·LOG谱图数据进行LOG运算
·EXP谱图数据进行EXP运算
·SMOOTH谱图数据平滑
·AREA谱峰积分
·ADDFILE两个谱图相加
·SUBFILE两个谱图相减
此上,考虑到用户有可能需要用其它某些应用软件来进行数据的进一步处理、加工,我们又实现了本系统和其它软件的接口功能.例如,在本系统中可以将数据存贮成如Grapher. Plot等软件的数据格式,这样,用户也可以用本系统采集数据,再用其它应用软件读入采集到的数据进行加工处理。当然,还有许多其它如数据转换、排版打印等功能,这里不一一详述。
4小结
BD-POwx系统经实践检测,其设计思想和系统功能都得到了较好的体现。下面(图4、图5)是用本系统所作的
超晶格多声子喇曼光谱和供出版用的经本系统中谱仪响应曲线校正程序和谱峰拟合程序加工过后的多孔硅光致发光谱图。


本系统研制过程中,在硬件方面得到了本校无线电系石自光和电子仪器厂付志明高级工程师的悉心指导和大力协助。此外,也得到了许多老师和同学的帮助。整个研制工作是在北大仪器设备处、自然科学处和中国喇曼光1协会的关心、鼓励和支持下完成的。在此一并致以深切的感谢。
本文作者:徐永永彭卫群欧榕韦国恒张树霖




