作者:盛翠霞,张涛,陈俊江,姚清华,袁红艳
由于高帧频、大面阵ccd数字相机的图像数据量非常巨大,存储流量超过50mbps。而且图像输出速率也比较高,所以高速图像数据的实时记录是一个不易解决的问题。高帧频、大面阵ccd相机的数字视频存储的一般方案是基于高性能计算机体系结构,把pci总线的视频采集卡与高性能ide硬盘系统或基于pci-scsi桥的scsi存储硬盘系统结合起来完成任务。这种方案实现起来比较容易,但存在总线瓶颈问题,一次存储占用两次pci总线,而且还受到操作系统和文件系统的限制,因而在实际应用中存储速度很难突破40mbps。针对这一问题,本文设计出脱离计算机平台的图像数据存储方式,采用fpga芯片控制时序,运用vhdl语言编程实现微处理器和dma控制功能,从而协调scsi协议处理器实现数据的传输。fpga的运用比单独使用dma控制器减少了电路板的体积,降低了成本,提高了存储的速率。
1 系统的硬件结构设计
实现scsi协议和硬盘存储,通常需要有微处理器、dma控制器、scsi协议控制器、数据缓存器等硬件支持和相应的软件控制模块。而本系统。dma控制通过对fpga编程来实现。图像数据存储系统结构图如图l所示。
1.1微处理器
微处理器负责对各个模块进行协调和控制。本系统所设计的专用高速硬盘存储设备实现数据的持续高速存储,要求处理数据的速度高,因此采用dsp微处理器。微处理器主要功能如下:
(1)完成与外接数据的传输起始、结束控制。
(2)对fpga进行复位、开始操作。
(3)对fas466的初始化操作,对传输的异常情况进行中断处理。
(4)对协议控制芯片内部寄存器的读写控制,从而控制scsi总线的命令传输和状态监控。
对scsi的命令信息进行解释、执行、管理;对来自scsi总线的信息状态进行翻译、执行、管理。
1.2 dma控制器
dma控制器控制数据发送或接收源的数据缓冲器与scsi协议控制器内部缓冲器之间的数据传送,这样通过与协议控制器的dma接口相协调以控制数据源与scsi总线间的数据传送。本设计采用fpga器件,利用vhdl语言编程实现dma控制器功能.而不采用专用的dma控制器,主要考虑以下一些因素:本设计的数据传输速率达到50mbps,而一般的专用dma控制器难以胜任;专用的dma控制器与scsi协议控制芯片之间的连接需要大量的逻辑转换电路和外围连线,使设计难度加大;使用fpga器件,除了完成dma控制功能之外,还可以把电路中的逻辑转换、系统复位等模块设计进去,减小了设备的体积,方便了以后对系统的升级和改进。
1.3 scsi协议处理器(fas466)
scsi协议处理器是scsi总线操作的执行部件,各公司都有专门的scsi集成电路芯片作为协议控制器,如qlogic公司的fas368m、fas466等。fas466(fast architecture scsi processor)处理器是qloglc公司1999年上市的一种高性能scsi引擎,它源于qlogic公司的tec450/452三重嵌入式控制的铝系列,可提供fast40的同步传输速率,它的同步数据宽总线传输速率可达80mbps;支持先进的scsi自动配置模式的1层和2层协议;内部嵌有微控制器,能够通过编程方式灵活地协调scsi作业队列.可以工作在启动或目标模式并支持单端或低电压差分模式的scsi连接。
fas466区别于其他scsi协议处理器的最大特点是:它采用微处理器和dma接口结构,而常见的scsi协议控制器采用pci接口总线结构。这是本设计采用fas466的一个主要原因。采用微处理器和dma接口结构,可以通过dsp对传输进行控制,脱离微机平台,减少传输带宽限制,使数据存储系统具有非常好的灵活性和可移植性。fas466由scsi控制器、微控制器、dma接口和微处理器接口四个模块组成。外部微处理器通过微处理器接口对fas466进行控制,协议控制器接受微处理器的操作指令,如总裁、选择、失连、复位总线等。scsi控制器提供灵活、有效的底层scsi协议控制,微控制器则负责控制数据从dma接口到scsi硬盘的传输以及各个模块之间的协调。fas466的内部结构如图2所示。
1.4 数据缓存器
在设备的输入接口部分,需要有数据缓存单元。数据缓存的目的是为scsi的高速dma传输做好准备,使两边数据传输速度匹配。数据的流向一般是一个口进,一个口出,不对信号进行任何处理。普通的存储器在写入的同时不能读取,双口随机存储器ram虽然也可完成这个任务,但是由于它需要复杂的地址译码电路,所以不采用。采用fifo芯片,可以去掉复杂的缓存器译码电路,大大简化了系统设计。缓存单元在结构上相当于先进先出(first in first out,fifo)队列,即先到的数据先被存储。本设计中fifo选用idt公司的idt72v2113芯片。
2系统的软件设计
软件设计是本系统设计的重点和难点,它负责对相关硬件的控制和协调,最终实现scsi协议、硬盘的控制和dma传输等。软件设计分为scsi控制软件和dma控制器的fpga实现两部分。下面分别进行讨论。
2.1 scsi控制软件
一般来说,要完成一次数据交换必须完成scsi总线的仲裁、选择、消息、命令、数据和状态等阶段。这些阶段,微处理器通过对fas466寄存器的读写控制来实现。
fas466的寄存器主要有:
(1)命令寄存器:dsp通过向命令寄存器写入相应指令,控制fas466完成初始化、复位、总线分配与复位以及scsi总线各个阶段的转变等功能。
(2)fifo寄存器:这是一个128字节的双端口ram,scsi硬盘和fas466之间的数据交换都通过该fif016字(深)的fifo寄存器来完成。
(3)传输计数寄存器:是一个减法计数器,用于保存一次dma数据传输的字节数。
(4)中断寄存器:dsp通过fas466中断寄存器了解scsi命令的执行情况,从而决定程序的执行流向。
scsi控制软件流程如图3所示。首先初始化scsi控制器,然后scsi控制器与scsl硬盘建立同步传输协议,在硬盘准备好的情况下才可以发送各种scsi命令,如读、写等,同时处理好各种意外情况的发生。
2.2 dma控制器的fpga实现设计
fas466外部dma控制器由fpga实现。fas466通过dreq信号有效请求数据传输,当dma控制器检测到dreq有效并且外部fif0非空时,使dack有效并通知fas466开始dma传输。dma控制器的状态机如图4所示。
fpga除了实现fas466的外部dma控制器之外,还实现fas466与外部微处理器的部分逻辑和其他逻辑控制。fpga内部逻辑功能模块如图5所示。
本文在fast-40 scsi协议基础上,对实时高速数字视频scsi存储系统的软硬件进行了设计。利用fas466作为scsi控制器宴现启动器功能,控制两块scsi硬盘实现直接存储,充分利用scsi总线的带宽,从而大幅度提高了系统的效率。初步建立了较完善实用的直接存储的结构体系,实现存储流量达70mbps。为解决大面阵、高帧频ccd数据实时存储奠定了良好的基础。该项技术的解决,将会大力促进在科学研究、军事技术、尤其在航天、航空侦察及高速数据记录领域的应用发展。
区块链应用平台Crown介绍
为什么GPU获得了如此多的缓存?
罗森伯格HPK高压连接器为广大客户创造更大价值
双频超声波清洗机怎么样?
机场航站楼消防应急照明和疏散指示系统设计要点剖析
基于SCSI协议处理器FAS466实现图像数据存储系统的设计
机器视觉知识--手写字体是怎么识别的?
乾照光电宣布全资子公司乾照半导体收到研发投入补助款3000万元
log2在verilog中到底有什么用
科学家使用日常无人机检测和监测浅水区的海洋巨型动物
网络欺诈和DLP将是人工智能网络安全市场增长最快的应用领域
LED设计加速开发 散热模拟必不可少
国家发改委正式宣布“5G+智慧教育”示范应用城市
台湾代工厂09年成绩出炉 鸿海3045亿夺冠
5G的概念以及应用场景介绍
新疆理化所在汞基红外非线性光学材料方面获进展
比例遥控控制系统设计及其原理
自然灾害频发,人工智能如何帮助救灾?
Arm发布Cortex X4,功耗可降低40%!
Intel发布了首款消费级QLC固态硬盘——660p