第1章 计算机技术基础
现代地震勘探仪器是以计算机为核心的集地震数据采集、传输、处理与记录为一体的大型电子系统。系统中既包含以系统管理和实时数据处理为主的主机服务器,也包含在地面电子系统作为现场控制的各种单片机和嵌入式处理器。本章将介绍在地震勘探仪器中所涉及的计算机基础知识,包括服务器、计算机接口总线、存储器技术和嵌入式处理器等内容。
1.1 服务器
在大型地震勘探仪器中大都采用服务器(server)作为主机,用来进行人机交互、系统管理、数据处理、数据存储、质量控制等,有关在地震仪器中的具体功能将在后面详细说明,这里先介绍服务器的基本概念。
从广义上讲,服务器是指网络中一种运行管理软件以控制对网络或网络资源(磁盘驱动器、打印机等)进行访问,并能对网络中其他机器提供某些服务和资源的计算机系统。从狭义上讲,服务器是专指某些高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务。为此,服务器必须具有承担服务并且保障服务的能力。服务器作为网络的节点,对网络上的其他终端设备进行“组织”和“领导”,网络上绝大部分信息和数据的存储、处理都由服务器负责,是网络的指挥中心。
1.1.1 服务器和普通PC的区别
服务器的硬件构成与微机基本相似,有 CPU处理器、磁盘系统、内存、系统总线(如 IDE、PCI)、网络接口与外部接口等硬件。不同之处在于服务器的硬件通常是针对具体的网络应用特别制定的,一般使用SCSI硬盘,支持多CPU,可靠性高。在操作系统方面,服务器运行专用于服务器的网络操作系统如UNIX、Linux,而PC一般用Windows 操作系统。
从本质上讲,服务器与个人计算机的功能相类似,都是帮助人类处理信息的工具,只是二者的定位不同。PC是个人计算机(Personal Computer),是为满足个人的多功能需要而设计的,而服务器是为满足众多用户同时在其上处理数据而设计的。服务器可以用来搭建网页服务(平常上网所看到的网页页面的数据就是存储在服务器上供人访问的)、邮件服务(上网发的所有电子邮件都需要经过服务器的处理、发送与接收)、文件共享和打印共享服务、数据库服务等。而这所有的应用都有一个共同的特点,它们面向的都不是一个人,而是众多的人,同时处理的是众多的数据。这种面向公众的服务必须在网络环境下才有可能,所以服务器与网络是密不可分的,只有在网络环境下它才有存在的价值。而个人计算机完全可以在单机的情况下完成个人的数据处理任务。
PC与服务器另一最大的差异就在于多用户多任务环境下的可靠性上,服务器是面向24×7运行设计并制造的,也就是每周7天、每天24小时不间断地运行,这正是服务器最大的含金量所在。把PC当服务器的用户一定都曾经历过突然死机、意外的网络中断、不时的丢失存储数据等事件,这都是因为PC的设计制造从来没有保证过多用户多任务环境下的可靠性,而一旦发生严重故障,其所带来的经济损失将是难以预料的。总之,服务器与PC在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在很大差异。服务器的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力及操作系统与专用的软件等方面。
1.1.2 服务器分类
1.按照用途分类
按照使用的用途,服务器又可以分为通用型服务器和专用型(或称“功能型”)服务器。通用型服务器是没有为某种特殊服务专门设计的可以提供各种服务功能的服务器,当前大多数服务器是通用型服务器。专用型(或称“功能型”)服务器是专门为某一种或某几种功能专门设计的服务器,在某些方面与通用型服务器有所不同。例如,按存储信息的内容可分为文件服务器、数据库服务器和应用程序服务器,像用来存放光盘镜像的光盘镜像服务器,就需要配备大容量、高速的硬盘及光盘镜像软件。
2.按照CPU体系架构分类
按照CPU体系架构来区分,服务器主要分为两类:非 x86服务器和 x86服务器。
非 x86服务器:包括大型机、小型机和 UNIX服务器,它们使用 RISC(Reduced Instruction Set Computing,精简指令集)或EPIC(并行指令代码)处理器,并且主要采用 UNIX和其他专用操作系统的服务器。精简指令集处理器主要有IBM公司的POWER和PowerPC处理器、SUN与富士通公司合作研发的SPARC处理器、HP与Intel公司合作研发的安腾EPIC处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。
x86服务器:又称CISC(Complex Instruction Set Computer,复杂指令集)架构服务器,即通常所讲的PC服务器。它是基于PC的体系结构,使用 Intel或其他兼容 x86指令集的处理器芯片和Windows操作系统的服务器,如IBM的System x系列服务器、HP的Proliant系列服务器等。这类服务器的价格便宜、兼容性好、稳定性差、不安全,主要用在中小企业和非关键业务中。从当前的网络发展状况看,以“小、巧、稳”为特点的 x86架构的 PC服务器得到了更为广泛的应用。
此外,近年来又出现了一种64位的VLIM(Very Long Instruction Word,超长指令集架构)指令系统的CPU。
3.按服务器的机架外观结构分类
为了适应各种工作环境,服务器在外形设计上也有各种形式,分为机架式服务器、刀片式服务器和机柜式服务器。
机架式服务器的外形看起来不像计算机,而像交换机,有1U(1U=1.75英寸=4.45cm)、2U、4U等规格。机架式服务器安装在标准的19英寸机柜里面。这种结构的服务器多为功能型服务器,如信息服务企业(如ISP/ICP/ISV/IDC),选择服务器时首先要考虑服务器的体积、功耗、发热量等参数,因为信息服务企业通常使用大型专用机房统一部署和管理大量的服务器资源,机房通常设有严密的保安措施、良好的冷却系统、多重备份的供电系统,其机房的造价相当昂贵。如何在有限的空间内部署更多的服务器直接关系到企业的服务成本,通常选用机械尺寸符合19英寸工业标准的机架式服务器。
刀片服务器(准确地说,应称为刀片式服务器)是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。每块“刀片”实际上就是一块系统主板。它们可以通过“板载”硬盘启动自己的操作系统,如Windows NT/2000、Linux等,类似于一个个独立的服务器,在这种模式下,每块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的 “刀片”,就可以提高整体性能。而由于每块“刀片”都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间降到最少。由于可以方便地在机架式机箱内插装,这种类型服务器在地震仪器中得到了广泛应用。
在一些高档企业服务器中,由于内部结构复杂,内部设备较多,有的还具有许多不同的设备单元或几个服务器都放在一个机柜中,这种服务器就是机柜式服务器。对于证券、银行、邮电等重要企业,则应采用具有完备的故障自修复能力的系统,关键部件应采用冗余措施,对于关键业务使用的服务器也可以采用双机热备份高可用系统或者是高性能计算机,这样的系统可用性就可以得到很好的保证。
1.1.3 服务器的性能
这里讲的是有关服务器一般性的性能要求,而不是特定的技术指标。对于一台服务器来讲,服务器的性能设计目标是如何平衡各部分的性能,使整个系统的性能达到最优。如果一台服务器有每秒处理1000个服务请求的能力,但网卡只能接收200个请求,而硬盘只能负担150个,而各种总线的负载能力仅能承担100个请求的话,那么这台服务器的处理能力只能是100个请求/秒,有超过80%的处理器计算能力浪费了。所以设计一个好服务器的最终目的就是通过平衡各方面的性能,使得各部分配合得当,并能够充分发挥能力。一般可以从以下几个方面来衡量服务器是否达到了其设计目的:可靠性(Reliability,R);可用性(Availability,A);可扩展性(Scalability,S);易用性(Usability,U);可管理性(Manageability,M),即服务器的RASUM衡量标准。
由于服务器在网络中提供服务,因此服务的质量对承担多种应用的网络计算环境是非常重要的,承担这个服务的计算机硬件必须有能力保障服务质量。这个服务首先要有一定的容量,能响应单位时间内合理数量的服务器请求,同时这个服务对单个服务请求的响应时间要尽量快,并且这个服务要在要求的时间范围内一直存在。为达到上面的要求,作为服务器硬件必须具备如下的特点:性能,使服务器能够在单位时间内处理相当数量的服务器请求并保证每个服务的响应时间;可靠性,使得服务器能够不停机;可扩展性,使服务器能够随着用户数量的增加不断提升性能。因此,不能将普通的PC作为服务器来使用,因为 PC远远达不到上面的要求。这样在服务器的概念上又加上一点,就是服务器必须具有承担服务并保障服务质量的能力。这也是区别低价位服务器和PC的主要方面。
服务器内存性能和品质也是考核服务器产品的一个重要方面。服务器运行着企业的关键业务,一次内存错误导致的死机将使数据永久丢失。服务器内存与普通 PC的内存在外观和结构上没有什么实质性的区别,它主要是在内存中引入了一些新的技术。当今常用的服务器内存主要有SDRAM和DDR两类,还有一种RAMBUS内存,这是一种高性能、芯片对芯片接口技术的新一代存储产品。有些也采用DDR2内存,从技术层面来说与普通内存的主要区别就是采用了ECC(Error Checking and Correcting)技术,广泛应用于各种领域的计算机指令中。ECC和奇偶校验(Parity)类似。然而,在那些 Parity只能检测到错误的地方,ECC实际上可以纠正绝大多数错误。经过内存的纠错,计算机的操作指令才可以继续执行,这在无形中也就保证了服务器系统的稳定可靠。但ECC技术只能纠正单比特的内存错误,当有多比特错误发生时,ECC内存会生成一个不可屏蔽(Non-Maskable Interrupt)的中断(NMI),系统将会自动中止运行。
为了提高服务器的性能和产品的竞争力,各服务器厂商都在以更低的价格来实现更高的性能,广泛采用多CPU和多核处理器(如四核处理器、八核处理器)的并行处理方案,改善服务器各关键部件的可靠性,并致力于软件研究,以求充分发挥其最大性能。
1.1.4 服务器在地震仪器中的应用
目前,地震仪器广泛采用服务器作为主机,是地震仪器的核心。服务器负责管理地震数据采集的全过程,包括控制和管理野外地面设备、启动源同步数据采集、执行地震数据或测试数据采集、回收数据并进行校验,把采集的地震数据存储在内存。负责数据处理,包括把存储在内存中的采集数据进行格式的编排和转换、叠加和相关、噪声控制等运算,处理生成 SEG-D或SEG-Y文件并保存到存储设备中。此外,它还负责采集时的实时监控,包括实时的图形显示与绘制、质量监控体系中的数据处理等。地震数据采集系统对服务器的主要要求是:
① 采用多CPU和多核高速处理器,具有很强的浮点运算能力,能支持海量地震数据的各种实时运算,特别是实时相关叠加处理,并具有良好的图形性能;
② 有足够的内存,为服务器的各种管理、运算、显示提供内存保证;
③ 具有两个以上的网络接口和串口;
④ 高输入/输出带宽,支持多种外设接口或总线适配器;
⑤ 支持多种操作系统,例如Windows、Linux和UNIX等,升级容易。
随着计算机技术的发展,多核多CPU服务器的出现,以上要求都不难满足。以下是 Ser-cel 428地震仪器所使用的服务器及其配置。
Sercel428可采用 Blade2500系列服务器作为主机。该服务器使用 Ultra SPARC III系列单/双处理器,采用超标量处理器技术和多重处理技术,具有高性能的内存交换模组、高带宽的输入/输出接口及良好的图形性能。Blade2500可以根据需要进行升级或者添置附属设备。Blade2500可以安装一个或两个主频高达1.28GHz的处理器,这种处理器具有1MB的二级缓存。根据数据量和应用程序的不同,可以在8个DIMM插槽内安装最多8GB的3.3V工作电压的PC2100SDRAM内存。该系列的工作站主板上带有6个PCI2.2插槽,其中3个64位的PCI插槽的工作频率为66MHz。利用PCI插槽可以安装多个显示卡,利用常规的XVR-100显示卡可以构建4屏显示系统,目前系统能够支持的显卡有Creator3D、Elite3D m3和Elite3Dm6、XVR-100、XVR-600等。两个SCSI通道的内部硬盘接口连接两个3.5英寸万转硬盘,此外,还可以给Blade2500工作站提供5.25英寸光驱和LVD的SCSI接口磁带机。该系列工作站的集成度很高,在主板上集成了10/100/1000Mbps自适应网卡、4个1.1规范的USB接口、1个IEEE1394接口、25针的并行接口和2个RS-232C/RS-423标准的串行接口。有关地震数据采集系统中服务器的选用更详细的内容见7.2节。
1.2 总线接口技术
总线技术是计算机的核心技术之一,随着计算机技术的发展出现了各种不同类型的总线以满足不同应用的要求。例如,PC的内部总线,从早期的ISA总线、EISA总线到PCI等。限于篇幅,本书不讨论计算机的内部总线,仅介绍地震仪器中经常使用的两种外部扩展总线:VME总线和SCSI总线。
1.2.1 VME总线
1.VME的特点
VME(Versa Module Eurocard)总线是一种通用的计算机总线,结合了Motorola 公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子,是一种开放式架构。它定义了一个在紧密耦合(closely coupled)硬件构架中可进行互连数据处理、数据存储和连接外围控制器件的系统。VME的数据传输机制是异步的,有多个总线周期,地址宽度是16、24、32、40或64位,数据线路的宽度是8、16、24、32、64位,系统可以动态地对它们进行选择。它的数据传输方式为异步方式,因此只受制于信号交换协议,而不依赖于系统时钟;其数据传输速率为0~500Mbps。此外,还有Unaligned Data传输能力、误差纠正能力和自我诊断能力,用户可以定义I/O端口;可配有21个插卡插槽和多个背板。经过多年的改造升级,VME系统已经发展得非常完善,围绕其开发的产品遍及了工业控制、军用系统、航空航天、交通运输和医疗等领域,在地震仪器的主机系统中也得到广泛应用。例如,I/O Image 仪器中央控制单元就是基于VME总线支持的多处理器系统,在I/OImage的中央控制单元上最多可以容纳15块插件。
2.VME结构
VME是两种标准的结合,因此 VME系统可被看作是两个部分。一部分是它的机械构架,此部分决定着 VME总线的系统背板、前置面板和嵌入板的尺寸大小;而另一部分则是功能构架,它定义了系统的运行流程。
(1)VME的机械结构
VME机械构架中的主要部分为背板,它是一个印制电路板。它的大小有3种型号:3U (160mm ×100mm)、6U(160mm×233mm)和9U(367mm×400mm)。根据 VME64x标准, VME系统中有3种连接器,它们分别是P0/J0、P1/J1和P2/J2,“P”和“J”分别代表了PLUG和JACK连接器。P1/J1和P2/J2连接器有96个引脚,排列成3排,每排32引脚;P0/J0连接器则有95个引脚。3U型背板只具有P1/J1或P2/J2连接器,而6U型背板则同时具有J1和J2连接器。
(2)VME的功能结构
如图1-2-1所示,VME的功能构架可以说是由信号线、背板接口逻辑和功能模块所组成的。背板接口逻辑的性能由背板上的一些特性所决定,如信号线阻抗、传播时间、终端数值等。它和信号线是系统各部分之间连接的纽带。功能模块则是执行具体任务的电路集合。其中,主要的模块称为主设备(master),其决定着数据传输的顺序;根据主设备数据传输情况而动作的模块称为从设备(slave),负责监控数据传输目标地址的模块被称为定位监控设备。此外,还有发出中断请求和处理中断请求的模块,判定和处理其他模块请求的仲裁模块,以及发出时钟信号的模块和监控系统电源工作情况的模块。
图1-2-1 VME功能构架
这些模块各有分工,在内部总线的支持下相互配合以保证系统正常工作。VME系统的内部总线分为4大类:数据传输总线、数据传输仲裁总线、优先权中断总线和通用总线。
数据传输总线是一个高速异步平行数据传输总线,能传输数据和地址信号。主设备、从设备、中断模块和中断处理模块通过其两两进行交换数据。总线时钟(bus timer)和JACK 菊花链驱动器也通过数据传输总线参与数据处理工作。
数据传输仲裁总线是为确保在特定的时间内只有一个模块占用数据传输总线而设定的。工作在其上的请求模块和仲裁模块将负载协调各模块发出的指令。仲裁模块处于背板的第一个插槽内,决定哪个主设备将优先使用总线资源。具体的判定方法包括优先权算法、round-robin算法和其他排序算法。
优先权中断总线是处理各模块中断请求的总线。各种中断请求在VME中被分成了7个等级,根据等级的高低,它们依次对信号线进行中断工作。
最后一个总线是通用总线。所谓通用总线就是负责系统的一些基本工作,包括对时钟的控制、初始化、错误检测等。它由两条时钟线、一个系统复位线、一个系统失效线、一个 AC失效线和一个串行数据线构成。
各模块是以平行结构分布的,所有的数据和指令通过系统底层的4类总线进行传输,信号的模式是TTL电平信号。
VME技术的优势在于多年的技术积累,目前 VME总线系列有 VME64、VME64exten-sion、VME320等,其完备的规范和得力的技术支持能满足大部分客户的具体要求。此外,它的模块性也是一个非常大的优势,因为对于很多的嵌入式系统来说,加入额外的 I/O是常有的事,而VME能很好地满足这一需求。VME提供了21个扩充插槽,而且新加入的模块并不影响系统的整体性能。随着计算机技术的发展,对系统的带宽要求越来越高,如何进一步扩展VME的带宽是对VME的一个挑战。VME总线在Sercel和ION的仪器中都有广泛应用。
1.2.2 SCSI总线
SCSI(Small Computer System Interface,小型计算机系统接口)是一种 ANSI标准,原意是小型计算机系统接口,但实际上,它已超出了“小型”的范围,是 Apple Mac 计算机、PC及众多UNIX系统用来连接外围设备的一种并行接口标准。与标准串行和并行接口相比,SCSI接口是一种快速总线,能够提供更快的数据传输率,可以同时将大量外部设备连接到计算机,这些设备包括硬盘驱动器、扫描仪、CD-ROM/RW驱动器、打印机和磁带机。本节将介绍 SCSI基础知识,提供有关SCSI类型和规范的相关信息。
1.SCSI基础知识
SCSI是在一种老式专有总线接口(称为施加特联合系统接口,SASI)的基础上发展而来的。SASI最初是由 Shugart Associates和NCR Corporation 在1981年合作开发的。1986年,美国国家标准协会(ANSI)批准了SASI 的修正版 SCSI。SCSI 使用一个控制器,向支持SCSI的设备(如硬盘驱动器和打印机)传输数据,同时接收来自这些设备的数据,并为其提供电源。SCSI具有许多优点,它的速度相当快,最高可达320Mbps;适应性广,可在大多数计算机系统中使用;可靠性高,问世30多年来,经过充分测试和广泛应用,享有性能可靠的美誉。与串行ATA和FireWire一样,可以在一条总线上连接多个设备。SCSI存在的主要问题是它对BIOS(基本输入/输出系统)的支持比较有限,必须针对每台计算机进行配置,此外也没有通用的SCSI软件接口。最后,不同的SCSI类型具有不同的速度、总线宽度和连接器。
2.SCSI类型
SCSI有3个基本规范。
SCSI-1:SCSI-1是在1986年开发的原始规范,现已不再使用。它规定总线宽度为8位,时钟速度为5MHz。
SCSI-2:1994年采用,此规范包括通用指令集(CCS)——支持任何SCSI设备所必需的18个命令。在此规范中,可以选择将时钟速度提高一倍,达到10MHz (Fast),将总线宽度增加为原来的2倍,即16位,将设备数增加为15个(Wide),或者同时实现上述两种升级(Fast/Wide)。SCSI-2还增加了命令队列,允许设备存储命令,并从主机排列命令优先级。
SCSI-3:此规范于1995年正式出台,包括一系列较小范围的标准。涉及 SCSI 并行接口(SPI)的一组标准在 SCSI-3中得到了继续发展,SPI 是 SCSI 设备之间的通信方式。大多数SCSI-3规范都以Ultra开头,如Ultra for SPI规范、Ultra2for SPI-2规范和Ultra3for SPI-3规范。名称中的Fast和Wide的含义与SCSI-2中的一样。SCSI-3是当前正在使用的标准。
双倍总线速度、双倍时钟速度和SCSI-3规范的不同组合,产生了许多不同的SCSI规范。表1-2-1对几种不同规范进行了比较。很多较慢的规范已不再使用,在此列出仅用于比较。
表1-2-1 几种不同的SCSI规范比较表
除了总线速度提高之外,Ultra320 SCSI还使用打包数据传输,从而提高其效率。Ultra2也是最后一种具有“窄”(8位)总线宽度的规范。所有这些SCSI类型都是并行的,数据通过总线同时传输,而不是一次传输一种数据。
最新的SCSI类型称为串行连接SCSI(standard Serial Attached SCSI,SAS),这种连接使用SCSI命令,但以串行方式传输数据。与并行方式相比,串行方式提供更快速的通信传输速率及更简易的配置。SAS使用点对点(point-to-point)串行连接,以3.0千兆位每秒的速度传输数据,每个SAS端口可以支持多达128个设备或扩展设备。此外,Serial Attached SCSI 支持与串行 ATA设备相兼容,且两者可以使用相类似的电缆。SAS是点对点连接,并允许多个端口集中于单个控制器,可以建立在主板(mother board)上。所有SCSI规范都使用控制器和电缆与设备相连。
3.SCSI的控制器、设备和电缆
SCSI控制器在SCSI总线上的所有其他设备和计算机之间进行协调。SCSI控制器也称为主机适配器,控制器既可以是插入可用插槽的卡,也可以内置在主板上。SCSI BIOS也在控制器上。它是一个小型ROM或闪存芯片,包含访问和控制总线上的设备所需的软件。每个SCSI设备都必须具有唯一的标识符(ID)才能正常工作。例如,如果总线能够支持16个设备,通过硬件或软件设置指定的设备 ID的范围为0~15。SCSI 控制器本身必须使用其中一个ID,通常是最高的那一个,而将其他ID留给总线上的其他15个设备使用。
内部设备通过SCSI带状电缆连接到SCSI控制器。外部SCSI设备使用一条粗的圆形电缆,以菊花链(daisy-chaining)形式连接到控制器(串行连接 SCSI设备使用 SATA电缆)。在菊花链中,每个设备都依次连接到下一个设备。因此,外部 SCSI设备通常具有两个 SCSI连接器,分别连接前后两个设备。
此外,如果SCSI总线保持开放状态,沿总线发送的电信号会反射回来,从而干扰设备和SCSI控制器之间的通信。解决方法是终结总线,用电阻电路闭合每一端。如果总线同时支持内部和外部设备,则必须终结每个系列的最后一个设备。
1.3 存储设备
存储设备是计算机用来存储数据和信息的设备,包括RAM、ROM、U盘、硬盘以及具有海量存储能力的磁带机和阵列磁盘,种类繁多。按照存储介质和存储技术划分,主要有磁盘、磁带和光盘这3大类。只读存储的光盘单位容量成本最低,但由于可使用性不强,所以其应用范围远没有磁带和磁盘广泛,总体来说磁带的单位成本适中,磁盘的成本最高但其存取性能最好。由于光盘在地震仪器中很少使用,这里仅对地震仪器中广泛使用的磁带机进行较详细的说明,同时对近年来在地震仪中使用日益广泛的阵列磁盘和网络硬盘予以介绍。
1.3.1 磁记录原理
1.磁表面存储原理
磁带和硬磁盘都属于磁表面存储介质。磁记录技术发明于19世纪末,早期是用矫顽力很强的碳钢丝或钢带作为记录介质进行录音的。这是模拟磁记录,被记录的信号是连续的模拟信号,这种记录要求波形失真小,信噪比大。1947年磁记录开始用来记录数字信息,并随着计算机技术的发展而得到迅速发展。数字磁记录所记录的是脉冲信号,记录介质上留下来的是一连串饱和磁化翻转,它要求磁化翻转快,读出可靠,写入和读出的磁化状态完全一致,但并不要求这个信号的波形完全相似。而模拟磁记录不仅要求磁化强度在频率上应与被记录的信号一致,而且还要与被记录信号的强度有一定的比例关系。作为计算机外存的磁带存储器和磁盘存储器均用数字磁记录,它们与早期的磁鼓存储器统称为磁表面存储器,它们具有如下共同特点。
① 从存储信息的原理上讲,都是利用在记录介质载体(载磁体)上涂敷的硬磁物质的磁化状态来存储信息的。硬磁物质薄薄地涂在金属或塑料表面上,故有“磁表面存储器”之称。
② 信息的存取是利用磁头来进行的。磁头实际上是由软磁材料做铁芯的绕有读/写线圈的电磁铁。磁头在存入信息时用来改变记录介质的磁化状态,读出信息时则产生感应电动势。
③ 磁表面存储器记录的容量大,记录介质可以重复使用。
④ 非破坏性读出,介质稳定性好,记录信息可以脱机长时间保存而不丢失。
⑤ 由于磁头与记录介质的相对运动为机械式运动,其速度的提高受到限制,数据传输率比内存低得多。
磁记录过程实际上是一个电磁转换过程,这个过程是通过磁头及其相对运动的磁记录介质的相互作用来实现的,即利用磁头对载磁体进行信息的写入和读出,如图1-3-1所示。
图1-3-1 磁表面存储器信息的写入和读出原理
实际上磁头可分为写磁头、读磁头、复合头块及组合头块等形式。写磁头利用写线圈的电流脉冲产生的感应磁场使记录介质磁化,从而将信息写入到记录介质。读磁头则将记录介质上的剩余磁化强度重新转换为读线圈中的电流脉冲,从而将所记录的信息读出来。复合头块用一个磁头、一组线圈经读/写开关切换来分别作为读磁头和写磁头使用。以上都是单个磁头进行读/写,而组合头块是将写磁头和读磁头组装在一起,这样既便于安装固定,又能进行“写后读”检查,以发现写入信息的错误。另外,为实现读/写多位代码(多轨),可以将多个写磁头和多个读磁头组装在一起,形成双缝隙头块。
磁记录介质在读/写信息时,是相对磁头作匀速运动的。当写线圈中有电流脉冲时,铁芯内就产生磁通。由于铁芯是由高导磁材料制成的,而前隙处是非磁性材料,所以在前隙处集中很强的磁场,磁介质在这个磁场的作用下就被磁化成相应极性的磁化单元,这样就将信息写入记录介质上。读出信息时,磁头相对于磁化单元运动,磁化单元的磁通很容易通过磁头而形成闭合磁通回路,当不同磁化单元的磁通方向发生变化时,就在读线圈内感生出相应的电势,从而将信息读出。这种数字磁记录是一种饱和磁化的记录,即在记录介质上只有两种剩磁化状态,用于表示数字信息。
2.评价磁存储介质品质的主要指标
在进行数字磁记录时,信息的写入是一个电磁转换过程。它将由“0”和“1”表示的数字信息按特定的规律转换成相应的磁化翻转。这种特定的规律,就称为编码方式或记录方式。为了提高存储密度和增加记录的可靠性,一方面需要有性能良好的磁头和记录介质等“硬”措施,另一个方面还需要有合理的编码方式。同一组数据,由于采用的编码方式不同,就会得到不同的记录波形,从而可以得到不同的记录密度、编码效率等,相应的硬件组成及性能要求也不同。评价记录品质的主要指标有如下几项。
① 记录密度:指单位长度内二进制代码的数量。在沿磁道分布方向上,单位长度中的磁道数目称为磁道密度。而在磁道中每单位长度内记录二进制代码的数目称为位密度。对于磁盘存储器,记录密度也可定义为单位面积上所能存储的二进制代码的数量,但它通常还是用道密度和位密度来衡量的,如M2488的位密度为75742bpi。
② 存储容量:指整个磁表面存储器所能记录的二进制数码的总量,常用位数或字节数来表示。它与记录介质的尺寸和记录密度直接相关。如M2488的记录容量800MB(3:1压缩为2400MB);IBM3590有多种规格:B11—记录容量10GB(压缩可达30GB),E11—记录容量20GB(压缩可达60GB),H11—记录容量30GB(压缩可达90GB);IBM3592的记录容量60GB (经济型)或300GB。
③ 存取时间:它是指磁头从起始位置移到指定位置,并开始读/写数据所需的时间。由于主机发出的读/写命令是随机的,磁头起始位置自然也是随机的,故每次读/写操作的存取时间是不等的,只能用平均值来衡量。对于磁盘存储器,它的存取时间等于平均定位时间(找道时间)和平均旋转时间(等待时间)之和。对于磁带机,它的平均存取时间与走带速度和带长有关。
④ 数据传输率:指单位时间内所能读/写的二进制代码数量。它与位密度和记录介质的运动速度成正比,一般用位/秒或字节/秒来表示。
⑤ 误码率:指错误的二进制代码位数与存储容量之比。它可分为3类:由记录介质存在的缺陷引起的错误称为硬错误(不可恢复性错误);由灰尘等偶然因素造成的错误称为软错误(可恢复性错误);由驱动器引起的错误称为检测性错误。
⑥ 编码效率:指一次磁化状态翻转所能存储的数据位的个数,可用百分比表示。即
编码效率越高,就说明存储相同数据位时磁化状态翻转的次数越少。在相同位密度时,对磁头、磁记录介质及电子线路的高频响应要求会低些。
⑦ 自同步能力:指从单个磁道读出脉冲序列中提取同步时钟的难易程度。它是衡量编码性能的重要指标之一。有自同步能力的编码,在读出信息时就可省去外加同步时钟,使线路简化。
⑧ 带宽:信道带宽与磁化翻转间隔变化有关。信道本身带宽是受限的。使用时不仅要限制高频响应,也希望避开直流或低频区域。带宽越窄的码型抗干扰能力越强,越易于滤波处理,电路也就易于实现。
⑨ 读出分辨率:一般称时钟脉冲的间隔为检读窗宽表征检读分辨率,其数值用记录序列的时钟间隔大小来表示。检读窗宽与最大峰值位移量的差值即为检读鉴别时间余量,其数值越大,表明读出的可靠性越高。
⑩ 信息独立性:指误码传输受限,检读时当前信息位与前、后位状态应无关。
3.磁记录编码方式
数字磁记录编码方式主要指用于写入磁记录的电流波形的组成方式,它直接决定记录密度、自同步能力、可靠性及硬件实现的难易程度等性能。目前磁表面存储器中采用了多种编码方式,编码原理与数字通信技术中编码方式类似。典型编码方式的写入电流波形见图1-3-2,它们分别是:归零制(Return to Zero,RZ)、不归零制(NRZ)、反向不归零制(NRZI)、调相制编码(PE)方式、调频制编码(FM)方式、改进调频制编码(Modified Frequency Modulation, MFM)方式等。
图1-3-2 典型编码的写电流波形
以调相制编码方式为例,调相制记录信息“1”或“0”是以写电流的不同相位来表示的。它的编码规则是:
① 记录“1”时,写电流从负值跳变到正值,即电流正跳变为0相位;记录“0”时,写电流从正值跳变到负值,即电流负跳变定为π相位,也就是每个数据位的写入是在它的中间位置上,利用电流相位的变化进行写“1”或写“0”,故称调相制。
② 为保证满足相位规定,连续“0”或连续“1”信息位交界处,写电流必然要改变一次方向。
调相制编码是国家标准码型,它广泛应用于磁带机中,典型记录密度是每英寸1600位。
此外,还有所谓成组编码记录方式(Group Code Recording,GCR),又称群码制。GCR编码是一种性能较好的高密度码,在磁带机中典型记录密度为每英寸6250位,目前数字地震仪中已广泛采用GCR磁带机。很多高密度、大容量软、硬磁盘机也采用GCR方式。
磁表面存储器是计算机系统目前主要使用的外部存储器,为进一步提高存储容量和性能,主要从物理结构和编码方式两方面在不断改进,在物理上主要是采用高矫顽力磁介质,减薄磁层厚度,减小磁头浮动高度,减小磁头缝长,提高磁头前置放大器性能等措施。
1.3.2 数字磁带机
数字磁带机作为计算机系统的重要外部存储器,应用十分广泛,遍及各种类型的计算机系统。数字磁带机是能将数字信息按规定格式记录在磁带上,又能从磁带上把数字信息恢复出来的装置。它的种类很多,体积大小相差悬殊。如按磁带宽度分有1/2英寸磁带机和1/4英寸磁带机;按走带速度分有高速、中速、低速磁带机;按工作原理分有盘式磁带机、数据流磁带机、螺旋扫描磁带机。盘式磁带机又按磁带缓冲方式分为真空积带箱式和机构摆杆式两种。尽管如此,但它们的基本读/写原理均相似。
数字磁带机是地震仪器中必不可少的重要设备,它的任务是把采集的地震数据及有关的参数按照一定的记录格式和记录方式记录到磁带上,形成地震数字磁带记录,作为地震资料处理的原始数据。
1.磁带记录基本原理
磁带记录信息的原理是建立在电磁感应这个物理现象的基础上的。磁带本身是由塑料制成的柔软的长带(通常约半英寸宽),在带的一面涂有均匀的、薄薄的一层硬磁性物质,称为磁层,它是记录信息的载体。磁带上信息的记录和读出都是在磁带以恒定的速度通过磁头时进行的。磁头实际上是一个绕有线圈的电磁铁,如图1-3-3所示,用于写入的磁头称为“写磁头”,用于回放(即读出)的磁头称为“读磁头”。
在数字写入过程中,磁带以恒定的速度v在写磁头缝隙下通过,写磁头线圈中通以电流i (称为写电流),该电流强度I刚好使磁层磁化至饱和点,该电流的方向则是按一定的规律(即记录方式或称记录制式)随着要写入的二进制数码的变化而变化。如图1-3-4(a)所示。当写电流方向的改变时,磁层的磁化方向也发生翻转,如图1-3-4(b)所示。这个磁化翻转图形便是写入的二进制数码在磁带上的记录形式。
在数字读出过程中,磁带以恒定速度v在读磁头缝隙下通过时,在线圈两端产生感应电压,其大小为
式中,Φ为穿过读磁头铁芯的磁通;n为读磁头线圈匝数;v为磁带运行速度;x为磁带运行距离。
由上式可知,只有当磁带上的磁化翻转处通过读磁头缝隙时,读磁头线圈内才会产生感应电压。因此图1-3-4(b)的读出电压波形如图1-3-4(c)所示。将此读出电压信号送至读出电路处理即可恢复出原先写入的数码。
图1-3-3 磁带与磁头
图1-3-4 磁带的写入与读出
2.磁带机基本组成框图
磁带机的组成框图如图1-3-5所示,为了实现磁带的记录和读出,磁带机大体上应由以下几部分组成。
图1-3-5 磁带机的组成框图
(1)记录格式写编排和读解编电路
写编排电路的作用是把各样点的浮点二进制数码和其他有关的辅助资料的数码,按规定的记录格式编排后,依次送进写电路。读解编电路的作用是把读电路送来的按记录格式排列的数码恢复成按样点排列的浮点二进制数。需要说明的是在地震仪器中,这两部分电路通常设置在逻辑系统中而不包含在磁带机中,有的遥测地震仪把这两部分电路设置在主控制器内(分别称为写控制和读控制),但也有的地震仪却是在磁带机中包含这两部分电路。考虑到这两部分电路是与磁带记录密切相关的,故这里把它们作为磁带机的组成部分。
(2)写/读电路和磁头组
磁头组由写磁头、读磁头及一个抹迹磁头组装而成,其作用是实现“电—磁”和“磁—电”转换。磁带机在进行记录时,抹迹磁头在写磁头前面对磁带进行抹迹。写电路的作用是把经过格式编排的二进制数码按指定的写入方式(即记录方式)编码变成相应的写电流方向的变化,并将写电流放大后加至写磁头线圈,使之变成磁信号记录到磁带上。读电路的作用是把读磁头产生的感应电压放大整形然后译码恢复成数字信号,送至格式解编电路。
写编排电路和读解编电路是依据采用的磁带记录格式而设计的,写电路和读电路是依据所采用的磁带记录方式来设计的。因此,磁带记录格式和磁带记录制式是地震仪所使用的数字磁带机两个最重要的性能和特征。在研究写编排电路和读解编电路之前必须先熟悉它们所依据的记录格式。地震仪通常采用SEG-B格式和NRZI或PE方式,遥测地震仪多采用SEG-D格式和GCR方式,少数采用SEG-Y格式和PE方式。
3.磁带机机各部分的功能
从整体上看,磁带机由5部分组成,即磁带、磁头、磁带传送机构、逻辑控制电路和伺服电路。
(1)磁带
磁带是磁表面存储系统所有存储介质中单位存储信息成本最低、容量最大、标准化程度最高的常用存储介质之一。它是以聚脂树脂作为基材表面涂有硬磁性物质制成的。配合各种磁带机,磁带也分有不同的类型,按磁带的宽度分,有1/4英寸和1/2英寸;按磁带的带长分,有2400英尺、1200英尺和600英尺;按磁带装配外形分,有开盘式磁带和盒式磁带;按记录密度分,有800位/英寸、1600位/英寸、6250位/英寸;按带面并行记录的磁道数分,有9道、16道等。磁带绕在带盘里面,每盘磁带上至少有两个反射标记,即始端标记或称带头标记(BOT )和末端标记或称带尾标记(EOT),它一般由4.8mm×28mm的矩形金属反光薄膜制成,贴在磁带背面,通过标记由光电传感器实现磁带定位。磁带的互换性好、易于保存,近年来由于采用了具有高纠错能力的编码技术和即写即读的通道技术,大大提高了磁带存储的可靠性和读/写速度。
根据读/写磁带的工作原理可分为螺旋扫描技术、线性纪录(数据流)技术、DLT技术及比较先进的LTO技术。
① 螺旋扫描技术
以螺旋扫描方式读/写磁带上数据的磁带读/写技术与录像机基本相似,磁带缠绕磁鼓的大部分,并低速前进,而磁鼓在磁带读/写过程中反向高速旋转,安装在磁鼓表面的磁头在旋转过程中完成数据的存取读/写工作。其磁头在读/写过程中与磁带保持15°倾角,磁道在磁带上以75°倾角平行排列。采用这种读/写技术在同样磁带面积上可以获得更多的数据通道,充分利用了磁带的有效存储空间,因而拥有较高的数据存取密度。
② DLT技术
DLT(Digital Linear Tape Technology,数字线性磁带)技术是一种先进的存储技术标准,包括1/2英寸磁带、线性记录方式、专利磁带导入装置和特殊磁带盒等关键技术。利用 DLT技术的磁带机,在带长为1828英尺、带宽为1/2英寸的磁带上具有128个磁道,使磁带未压缩容量可达20GB,压缩后容量可增加一倍。
③ LTO技术
LTO(Linear Tape-Open Technology,线性开放式磁带)技术是由 IBM、HP、Seagate三大存储设备制造公司共同支持的高新磁带处理技术,它可以极大地提高磁带备份数据量。LTO磁带可将磁带的容量提高到100GB,如果经过压缩可达200GB。LTO技术不仅可以增加磁带的信道密度,还可在磁头和伺服结构方面进行全面改进。LTO技术采用了先进的磁道伺服跟踪系统来有效地监视和控制磁头的精确定位,防止相邻磁道的误写问题,达到提高磁道密度的目的。
(2)磁头
磁头是磁电转换部件,磁带机中的磁头是固定不动的,读/写数据时磁带机驱动磁带使其以匀速运动,找到指定的记录区后写入数据或读出数据。图1-3-6是一个轨的磁头的结构。这种双缝磁头结构不但能进行写操作和读操作,而且它能够对写入的数据立即读出进行校验,即可实现写后读校验,一旦发现出错便可以进行重写。由于磁带上通常是记录多轨数据,为了将各轨数据同时写入或读出,磁带机采用组合头块,即把各轨上的磁头组装在一起。
图1-3-6 双缝磁头结构
清洗磁头由不分轨的一个完整铁芯构成,该铁芯宽度与带磁道等宽,在进行清洗或写操作时,在指定带区域内先进行清洗,抹除无用信息以减小写入时的噪声。
磁头装置中还配有磁带清洗器和前屏蔽块,清洗器用来预先去掉磁带上的尘埃,减小磁带与磁头磨损,从而延长使用寿命。前屏蔽块由两片磁导率相差极大的铁氧体和铜材料构成。铜块的中心位置对着写磁头缝隙,铁氧体的中心对着读磁头缝隙,这样可以防止写磁头的磁场扩散,而且两块材料的接缝处正好位于读/写磁头的中间位置,以减小读出时的干扰。在写磁头与读磁头之间还加有隔磁的屏蔽片,其作用是减小写磁头的漏磁对读磁头的影响。
(3)磁带传送机构
磁带传送机构主要由驱动电机和相应的机械部件组成,包括两部直流电动机、两个带盘(收带盘,供带盘),以及带边导向轮、供带辊、收带辊等部件,它们在伺服系统的控制下带动磁带正转或反转以便实现读/写操作。
(4)逻辑控制电路
它的基本功能是接收控制指令、协调磁带机各部分有秩序地工作,指挥走带机构按预定的方式运转(包括正转、反转、停转、倒带4种基本运转)。此外,还有一些特殊的控制功能,如到带头、到带尾、断带停转等。正常工作时,磁带机运转置于地震仪控制系统的控制之下(也称联机控制),但为维修和检测方便,磁带机运转也可由手动控制(也称本机控制)。
(5)伺服电路
用来进行走带速度和走带张力的伺服控制。它根据速度传感器提供的速度反馈信号来控制磁带经过磁头工作面时的线速度,使之为某一规定的常数,以保证磁带记录密度均匀一致;同时它还根据张力传感器提供的张力反馈信号来控制磁带以恒定的张力平稳地通过磁头工作面,以保证磁头缝隙与磁带运行方向垂直而不发生扭曲。
磁带机的基本功能是准确而迅速地将数字信息写入磁带或从磁带读出,为完成这个功能,就要求磁带机的带速必须稳定,走带张力要恒定。保持带速稳定是通过主动轮伺服系统的控制来实现的。该系统由主动轮放大器、主动轮电机及测速计等组成。它控制主动轮电机的转速和转向,使磁带作正向或反向走带。测速计输出作为反馈信号精确地控制带速,在启动和停止走带时,由斜坡电压发生器控制加速或减速走带。
带盘的卷带和放带由伺服系统控制。它由放大器、电机和张力臂(机械式摆杆)等组成,当主动轮驱动磁带作恒定运动时,由于带盘上缠带直径不断变化,故必须随时调整带盘角速度,以保持带盘线速度恒定。此外,在启动磁带时由于带盘惯性,带盘的线速度不能立即跟上主动轮的速度变化,在伺服系统中设置了机械摆杆式磁带缓冲装置,以此缓冲方式给带盘转速提供了一个时间容限范围,只要在这个时间内带盘线速度跟上主动轮线速度即可,为此必须设置传感器以随时检测缓冲量的大小。带盘伺服系统测得缓冲量的变化后,分别控制两个带盘的线速度,使它们与主动轮一致。
磁带机的读/写操作是以磁带速度稳定为前提的,并在控制电路的控制下实现的。写入数据时,首先由磁带机控制器发出正走命令,使磁带正向走带,当磁带达到规定的速度并找到指定的记录区后,控制器送出写数据,然后数据经写电路按规定的记录方式由磁头写到磁带上。与此同时,写到磁带上的数据立即由读磁头读出,送控制器作读校验,以检测写入的数据是否正确,经校验写入的数据正确无误时,写操作结束,若发现有错,则马上停止写操作,使磁带反走到原来开始写入时的位置,再重写一次。读操作时,磁头从磁带读出的数据经放大、峰值检测等送磁带机控制器。
为了防止偶然原因损坏磁带上的数据,多数磁带机设置有保护装置,要执行写操作时,一定要在文件盘上装好“允写环”,否则禁止写操作。
磁带机有两种操作方式:手动操作和联机操作。手动操作时,操作人员通过磁带机面板上的按钮来控制磁带机;联机操作时,由主机通过磁带机控制器控制磁带机工作。
4.磁带机记录标准格式
下面以1/2英寸9道启停式磁带记录与1/4英寸盒式数据流磁带记录为例说明磁带记录的标准格式。
1/2英寸9道启停式磁带是一种国际上通用的标准磁带,其记录格式如图1-3-7所示。
图1-3-7 1/2英寸磁带标准格式
每盘带均设有始端标记BOT和末端标记 EOT。标记用一块矩形金属反光薄膜制成,光电检测元件可得到这两个标记,表示记录的开始和结束,磁带上留有间隙 G(3.75英寸)或 g (0.6英寸),后者为数据块间的间隙,它们取决于磁带机的快启停性能。
信息可用两种形式存储。第一种是文件形式,一盘带可记录若干个文件,一个文件又分若干数据块。每个文件始末有文件头标和文件尾标。卷头标、索引、文件头标、文件尾标均为80B,其内容视操作系统而定。第二种是数据块形式,磁带可在数据块之间启停,进行数据传输。在9道带中,8位是数据磁道,存储一个字节,另一位是这一字节的奇偶校验位,称为横向奇偶校验码。在每一数据块内部,沿走带方向每条磁道还有CRC校验码。
1/4英寸盒式数据流磁带也是一种通用的标准磁带。其中,9道磁带记录格式包括前同步、数据块标记(1B)、用户数据(512B)、地址号(4B)、CRC校验码(2B)和后同步,如图1-3-8所示。
图1-3-8 1/4英寸数据流九道磁带格式
注意:数据流磁带机是串行逐道记录的,其读/写顺序类似于磁盘。记录信息时,从0号磁道开始,偶数磁道从磁带首端 BOT到磁带末端 EOT,而奇数磁道则从 EOT到 BOT,且要依次首尾相接。这种方式称为蛇形串行记录。下面的例子说明如何计算磁带的容量。
【例1-1】现有1/2英寸(1英寸=25.4mm)9道磁带机,记录密度为每英寸6250B,带速3m/s,启停时间5ms,带长900m,按块记录文件;每条记录长128B,块化系数为16,块间间隔为10mm。求:(1)磁带记录密度每毫米多少字节;(2)数据传输率;(3)每个块占磁带长度;(4)整盘带可容纳的记录条数;(5)读出160000条记录所需的时间。
【解】(1)因为已知记录密度d=6250B/英寸,所以磁带记录密度d=6250B/25.4mm=246B/mm。
(2)根据公式c=d·v,已知v=3m/s,d=246B/mm,则
数据传输率c=246B/mm×3×1000mm/s=738千字节/s
(3)每块所占磁带长度包括两部分:一是记录一块数据的长度,二是块间间隔。
一块数据所占字节数=(字节数/每个记录)×块化系数=128×16=2048字节
2048字节占有的带长=2048/记录密度=2048/246=8mm
每块占磁带长度=8mm+10mm=18mm
(4)一盘带能存储的记录块数=总带长/一个块长=900×1000mm/18mm=50×103 块,所以,整盘带可容纳的记录条数=块化系数×块数=16×50×103=800000条记录。
(5)160000条记录需要的记录块数=160000/块化系数=160000/16=10×103 块
读出160000条记录所需时间t=启停时间(t1)+有效时间(t2)+间隔时间(t3)。
启停时间t1:读出160000条记录需启停一次磁带机的时间,已知t1=5ms;
有效时间t2:不包括块间间隔,160000条记录的读出时间,已求出传输率为738千字节/s,故t2=(160000×128)/738=27s;
间隔时间t3:计算出总的块间隔长度,然后除以带速。因为160000条记录共分10000块,块间隔共长100m,故t3=33s。
因此总时间t=5ms+27s+33s=60.005s
5.磁带机保养与维护
① 装运磁带时,应放在专用包装箱内。
② 磁带应在无尘、防潮和无其他污染物的环境中放置,建议使用聚乙烯塑料袋将磁带包裹起来。
③ 在使用磁带之前,应将要使用的磁带在工作环境中放置24小时。
④ 不要将磁带暴露在潮湿或阳光直射之处。
⑤ 磁带应远离强磁场、强辐射环境。
⑥ 数据带要及时做好写保护。
⑦ 首次安装使用磁带机时,应根据地震仪器型号来选择配置合适的磁带机接口。
⑧ 严禁操作人员在磁带机电源打开时,带电拔插与仪器连接的电缆。若需拔插,应关闭系统,断开磁带机、仪器电源,方可进行操作。
⑨ 每天应对磁带机的表面及周围环境进行清洁。
⑩ 如果磁带机发生故障,非专业人员不得擅自打开修理,应送交维修部门由专业维修人员进行维修。
○11长期不用时,应放置在干燥、无强电磁干扰的地方,3个月应通电自检一次,每次通电时间不得少于15分钟。
SCSI接口磁带机联机注意事项:
●初次联机使用前,应检查磁带机ID设置是否与仪器中设置有冲突,进行参数设置时,应卸载带仓内的磁带;
●分配给磁带机一个ID号,所设ID号不能与仪器其他SCSI设备重复;
●磁带机与外置硬盘应分开使用,如果只有一块SCSI接口卡,应将磁带机接在硬盘之后;
●如果磁带机后不挂接其他设备,应根据接口卡型号接上差分或单端终端器。
6.地震勘探常用磁带机性能简介
下面对在地震仪中广泛使用的磁带机IBM3592进行简单介绍。IBM3592磁带机是美国IBM公司生产的大容量、可适应各种环境工作的单个盒式磁带单元,现广泛地应用在408、428、SYSTEM IV、SCORPION、ARIES等地震仪上。
(1)IBM3592磁带机前面板操作及控制介绍
图1-3-9所示为IBM3592前面板按键方位图。图中,1为反射基准;2为带仓,用于固定和操作磁带的地方;3为非反射基准,用于定位磁带机;4为卸带按键,用于手动卸带;5为复位按键,用于磁带机复位;6为LED电源指示灯,用于指示电源;7为8字符显示器,显示磁带机状态代码和操作菜单。
图1-3-9 IBM3592磁带机前面板按键方位图
(2)技术指标
磁带机类型:半英寸线性盒带。
记录技术:线性螺旋技术。
介质类型:金属微粒。
盒带容量:最多300GB(900GB(以3:1压缩时));轨道数目:512。
传输速率:
●本地数据传输速率,40MB/秒;
●自适应数据传输速率,35、31、26 MB/秒;
●最高数据传输速率,200 MB/秒;高速搜索,8 MB/秒。
电源:0.1kVA。
尺寸:高×宽×长24.5mm×109mm×125mm(0.97in×4.3in×4.9in)。
重量:1.39kg。
磁带长度:2001Ft标称长度(610m)。
温度:使用介质时,16℃~32℃(60℉~90℉)。
相对湿度:20%~80%。
最大湿球温度:23℃(73.4℉)。
1.3.3 磁盘阵列简介
磁盘阵列简称 RAID(Redundant Arrays of Inexpensive Disks),原意为“具有冗余的价格便宜的磁盘阵列”。其原理是利用数组方式来做磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列主要针对在计算机发展初期硬盘在容量及速度上无法跟上CPU 及内存的发展而提出的改善方法。该方法由Patterson、Gibson 和Katz三位工程师于1987年提出,其基本思想就是将多只容量较小的、相对廉价的硬盘驱动器进行有机组合,使其性能超过一只昂贵的大硬盘。同时,在存储数据时,利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列利用同位检查(Parity Check)的观念,在数组中任一个硬盘出现故障时,仍可读出数据,在数据重构时,将故障硬盘内的数据经计算后重新置入新硬盘中。这一设计思想很快被接受,从此 RAID 技术得到了广泛应用。
1.RAID 技术规范简介
RAID技术主要包含 RAID0~RAID7等数个规范,它们的侧重点各不相同,常见的规范有如下几种。
RAID0:RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的 RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。
RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此,RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读/写,而不需要重组失效的数据。
RAID 0+1:也被称为RAID 10标准,实际是将 RAID 0和 RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每块磁盘作磁盘镜像进行冗余。它的优点是同时拥有 RAID0的超凡速度和 RAID1的数据高可靠性,但是,CPU占用率同样也更高,而且磁盘的利用率比较低。
RAID 2:将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(汉明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得 RAID 2技术实施更复杂,因此在商业环境中很少使用。
RAID 3:它同 RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID4:RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此 RAID 4在商业环境中也很少使用。
RAID5:RAID5不单独指定奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID5更适合于小数据块和随机读/写的数据。RAID3与RAID5相比,最主要的区别在于RAID3每进行一次数据传输就需涉及所有的阵列盘;而对于RAID5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在 RAID5中有“写损失”,即每次写操作将产生4个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID 6:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但 RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于 RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得 RAID 6很少得到实际应用。
RAID 7:这是一种新的 RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机 CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他 RAID 标准有明显区别。除了以上的各种标准,可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如,RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。
开始时,RAID 方案主要针对SCSI硬盘系统,系统成本比较昂贵。1993年,HighPoint公司推出了第一款IDE-RAID 控制芯片,能够利用相对廉价的 IDE硬盘来组建 RAID系统,从而大大降低了RAID的“门槛”。从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设备,而用户存储在其中的数据却常常远超计算机的本身价格。在花费相对较少的情况下,RAID 技术可以使个人用户也享受到成倍的磁盘速度提升和更高的数据安全性,现在个人计算机市场上的 IDE-RAID 控制芯片主要出自 High-Point和Promise公司,此外还有一部分来自AMI公司。
磁盘阵列有许多优点:提高了存储容量;多台磁盘驱动器可并行工作,提高了数据传输率。该技术提供了比通常的磁盘存储更高的性能指标、数据完整性和数据可用性,尤其是在当今面临的 I/O总是滞后于CPU性能的瓶颈问题越来越突出的情况下,RAID解决方案能够有效地弥补这个缺口。
2.磁盘阵列在地震仪器中的应用实例
随着地震勘探数据量越来越大,磁盘阵列技术在地震仪器中获得了广泛应用,例如 ION的仪器System4和Scorpion系统都采用了磁盘阵列技术,用来保存仪器所采集的地震勘探数据。
Scorpion仪器的数据存储系统称为CASP (Cable Acquisition System Partition),为了增加设备的存储量及文件系统的可靠性,CASP实际上就是一个使用 RAID5技术的磁盘阵列系统。当开始地震数据采集后,地震数据从排列串传输到Scorpion 系统,这些数据经过主机处理后存储在阵列磁盘上。一旦采集系统找不到这个磁盘,将无法进行采集。系统将采集数据写入CASP,之后再根据需要把数据转存到盒式磁带(IBM3592)或者以文档的形式保存。当完成数据记录后,会在CASP数据区作出已经被记录的标记。当文件存储区达到80%时,将自动删除较旧的数据,系统始终保持CASP的存储区域小于等于80%。
1.3.4 网络存储技术
1.简介
网络存储技术(Network Storage Technologies)是基于数据存储的一种通用网络术语。网络存储结构大致分为3种:直连式存储(Direct Attached Storage,DAS)、网络存储设备(Network Attached Storage,NAS)和存储网络(Storage Area Network,SAN)。
(1)直连式存储(DAS)
这是一种直接与主机系统相连接的存储设备,如作为服务器的计算机内部硬件驱动。到目前为止,DAS仍是计算机系统中最常用的数据存储方法。存储产品作为计算机的附属部分,采用直接连接存储结构。将存储设备通过 SCSI接口或光纤通道直接连接到一台计算机上。其缺点是服务器成为网络瓶颈,存储容量不易扩充;服务器发生故障时,连接在服务器上的存储设备中的数据不能被存取。
(2)网络存储设备(NAS)
NAS 是一种采用直接与网络介质相连的特殊设备实现数据存储的机制。由于这些设备都分配有IP地址,所以客户机通过充当数据网关的服务器可以对其进行存取访问,甚至在某些情况下,不需要任何中间介质,客户机也可以直接访问这些设备。它具有以下优点:①NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。②NAS设备非常易于部署,可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。③NAS应用于高效的文件共享任务中,例如 UNIX中的NFS和Windows NT中的 CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。NAS能够满足那些希望降低存储成本但又无法承受 SAN昂贵价格的中小企业的需求,具有相当高的性价比。究竟哪些应用可以考虑使用 NAS设备呢?首先,看这个应用的核心业务是否建立在某种信息系统上,对数据的安全性要求很高;其次,看该信息系统是否已经有或者将会有海量的数据需要保存,并且对数据管理程度要求较高;最后,还可以判断网络中是否有异构平台,或者以后会不会用到。如果上述有一个问题的答案是肯定的,那么就有必要重点考虑使用NAS设备。
(3)存储网络(SAN)
SAN 是指存储设备相互连接且与一台服务器或一个服务器群相连的网络,其中的服务器用作SAN的接入点。在有些配置中,SAN 也与网络相连。SAN中将特殊交换机当作连接设备。它们看起来很像常规的以太网络交换机,是 SAN中的连通点。SAN使得在各自网络上实现相互通信成为可能,同时并带来了很多有利条件。网络存储通信中使用到的相关技术和协议包括SCSI、RAID、iSCSI及光纤信道。一直以来 SCSI 支持高速、可靠的数据存储;RAID (磁盘冗余阵列)指的是一组标准,提供改进的性能和(或)磁盘容错能力;光纤信道是一种提供存储设备相互连接的技术,支持高速通信(将来可以达到10Gbps)。与传统存储技术相比,光纤信道支持较远距离的设备相互连接。iSCSI技术支持通过 IP网络实现存储设备间双向的数据传输,其实质是使SCSI连接中的数据连续化。通过 iSCSI,网络存储器可以应用于包含IP的任何位置。而作为Internet的主要元素,IP几乎无所不在。
由于网络存储技术是通过网线连接的磁盘阵列,具备磁盘阵列的所有主要特征:高容量、高效能、高可靠。因此具有以下优点:①安装容易、便捷;②易于维护;③具有非常好的可扩展性;④具有更快的响应速度和更高的数据带宽;⑤对服务器的要求降低,可大大降低服务器的成本,有利于高性能存储系统在更广的范围内普及及应用。
2.NAS在地震仪器中的应用举例
现代大型地震仪器中已经广泛使用 NAS作为数据的转录并备份,这里以 Sercel公司的408UL系统为例说明NAS在地震仪器中的应用。408UL V8.1版本支持NAS存储数据,配合数据转录设备可以方便地实现以磁带或硬盘为介质存储数据。NAS数据存储转录系统工作稳定、记录速度快、存储容量大,能够满足常规脉冲震源生产和多组可控震源的滑动扫描生产。NAS数据存储转录系统解决了传统 IBM3490磁带机单盘记录数据量过小和新式IBM3590磁带机野外环境下数据安全性低的缺点,能够满足当前高采样率、大道数采集的需要。NAS作为通过网络连接的存储装置,实现了由野外的仪器主机向营地的转录微机转移数据。
NAS数据存储转录系统主要由NAS盘、转录微机(工作站)和IBM3590(3592)磁带机构成。NAS是一个有很大存储容量的设备,它通过集线器(hub)或交换机(switch)直接连在网络上,使磁盘空间的扩展如同在网络上添加打印机一样简单方便,同时 NAS具有RAID功能和完全的文件服务器功能。在硬件实现上,NAS盘是一台安装有专用软件的便携式PC,通过网线连接到中央记录单元的以太网中存储数据。Sercel公司提供的NAS盘型号是 NAS Start800,外形如图1-3-10所示,NAS盘安装有两块型号和容量相同的硬盘,容量400GB到2TB不等。便携 PC的主板集成有USB、串口、10/100Mbps 自适应网卡等常用接口,主板上预留有一个PCI插槽。为了满足实现数据在不同系统之间的传递,在主板的PCI插槽中安装了Intel生产的双口千兆网卡。
图1-3-10 NAS Start 800
由于NAS盘中的地震数据极其重要,为了保证数据的安全性,NAS盘设置为RAID 1,这样有利于保存关键性数据。RAID 1技术重点全部放在如何能够在不影响性能的情况下最大限度地保证系统的可靠性和可修复性上。如前所述,RAID 1又被称为磁盘镜像,每个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制到镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。显然,磁盘镜像肯定会提高系统成本,因为所能使用的空间只是所有磁盘容量总和的一半。在 RAID 1下,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,RAID 1甚至可以在一半数量的硬盘出现问题时不间断地工作。当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读/写数据。通常情况下,NAS盘中的两块硬盘会定时地进行同步镜像。在同步镜像的进行过程中,外界对数据的访问不会受到影响,但是由于复制数据需要占用一部分的带宽,所以可能会使整个系统的性能有所下降。NAS盘使用基于Linux系统的 STORIQ存储专用软件,在软件设置完成后硬盘会划分为系统区、交换区和数据区3个部分。
存储在NAS盘中的数据可以转录到磁带中,根据磁带的类型连接对应型号的磁带机到转录微机就可以实现。根据使用软件的不同,可以使用 PC或工作站。转录微机硬件配置至少要达到以下要求:CPU采用Pentium III,内存至少256MB,带有一块型号为Adaptec AHA29xx的SCSI接口卡和USB接口。操作系统可以使用Windows2000或Windows XP。按照上述配置的PC安装好软件后,就可以支持向磁带机转录数据了。要获得对不同接口的磁带机的支持,需要安装对应类型的接口卡。例如,AHA2940接口卡可以支持单端接口的磁带机。
1.4 嵌入式系统与可编程逻辑器件
嵌入式系统在地震仪器中具有广泛的应用,地震仪器的地面电子系统和一些辅助设备中的控制单元大都是嵌入式系统。本节将对嵌入式系统的基本概念做简要介绍。
1.4.1 嵌入式系统的概念
嵌入式系统目前已经渗透到科学技术的各个领域和日常生活中的每个角落,大到工业控制系统,小到广泛使用的智能手机,形式各异,门类众多,因此嵌入式系统本身的定义是一个相对模糊的概念。但从计算机专业的角度来说,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。一般而言,嵌入式系统由3个部分组成:硬件、嵌入式操作系统与应用软件。嵌入式系统的设计过程是:按照应用要求,首先进行硬件设计,然后选择合适的操作系统移植到硬件上,接着进行应用程序的开发,最后经过调试获得系统最佳性价比。嵌入式系统有以下主要特点。
① 嵌入式系统通常是面向特定应用的。嵌入式 CPU与通用型 CPU的最大不同就是嵌入式CPU大多为特定用户群设计的系统,它们都具有功耗低、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而利于嵌入式系统的小型化设计,使移动能力大大增强,与网络的结合也越来越紧密。
② 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能完成功能、可靠性和功耗的苛刻要求。
③ 与传统的单片机不同,嵌入式处理器支持操作系统。用户必须自行选配操作系统开发平台,这样就可以合理地调度多任务,充分利用系统资源,从而保证程序执行的实时性和可靠性,减少开发的时间,保障软件质量。
④ 嵌入式系统与具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
⑤ 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般固化在存储器芯片或嵌入式处理器本身,而不存储于外部磁盘等载体中。
⑥ 专门开发工具支持。嵌入式系统本身不具备自主开发能力,即使在设计完成以后,用户通常也不能对程序功能进行修改,必须有一套开发工具和环境才能进行开发。开发工具和环境一般基于通用计算机的软硬件设备、逻辑分析仪和示波器等。
1.4.2 嵌入式系统硬件
嵌入式系统硬件由嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、输入/输出设备、I/O接口及相应的驱动电路(包括A/D、D/A)等组成,如图1-4-1所示。
图1-4-1 嵌入式系统的硬件组成
实际上目前大多数流行的嵌入式处理器芯片上除微处理器外,都集成有相当数量的存储器和输入/输出端口,这样在一片嵌入式处理器芯片基础上添加电源电路、时钟电路和必要的外部存储器电路,就构成了一个嵌入式核心控制模块。其中,操作系统和应用程序都可以固化在ROM中。
1.嵌入式微处理器
作为嵌入式系统核心的嵌入式微处理器一般具备以下4个特点:①对实时任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。②具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。③可扩展的处理器结构,以保证能最迅速地开发出更高性能的嵌入式微处理器。④嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,根据需要功耗只有mW甚至μW级。嵌入式微处理器的体系结构可以采用冯·诺伊曼体系或哈佛体系结构;指令系统既可以选用精简指令系统(RISC)也可选用复杂指令系统(CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每条指令,从而提高了执行效率并使 CPU硬件结构设计变得更为简单。嵌入式微处理器有各种不同的体系结构,即使在同一体系结构中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已超过1000种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。对嵌入式微处理器的选择是根据具体的应用而决定的,在地震仪器中常用的芯片有ARM和PowerPC。
2.存储器
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含 Cache、主存和辅助存储器。
(1)Cache
Cache是一种容量小、速度快的存储器阵列,它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能地从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输效率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。在嵌入式系统中,Cache 全部集成在嵌入式微处理器内,可分为数据 Cache、指令 Cache 或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把 Cache 集成进去。
(2)主存
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。常用作主存的存储器有:ROM 类 NOR Flash、EPROM和PROM等;RAM类 SRAM、DRAM和SDRAM等。其中,NOR Flash凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。
(3)辅助存储器
辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢很多,用来长期保存用户的信息。嵌入式系统中常用的外存有:硬盘、NAND Flash、CF卡、MMC和SD卡等。外存一般要进行外部扩展。
3.通用设备接口和I/O接口
嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的801.11无线设备。目前嵌入式系统中常用的通用设备接口有 A/D(模数转换接口)、D/A(数模转换接口),I/O接口有 RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。
4.嵌入式处理器的分类
如前所述,目前世界上具有嵌入式功能特点的处理器已超过1000种,流行体系结构包括ARM,MCU,MPU等30多个系列。根据其现状,嵌入式处理器可以分成下面几类。
(1)嵌入式微处理器(Micro Processor Unit,MPU)
嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Aml86/88、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM系列等。
(2)嵌入式微控制器(Micro Controller Unit,MCU)
嵌入式微控制器的典型代表是单片机,从20世纪70年代末单片机出现到今天,虽然已经经过了30多年的历史,但这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。由于MCU低廉的价格、优良的功能,所以拥有的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU8XC930/931、C540、C541,并且有支持 I2C、CAN总线、LCD及众多专用MCU和兼容系列。目前 MCU占嵌入式系统约70%的市场份额。近来 Atmel出产的AVR单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。
(3)嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)
DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP的理论算法在20世纪70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。MPU较低的处理速度无法满足DSP的算法要求,其应用领域仅仅局限于一些尖端的高科技领域。随着大规模集成电路技术的发展,1982年世界上诞生了首枚DSP芯片。其运算速度比MPU快了几十倍,在语音合成和编码解码器中得到了广泛应用。至20世纪80年代中期,随着 CMOS技术的进步与发展,第二代基于CMOS工艺的DSP芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。到20世纪80年代后期,DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。20世纪90年代后,DSP发展到了第五代产品,集成度更高,使用范围也更加广阔。目前最为广泛应用的是 TI 的TMS320C2000/C5000/6000系列,兼有ARM和DSP的双核芯片(如OMAP)及专用于视频处理的DM64系列。
(4)嵌入式片上系统(System On Chip,SOC)
SOC是追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门话题之一。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板来扩展片外电路,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。预计SOC芯片将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。
1.4.3 嵌入式操作系统
嵌入式操作系统(Embedded Operating System)负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;它必须体现其所在系统的特性,能够通过加载/卸载某些模块来达到系统所要求的功能。
操作系统(Operating System,OS)的基本思想是隐藏底层不同硬件的差异,向在其上运行的应用程序提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必考虑不同硬件操作方式的差异。操作系统主要完成三项任务:内存管理、多任务管理和外围设备管理,如图1-4-2所示。
图1-4-2 操作系统示意图
嵌入式操作系统相对一般操作系统而言的,它除具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点:
●稳定性强,弱交互性——嵌入式系统一旦开始运行就不需要用户过多的干预,这就要求负责系统管理的嵌入式系统具有很强的稳定性;
●可伸缩性——开放、可伸缩性的体系结构;
●外设接口的统一性——提供各种设备驱动接口。
目前嵌入式系统的操作系统主要有两大类:实时系统和分时系统。
1.实时操作系统 (Real Time Operating System,RTOS)
根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。在作为工业控制领域应用的系统大都要求具有实时性,例如在地震数据采集站中对采集数据的收集就要求实时性,否则将造成数据的丢失。
在实时操作系统中有几个重要概念:①系统响应时间(System response time),指系统发出处理要求到系统给出应答信号的时间。②任务切换时间(Context-switching time),指任务之间切换而使用的时间。③中断延迟(Interrupt latency),指计算机接收到中断信号到操作系统作出响应,并完成换道转入中断服务程序的时间。
实时操作系统中的任务分4种状态:运行(Executing)、就绪(Ready)、挂起(Suspended)、冬眠(Dormant)。运行:获得 CPU控制权。就绪:进入任务等待队列,通过调度转为运行状态。挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。冬眠:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。任何时刻系统中只能有一个任务处于运行状态,各任务按级别通过时间片分别获得对 CPU的访问权。
2.分时操作系统
对于分时操作系统,软件的执行在时间上的要求并不严格,时间上的错误一般不会造成灾难性的后果。分时操作系统的强项在于多任务的管理,而实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等情况作出精确的估计。通常,分时操作系统也是多任务操作系统,系统支持多任务管理和任务间的同步和通信。传统的单片机系统和DOS系统等对多任务支持的功能很弱,而 Windows 就是典型的多任务操作系统。在嵌入式应用领域中,多任务是一个普遍的要求,如Windows CE就是一个多任务分时系统。
3.常用嵌入式操作系统
目前已有许多嵌入式操作系统,如用于实时控制的μC/OS II,VxWorks,pSOS,ECOS;用于移动终端和PDA的PalmOS,Symbian,Windows Mobile,Android,iOS,Nucleus等,用于移动终端和PDA的基本都是实时操作系统。
多任务系统有基于 Windows 系统的 Windows CE,Windows XP Embedded,Windows Vista Embedded,以及基于Linux演化的μC Linux;专用于ARM处理器的Arm-Linux等。
值得一提的是,由于Linux系统是当今最为流行的一款开放源代码的操作系统,从1991年问世到现在,不仅在PC平台,还在嵌入式应用中大放光彩,逐渐形成了与其他商业嵌入式系统抗衡的局面。目前正在开发的嵌入式系统中,70%以上的项目选择 Linux作为嵌入式操作系统,特别是在实时性要求不是很严格的应用场合。经过改造后的嵌入式 Linux具有适合于嵌入式系统的特点:
① 内核精简,高性能、稳定;
② 良好的多任务支持;
③ 适合于不同的 CPU 体系架构,支持多种体系架构,如 x86、ARM、MIPS、ALPHA、SPARC等;
④ 可伸缩的结构,使Linux适合于从简单到复杂的各种嵌入式应用;
⑤ 外设接口统一,以设备驱动程序的方式为应用提供统一的外设接口;
⑥ 开放源码,软件资源丰富,结构灵活,适用面广,具有良好的可移植性。
Linux系统在地震仪器及其辅助设备中也有广泛应用。
1.4.4 应用软件
应用软件是完成系统功能的主要软件,它可以由单独的一个任务来实现,也可以由多个并行的任务来实现。嵌入式系统的应用软件与操作系统是紧密结合在一起的。嵌入式系统在移植好操作系统,为了能很好地管理硬件资源,操作系统必须与具体的硬件系统紧密结合,因此在编写具体的应用软件之前必须完成以下两项工作:一是嵌入式系统硬件初始化,另一个是编写与硬件相关的设备驱动程序。
1.嵌入式系统硬件初始化
系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。①片级初始化完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个纯硬件的初始化过程。②板级初始化完成嵌入式微处理器以外的其他硬件设备的初始化。另外,还需设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。③系统级初始化过程以软件初始化为主,主要进行操作系统的初始化。这一过程将嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载并初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。
2.硬件相关的设备驱动程序
与硬件相关的驱动程序是应用软件设计与开发中一个非常关键的环节。硬件相关的设备驱动程序的初始化通常是一个从高到低的过程。
对于一个特定的硬件设备来说,其所对应的设备驱动程序是不同的,如网卡、声卡、键盘、鼠标、显卡、输入/输出端口、A/D等。对于操作系统来说,挂接的设备越多,所需要的设备驱动程序也越多。操作系统本身并没有对种类繁多的硬件设备提供通用的设备驱动,操作系统在没有设备驱动程序支持下是无法正常支配硬件的行为的。这时就需要独立开发一套适合自己产品的设备驱动程序。对于嵌入式系统的开发,更没有通用的驱动程序可以使用。因此,驱动程序开发是整个嵌入式系统设计过程中必不可少的一部分。
设备驱动程序控制了应用程序和硬件设备之间的交互,图1-4-3简单描述了应用程序和设备驱动的关系。
图1-4-3 应用程序和设备驱动之间的关系
设备驱动程序的任务包括自动配置和初始化子程序,负责检测所要驱动的硬件设备是否存在和是否能正常工作。如果该设备正常,则对这个设备及其相关的设备驱动程序需要的软件状态进行初始化。这部分驱动程序仅在初始化时被调用一次。应用程序对驱动程序的具体操作都要通过固定的驱动程序入口。
设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件。应用程序可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能:
① 对设备初始化和释放;
② 把数据从内核传送到硬件和从硬件读取数据;
③ 读取应用程序传送给设备文件的数据和回送应用程序请求的数据;
④ 检测和处理设备出现的错误。
1.4.5 可编程逻辑器件简介
可编程逻辑器件(Programmable Logic Devices,PLD)是20世纪70年代发展起来的一种集成器件。严格地讲它不属于计算机技术的范畴,而是现代电子技术中大规模集成电路技术发展的产物。它是一种半定制的集成电路,将原来需要众多分立数字或逻辑器件来完成的数字系统,通过PLD器件,结合计算机软件技术(EDA技术),可以快速、方便地构建实现。它既继承了ASIC大规模、高集成度、高可靠性的优点,又克服了ASIC设计周期长、投资大、灵活性差的缺点,从而逐步成为复杂数字硬件电路设计的首选器件之一,而在电子系统中采用嵌入式处理器与可编程逻辑器件相结合也成了首选的方案。可以毫不夸张地说,可编程逻辑器件与嵌入式系统的出现使得现代电子系统的设计与制造发生了革命性的变化。
1.可编程逻辑器件的分类
常用的PLD就其集成度而言可分为简单 PLD和复杂 PLD两大类,如图1-4-4所示。简单PLD包括PROM(Programmable Read-Only Memory,可编程只读存储器)、PLA、PAL (Programmable Array Logic,可编程阵列逻辑)、GAL(Generic Array Logic,通用阵列逻辑)等,它们的集成度很低,每只器件中可用的逻辑门在500门以下。复杂 PLD芯片的集成度较高,现在大量使用的CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)、FP-GA(Field Programmable Gate Array,现场可编程门阵列)器件都属于这一类,它们是20世纪80年代中期发展起来的高密度芯片,每只器件可含有上万门可用的逻辑门。另外,还有EPLD(Erasable Programmable Logic Device,可擦除的可编程逻辑器件),迄今生产的绝大多数可编程逻辑器件都是可擦除的了。PROM、EPROM、EEPROM这些存储器也可当作一种可编程器件。它们的与阵列(即地址译码器)是固定的,并且将所有输入变量的最小项全部译出了,而它们的或阵列(即存储阵列)是可编程的,但在实现逻辑函数时,往往只用到一部分最小项,如果用存储器来实现的话芯片的利用率不高。
图1-4-4 PLD按集成度分类
可编程器件从结构上可分为乘积项结构器件和查找表结构器件。前者的基本结构为“与-或阵列”的器件,大部分简单PLD和CPLD都属于这个范畴;后者是由简单的查找表组成可编程门,再构成阵列形式,FPGA属于此类器件。
2.可编程逻辑器件的特点
PLD是电子设计领域中最具活力和发展前途的一项技术,PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74系列电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由地设计一个数字系统。通过软件仿真,可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用 PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。PLD的这些优点使得 PLD技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(VHDL)的进步。
开发 PLD需要了解两个部分:PLD/FPGA开发软件和PLD/FPGA本身。PLD/FPGA开发软件已经发展得相当完善,用户甚至可以不用详细了解 PLD的内部结构,也可以用自己熟悉的方法,如原理图输入或HDL语言来完成相当优秀的PLD设计。PLD/FPGA的开发软件包括Altera公司的QuartusII、Xilinx公司的ISE WebPack、Lattice公司的isplever Base。对于PLD产品,一般分为:基于乘积项(Product-Term)技术、EEPROM(或 Flash)工艺的中小规模PLD,以及基于查找表(Look-Up table)技术、SRAM工艺的大规模 PLD/FPGA。EEP-ROM工艺的PLD密度小,多用于5000门以下的小规模设计,适合做复杂的组合逻辑,如译码。SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。
电子设计自动化(EDA)的实现是与 CPLD/FPGA技术的迅速发展息息相关的。CPLD/FPGA是20世纪80年代中后期出现的,其特点是具有用户可编程的特性。利用 PLD/FP-GA,电子系统设计工程师可以在实验室中设计出专用 IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。
自1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了三十几年的发展历史。在此发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到20世纪90年代的25万个可利用门。目前,国际上现场可编程逻辑器件的著名厂商 Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。
目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入“片上可编程系统”(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好地满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。
3.可编程器件硬件描述语言开发流程
对于用大规模可编程器件来实现具体的功能时,在选择了具体的 PLD器件后,还需要使用硬件描述语言(VHDL/VerilogHD)进行编程并借助于相应的开发系统来完成。用VHDL/VerilogHD 语言开发PLD/FPGA的完整流程为:
① 文本编辑——用任何文本编辑器都可以进行,也可以用专用的 HDL编辑环境。通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件;
② 功能仿真——将文件调入 HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真);
③ 逻辑综合——将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系,逻辑综合软件会生成.edf的EDA工业标准文件;
④ 布局布线,将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内;
⑤ 时序仿真(也称为后仿真)——需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序;
⑥ 编程下载——确认仿真无误后,将文件下载到被开发的PLD器件中。
由于可编程逻辑器件不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、投入少、升级容易且保密性好,随着芯片价格不断降低,使得可编程逻辑器件获得了越来越广泛的应用。在地震勘探仪器中也获得了广泛应用,例如主机系统中的各种接口控制电路,采集站、交叉站、电源站等地面电子系统,以及各种辅助设备无不是采用可编程逻辑器件作为控制电路的。