微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > SCSI总线和协议

SCSI总线和协议

时间:12-15 来源:互联网 点击:

在总线仲裁阶段结束时,总线上有BSY、SEL和与获得总线的SCSI设备的ID,其对应的数据线的信号为“真”。

3.6.3.选择阶段

在选择阶段,得到总线使用权的SCSI设备在总线上选择目标设备,以便随后可以向该目标设各发送诸如读和写这样的命令。这个阶段主要是完成对具有特定SCSIID的设备的选择,其相关协议的定义主要是在SCSI体系结构的互连层。需要注意的是,逻辑单元号LUN的寻址是逻辑单元通过SCSI传输层协议完成的,不在互连层。与LUN编址相关的协议在传输协议层描述。

赢得仲裁的SCSI设备在把BSY和SEL信号置成“真”,经过一小段时延后,即可进入选择阶段。作为发起方,赢得仲裁的SCSI设备不可以把1/0信号置成“真”。在此阶段,发起方需要把与自己的SCSIID对应的数据线的信号和对应所要选择的目标设备的SCSIID的数据线的信号置成“真”,经过一小段时延,再把BSY信号置成“伪”,然后等待目标方的响应。

例如,SCSI ID为6的主机把对应自己的ID的数据线DB(6)和对应目标设备的ID(=6)的数据线DB(0)置成“真”后,数据总线上信号值的状态将如下所示。

DS(0)DS(1)DS(2)DS(3)DS(4)DS(5)DS(6)DS(7)

10000010

此时,只有两个数据线的信号值是“真”。如果有多于两个的数据线为“真”,则目标方认为有误。目标方在SEL和对应它的ID的数据线的信号为“真”并且BSY和I/0信号为“伪”的情况下,就可以确定它自己已经被选为目标设备。此时,目标方设备应该重新把BSY信号置成“真”。发起方在检测到BSY为“真”的信号后,就把SEL信号置成“伪”。特别需要注意的是,在该阶段结束时,BSY信号是由目标方置位的。

3.6.4.重选阶段

SCSI目标设备忙于处理其内部事务(通常是对于执行对存储数据的读或写操作)期间,它可以在等待操作(比如把存储在设备中的数据读入缓冲区或把暂存在缓冲区的数据写入缓冲区)完成时释放总线供其他设备使用,并在操作完成后重新申请对总线的使用权。因此,重选阶段也发生在“总线仲裁阶段”之后。但与选择阶段不同,重选阶段由目标方启动,重新建立由发送方启动成功但被目标方挂断的连接。

在目标设备释放了总线之后,BSY和SEL信号处于被置成“真”的状态。此时日标设备通过把I/0信号置成“真”使自己成为赢得对总线使用权的一方。在重选阶段,目标方也需要把与自已的SCSIID对应的数据线的信号和对应发送方设备的SCSIID的数据线的信号置成“真”,经过一段短的时延,再把BSY信号置成“伪”,然后等待发起方的响应。

发起方在SEL、I/0和对应它的ID的数据线的信号为“真”并且BSY为“伪”的情况下,就可以确定它自己已经被重选。被重选的发起方可以通过查看数据总线来验证重迭的目标方的SCSIID。然后,发起方设各重新把BSY信号置成“真”。目标方在检测到BSY为“真”的信号后,它也执行把BSY驱动成“真”的操作,并把SEL信号置成“伪”。

被重选的发起方在检测到SEL信号为“伪”后,它就把BSY置成“伪”,而目标设备则继续把BSY设置成“真”,直到它放弃对总线的使用权为止。这样,在该阶段结束时,信号的状态与选择阶段一样,也是由目标方设置的BSY信号。

3.6.5.信号传送阶段

命令阶段、数据阶段、状态阶段和通信阶段被组合在一起作为信息传送阶段,因为它们都被用来通过数据总线传送数据或控制信息。SCSI使用C/D、I/0MSG信号区分不同的信息传送阶段以及对应的信息传输方向。目标方驱动这3个信号,控制从一个阶段到另一个阶段的转变。发起方可以通过把ATN信号置成“真”请求一个“通信出”阶段,而目标方可以通过释放MSG、C/D、I/0BSY信号引入总线空闲阶段。信息传送阶段使用一个或多个REQ/ACK握手过程控制信息传送。每个REQ/ACK握手过程允许传送1个或多个字节的信息。因为信息传送阶段一定是在选择阶段或重选阶段之后,所以不改变BSY和SEL信号。事实上,在该阶段,BSY持续为“真”,SEL信号持续为“伪”。

表2-2示出了MSG、C/D和I/0信号值与阶段名及信息传输方向之间的关系。其中的“出”和“入”是相对子发送方设备而言的,且数据传输方向由I/0信号确定。

2-2MSG、C/D和1/0信号值与阶段名及信息传输方向之间的关系

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top