DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1771|回复: 1
打印 上一主题 下一主题

[待整理] 一种专用高速硬盘存储设备的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 09:57:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一种专用高速硬盘存储设备的设计与实现

摘要:介绍一种专用高速硬盘存储设备,可以脱离微机平台实现将高速数据送入SCSI硬盘。给出了该设备的系统结构和硬件设计方法。    关键词:SCSI SCSI协议控制器 高速数据存储
在高速数据采集存储系统中,数据存储是一项关键技术。通常的做法是把数据存入大容量存储器中,采集结束后再进行数据处理和保存。这种方法。持续采集时间受存储器容量的限制,在许多场合可能无法满足要求;而存储器容量的增加,其价格也会成倍增长。因此,从存储容量、读写速度和单位成本等方面综合考虑,采用高速硬盘直接数据存储是很有优势的。
对于硬盘而言,在持续高速数据存储中,关键是它的持续数据传输速率(sustained transfer rate)能否满足要求。目前,15000r/min的小型计算机系统接口SCSI(Small Computer System Interface)硬盘,总线数据传输速率为80~320MB/s,持续数据传输速率大于40MB/s。而PC机普遍配置的IDE硬盘,虽然它的总线数据传输速率可以达到33~100MB/s,但持续数据传输速率只有15MB/s左右,性能低于SCSI硬盘。
本文设计了一种专用高速硬盘存储设备,它脱离微机平台实时将高速数据送入SCSI硬盘,持续存储速率可达35MB/s(使用Seagate公司生产的ST336752LW型硬盘)。

1 SCSI总线及硬盘
SCSI是美国ANSI9.2委员会定义的计算机和外设之间的接口标准,最初是以磁盘存储设备为主,但由于它的灵活性、设备独立等特点,使之不仅在磁带设备、打印设备、光盘驱动设备等外设中得到普遍应用,也在许多I/O设备和计算机网络、计算机工业控制等领域不断发展。随着外设速率的不断提高,SCSI的性能几乎每5年提高一倍,目前Ultra320 SCSI总线数据传输速率可达320MB/s。
SCSI是设备无关的输入输出总线,可以挂接多达8个以上的设备。对于SCSI总线上的设备,如果是任务的触发者,则称为启动设备;如果是任务的执行者,则称为目标设备。通常启动设备先选择一个目标设备,继而由目标设备决定继续控制总线或释放总线,直到完成任务。本文的专用高速硬盘存储设备采用单启动、单目标结构。
SCSI硬盘在标识硬盘扇区时使用了线性的概念,即硬盘只有顺序的第1扇区、第2扇区…第n扇区,不像IDE硬盘的“柱面/磁头/扇区”三维格式。这种线性编排方式访问延时最小,可加快硬盘存取速率,尤其在持续大容量数据存储时,所显现的优势较明显。目前,操作系统内部也使用线性编号的扇区,其目的是加快介质存取速度,加大介质访问容量。
综上所述,该专用高速硬盘存储设备使用SCSI总线不仅数据传输速率高,而且在需要时可以增加设备中的硬盘数量来扩展存储空量,甚至可以把硬盘替换为其它SCSI存储设备。
2 系统结构设计
为了实现SCSI协议和硬盘存储,一般需要有微处理器、DMA控制器、SCSI协议控制器、数据缓存器等硬件支持和相应的软件控制模块。
·微处理器用来控制设备中各部件的工作,实现设备本身的特定功能。该专用高速硬盘存储设备实现数据的持续高速存储,要求处理数据的速度高。通常这些需要传输和处理大量数据的设备均选用数字信号处理器DSP作为微处理器。同时,SCSI协议中许多复杂的控制功能也需要这个微处理器来实现。
·传送大量数据大多会采用直接存储器访问DMA(Direct Memory Access)方式,因此需要独立的DMA控制器或选用内置DMA控制器的微处理器。出于简化电路和提高速率的考虑,该设备采用复杂可编程逻辑器件CPLD构造了一个独立的DMA控制器。
·要实现SCSI协议需要有SCSI协议控制器。DSP中通常不会集成SCSI协议控制器,因此一般情况下,需要选择通用的SCSI协议控制器,辅助DSP实现SCSI协议和通信。
·在设备的输入接口部分,需要有数据缓存单元。普通的存储器在写入的同时不能读取;采用双口随机存储器RAM虽然可以解决并发访问的问题,但它必需的双边地址译码又是不可忽视的问题。对于单纯的数据存储设备,不需要对数据做压缩、信号分析等预处理工作,缓存单元在结构上相当于先进先出(First In First Out,FIFO)队列,先到的数据先被存储。所以采用专用FIFO芯片,可以去掉复杂的缓存器译码电路,大大简化系统设计。而且,采用专用FIFO芯片,整个设备从外部数据接口看来,就是一个写不满的FIFO,也大大简化了对设备数据接口的操作。
专用高速硬盘存储设备的框图如图1所示。图1中各方框表示一个基本模块,括号中文字表示具体实现的器件,虚线左侧部分不属于设备模块。
该高速硬盘存储设备设计中向处理器选用了TI公司生产的TMS320F206,SCSI协议控制器选用了Qlogic公司生产的FAS368M,DMA控制器和其它外围逻辑转换电路选用了ALTERA公司生产的CPLD器件EPM7064。
TMS320C206是TI公司生产的CPLD器件EPM7064。
TMS320C206是TI公司生产的TMS320系列单片数字信号处理器中的一种低价格、高性能的定点DSP芯片。该芯片功耗低,处理能力强,指令周期最短为25ns,运算能力达40MIPS,片内具有32KB的闪烁存储器和4.5KB的RAM,是最早使用闪烁存储器的DSP芯片之一。由于闪烁存储器具有比ROM灵活、比RAM便宜的特点,因此使用TMS320F206不仅降低了成本、减小了体积,同时系统升级也比较方便。
FAS368M是与SCSI-3标准完全兼容的SCSI协议控制器,它支持启动设备与目标设备两种模式,同步数据传输速率为40MB/s。另外,FAS368M支持最大50 MB/s的快速DMA数据传。由于采用分离的微处理器总线和DMA总线结构,因此能以较高速率产生响应而不会造成瓶颈效应。
3 硬件电路及功能描述
TMS320F206、FAS368M、EMP7064和IDT7208之间的具体连接线路如图2所示。
3.1 FAS368M的信号及内部寄存器说明
图2中FAS368M的主要信号和控制逻辑如下:
·ACK、ATM、BSY、CD、IO、MSG、REQ、RST、SD0~15、SDP0~1、SEL及其差分信号,都是FAS368M与SCSI总线的接口信号。
·CS信号是读写FAS368M内部寄存器片选信号。
·RD、WR是FAS368M内部寄存器的读写信号。
·FAS368M的TNI端对应TMS320F206的外部中断INT1,当其有效时,表明有错误产生(如校验出错)、一个事件需要服务(如FAS368M作为目标设备被选中)或已结束某服务(如DMA结束)。
·DREQ,FAS368M使DREQ有效向DMA控制器(EPM7064)发出DMA传输请求。
·DACK,EPM7064对FAS368M DMA请求信号DREQ的响应。
·DBWR,DMA数据写信号。当DREQ和DACK信号均有效时,EPM7064控制该信号和缓存器IDT7208的RD信号,实现数据从IDT7208向FAS368M的同步快速传输。
FAS368M在TMS320F206的控制下实现所有的SCSI物理协议,包括仲裁、选择、消息、命令、数据、状态等各阶段规定的信号电平转化等。在设备中TMS320F206对FAS368M的控制是通过对其寄存器的读写来实现的。

    ·指令寄存器(Command Register),TMS320F206通过向指令寄存器写入相应指令,实现诸如FAS368M的初始化与复位、SCSI总线分配与复位、SCSI总线各阶段的迁移等所有针对FAS358M和SCSI总线的控制。
·FIFO寄存器(FIFO Register)是一个16字的FIFO寄存器,硬盘和FAS368M之间的数据都要通过FIFO寄存器。它有两方面的用途:当FAS368M通过SCSI总线向硬盘传送数据和命令时,可以先把要传送的数据和命令放在FIFO寄存器,等SCSI总线空闲,并获得总线控制权以后再开始传送;另一方面,由SCSI总线传送到FAS368M的数据,也可因为TMS320F206或DMA控制器忙而停止,数据先送到FIFO寄存器空出SCSI总线,等TMS320F206或DMA控制器空闲再从FIFO寄存器读取数据。
·传输计数寄存器(Transfer Count Register)是一个减计数器,它通常用来保存一次DMA命令所要传输数据的字节数。
·中断寄存器(Interrupt Register),FAS368M所有的信息都以中断的方式通知TMS320F206。TMS320F206通过读取中断寄存器和其他状态寄存储器判断FAS368产生中断的原因,决定下一步操作,从而实现FAS368M对TMS320F206的通信。
3.2 EPM7064内部逻辑和作用
设备中的DMA控制器由CPLD器件EPM7064实现,这主要有下面几方面的考虑:
(1)设备接口缓存器采用专用FIFO芯片IDT7208,它的数据总线可以和FAS368M的DMA数据总线直接连接,不需要复杂的缓存器地址译码电路。因此,DMA控制器不需要数据与地址总线,硬件连线可以大大减少。而配合FAS368M DMA数据传输的时序,DMA控制器只需在DMA传输请求信号DREQ有效且IDT7208空信号EF无效时,使DMA传输响应信号DACK有效,随后在时钟信号CLK驱动下连续产生同步的IDT7208读信号RD和DMA写信号DBWR,实现从IDT7208到FAS368M的DMA传输;反之,则使DMA传输响应信号DACK无效,随后停止产生IDT7208读信号RD和DMA写信号DBWR,中断从IDT7208到FAS368M的DMA传输。这些时序逻辑完全可以用一片小的CPLD器件实现,因此选用EPM7064设计了该DMA控制器。
(2)FAS368M支持高达50MB/s的快速DMA传输。一般的专用DMA控制器芯片难以胜任,而且专用DMA控制器与FAS368M的连接需要一定的逻辑转换电路,外围硬件连线也较多。同时,它还必须在TMS320F206的控制下与FAS368M一起协调工作才能实现DMA传输,又增加了软件的复杂程度。
(3)使用EPM7064除了实现DMA控制器的功能外,还可以把整个设备电路中的一些译码、逻辑转换等模块一并设计进去,在很大程序上减小了设备的体积,同时也为设备的改进和升级提供了方便。
在硬件设计的基础上,DSP微处理器还需要一个软件模块负责对相关硬件控制和协调,最终实现SCSI协议、硬盘的控制和DMA传输等。对DSP微处理器的编程,需要完整掌握SCSI-3协议标准和FAS368M的命令集,工作量比较大,同时程序的优劣也关系到系统的存储速度和可靠性。由于篇幅限制,软件设计本文不再多述。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 14:37 , 耗时 0.169131 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表