摘要:超高帧频实时图像的长序列采集存储一直是难于解决的问题。本文基于SCSI总线的理论体系,提出一种新的图像数据采集存储系统的技术方案和体系结构,并设计出一种超高速、数字化、嵌入式系统样机。试验结果表明在多通道同时使用的情况下,采集与存储速率达到了100Mb/s,满足了1000帧/s的黑白数字图像直接存硬盘技术需要,验证了此系统的有效性。
关键词:超高速 SCSI 实时存储 图像
引言
目前,对高速数字图像的采集与存储的需求越来越大,但大多数此类系统都依赖速微机、高速图像采集卡和超大容量内存。满足这些条件必然使成本成倍增高,价格昂贵,且它有一个很大的缺点是容量小,即便是使用超大容量内存,其增扩的容量也只能达到几G字节的量级,如果再增大容量,系统的体积和成本已不允许。因此,应用范围受到限制。
基于冗余磁盘阵列RAID(Redundant Arrays of Inexpensive Disks)技术的应用日渐广泛。虽然它利用了磁盘的超大容量、体积小巧的优势,通过磁盘阵列结构解决了快速CPU和慢速的磁盘I/O之间的“瓶颈”难关,达到了高速大容量存储的目的;但是它结构复杂,磁盘冗余导致成本较高。
为了充分发挥各种技术的优势,本文基于SCSI总线的理论体系,设计出一种以SCSI硬盘为存储载体,由单片机控制的超高速、数字化图像数据采集与存储系统。超高速是指它能够实时存储千帧每秒的视频图像,数据率约是100Mb/s;数字化是指从高速相机的输出全为数字化,存储也全为数字量。它能脱离微机系统而单独完全采集存储的工作,操作简单而实用。下面从技术方案和体系结构来介绍本系统。
一、系统的技术方案及体系结构
对于超高速、大容量实时视频图像存储系统,存储时间和速率是最高要的技术指标,但存储介质的长时间的传输速率,即它们的持续传输速率又是最重要的。存储介质的猝发传输速率和内部传输速率都不能作为实时存储系统的衡量指标。普通的IDE接口硬盘,虽然其猝发传输速率和总线传输速率都能在33Mb/s以上,但实际上持续传输速率还不到5Mb/s,远不能达到要求。相比之下,SCSI硬盘的持续传输速率明显高于IDE接口硬盘。目前,10000转的SCSI硬盘的持续传输率大多数都能达到25Mb/s。如果让几个SCSI硬盘并行工作,那么总的传输率达到100Mb/s是可以实现的。
1.SCSI总线系统及特点
SCSI(Small Computer System Interface),即小型计算机系统接口,是美国ANSI9.2委员会定义的计算机和外设之间的接口标准。起初是以磁盘存储设备为主,但由于它的灵活性、设备独立性等特点,使SCSI不仅在磁带设备、打印设备、CD-ROM WORM等外设中得到普遍应用,也在许多新I/O设备和计算机网络、计算机工业控制等领域不断发展。图1是SCSI典型的系统结构图。
在SCSI系统中,多个设备可以用同一电缆相连。在8位SCSI数据线情况下,可以挂接8个外设;而现在的Ultera
SCSI可以达到32位数据线,能挂接32个外设。在任意时刻,只能有两个设备可相互通信,其中发送命令的设备叫启动设备(initiator),执行命令的设备叫目标设备(target)。SCSI上设备的唯一标识是SCSI
ID,它既是设备的地址,也是设备优先级代码。SCSI中的操作是由启动设备启动的,启动设备先选择一个目标设备,在目标设备选择完成后,目标设备在协议上获得对总线的控制权,由目标设备决定是继续控制总线还是释放总线。SCSI设备之间没有主从关系,一个设备既可成为启动设备,也可以起目标设备的作用。计算机上的SCSI适配器是典型的启动设备。SCSI接口硬盘是典型的Target。在SCSI总线上,可以存在于多个启动设备和多个目标设备,但一个系统中至少应该有一个启动设备和一个目标设备。图1是典型的多启动设备多目标设备系统。除此之外,还有单启动设备多目标设备、单启动设备单目标设备。本文的高速数据存储系统采用单启动设备目标设备系统结构。
SCSI虽然有其独有特点,但接口控制复杂。任何一个SCSI系统都具有适配器和控制器相配对的结构,通常适配器就是上面所说的启动设备。适配器的复杂性在于必须从硬件和软件两部分实现SCSI设备与各种操作系统的接口。软件要完成把SCSI命令解释给操作系统和把操作系统的操作命令翻译给SCSI设备;硬件要完成SCSI总线的各种时序和内部电路的控制。
2.系统方案的制定
根据SCSI协议,消息、命令、数据、状态四个阶段统称为信息阶段,这是因为它们都是通过数据总线传送数据和控制信息的。其中消息、命令和状态的传输采用异步方式,数据的传输可用异步和同步两种方式。
理想情况下,异步传输一个字节只需要一个系统平衡延时加一个电缆延时差,其时值为45ns+4ns=49ns,实际上应考虑信号的跳变时值和总线传输延时。分析认为,异步方式下,传输一个字节需要4个跳变加上它们在电缆上的传输延时。其典型传输时间可以计算为
t=4×5.25×L+4×30
其中,t为一个字节的传输时间,单位为ns;L为电缆长度,单位为m。在电缆为1m长的情况下,传输速率约为7.1Mb/s。
同步传输机制引入了同步偏移和总线缓冲的概念,即目标设备可以连续发若干个REQ信号而不需要启动设备的ACK马上回答。这样就大大减少了总线传输延时,从而提高了传输速率。因此,本系统以16位数据同步传输为基础进行设计。
结合以上的分析,实时图像数据采集存储系统可用SCSI硬盘作为存储介质;多个SCSI硬盘并行工作以求速度的成倍提高;图像数据的采集源选用高速数字相机,以千帧每秒的速率分多路输出,每路的数据宽度可以是8位或16位。再设计相应的接口控制电路控制软件,加上附属电路构成。体系结构如图2所示。
3.系统的体系结构和功能描述
(1)单片机
单片机的主要功能如下:
*对SCSI总线信息状态进行翻译、执行、管理;
*负责对主机与缓冲器、缓冲器与SCSI总线之间的数据传送控制;
*控制DMA控制器。
单片机通过缓冲器与SCSI接口控制电路交换信息,包括命令描述和状态消息等。单片机对SCSI总线的控制是通过协议控制器实现的。为了完成一个I/O进程,单片机把进程分为仲裁、选择、数据传输等阶段,并分别以相应的内部控制命令交给协议控制器执行。
(2)数字图像接口电路
主要完成视频信号的数字转换和后续的逻辑控制。另外,有时8位的数据宽度对于后面的高速存储任务来讲是不够的,必须依靠此电路来转为16位宽或32位宽。
(3)SCSI总线控制器
这是SCSI总线来操作的执行部件,一般称为适配器。SCSI总线的时序很复杂也很有规律,规律是指SCSI总线的所操作都是由8个独立的总线阶段组成的,它们分别是:总线空闲、仲裁、选择、消息、命令、数据输入、数据输出及状态阶段。它们之间的迁移有着严格的规定,图3是SCSI的阶段迁移图。适配器接受微处理器的操作指令,如仲裁、选择、失连、复位总线等。适配器是启动设备,是发出命令的一方(在微处理器控制下)。硬盘是目标设备,它的响应信息和返回状态等都由徽处理器分析,并决定适配器的下一步操作。另外,启动I/O进程,参加仲裁、竞争总线、选择目标设备等都是由微处理器控制操作的。
(4)DMA控制器
适配器中的DMA控制器,一是控制图像数字接口电路与缓冲器之间的数据传送;二是控制缓冲器和SCSI总线之间的数据传送,也可以通过缓冲器直接控制图像接口电路和SCSI总线之间的数据传送。
二、实验结果
系统结构后,用IBM生产的DDRS34560型硬盘和DMVS-09V型硬盘做数据传输实验,两种硬盘的性能指标如表1所列。分析传输320MB数据和1GB数据的结果如表2所列。
表1
型 号 | DDRS34560 | DMVS-09V |
容量/GB | 4.5 | 9.1 |
接口类型 | Ultra2 SCSI | Ultera2 SCSI |
转速/(r*min-1) | 7200 | 10000 |
最大外部传速输率/(MB*s-1) | 20 | 80 |
持续传输速率/(MB*s-1) | 8.6-12.3 | 15.2-29.5 |
平均寻道时间/ms | 4.9 | 7.5 |
数据缓存/B | 512K | 2M |
表2
型 号 | 传输数据量/B | 耗时/s | 速率/(MB/s) |
DDRS34560 | 320M | 26 | 12.3 |
1G | 110 | 11.6 | |
DMVS-09V | 320M | 12 | 26.67 |
1G | 39 | 25.6 |
用加拿大的DALSA公司的CA-D6-256型高速相机输出955帧/s的260×260×8bit视频图像,本系统可以实时地无压缩并行存储到多个硬盘,记录时间在30min以上。
实践证明了本文论述的超高速实时图像存储系统是能实现的。