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

SCSI 总线和协议

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

3.6.5. 信号传送阶段

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

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

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


MSG

CID

1/0

阶段

具体阶段

传输方向

1

0

0

*(未用)

1

0

1

*(末用)

1

1

0

通信

通信出

从发送方到目标方

1

1

1

通信

通信入

从目标方到发送方

0

0

0

数据

数据出

从发送方到目标方

0

0

1

数据

数据入

从目标方到发送方

0

1

0

命令

从发送方到目标方

0

1

1

状态

从目标方到发送方


注释:0=伪,1=真,*=保留未来定义

命令阶段允许目标方请求发起方传送命令信息。在命令阶段的REQ/ACK握手过程中,目标方把C/D信号置成“真”,把I/0信号和MSG信号置成“伪”。

数据阶段包括“数据入”阶段和“数据出”阶段。

(1)“数据入”阶段允许目标方请求把数据从目标方传送给发起方。在“数据入”阶段的REQ/ACK握手过程中,目标方把I/0信号置成“真”,把C/D信号和MSG信号置成“伪”。

(2)“数据出”阶段允许目标方请求把数据从发起方传送到目标方。在“数据出”阶段的REQ/ACK握手过程中,目标方把C/D信号、I/0信号和MSG信号都置成“真”。

状态阶段允许目标方请求把状态信息从目标方传送给发起方。在状态阶段的REQ/ACK握手过程中,目标方把C/D信号和I/0信号置成“真”,把MSG信号置成“伪”。

通信阶段可以是“通信入”阶段或“通信出”阶段。无论是在“通信入”阶段,还是在“通信出”阶段,都可以传送多条消息。传送的第一个字节可以是单字节消息,也可以是多字节消息的首字节。在1个通信阶段可以传送多个多字节消息。

“通信入”阶段允许目标方请求把消息从目标方发送给发起方。在“通信入”阶段的REQ/ACK握手过程中,目标方把C/D信号、I/0信号和MSG信号都置成“真”。

“通信出”阶段允许目标方请求把消息从发起方传送到目标方。目标方在响应发起方建立的提醒条件时调用“通信出”阶段。在“通信出”阶段的REQ/ACK握手过程中,目标方把C/D信号和MSG信号置成“真”,把I/0信号置成“伪”。

3.7 异步传输和同步传输

与传统网络的数据包传送方式不同,SCSI 基于REQ/ACK 信号控制数据传输的过程。 根据REQ和ACK信号控制与数据总线置位时间的差别,信息传输又可分为异步传输和同步传输两个列别。 而且,无论传输的方向如何,信息的传输都是由REQ信号开始,并且REQ信号都是由目标方控制和发送的。

1. 异步信息传输

异步传输方式可用于数据阶段的数据传输,也可用于命令、状态和通信阶段的信息传输。首先,信息传输的方向是由I/O信号决定的。如果I/O信号为“真”,那么信息是由目标方向发起方传输。在此情况下,为了传送信息,目标方先把数据线DB(7/15-0,P)信号置成对应想要传送的二进制数位序列的值,然后把REQ信号置成“真”。发起方在检测到REQ为“真”时,读取数据总线的值,然后把ACK信号置成“真”。当目标方检测到ACK为“真”时,它就可以改变或取消放置在数据总线上的值,并把REQ置成“伪”。发起方在检测到REQ置成“伪”时把ACK也置成“伪”。当目标方检测到ACK为“伪”时,总线上就完成了一次数据传输,并可进行下一次数据传输。

在异步传输方式中,每个REQ/ACK握手过程传送1个(对于窄SCSI)或2个字节(对于宽SCSI)的信息。特别需要注意的是,在此

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

网站地图

Top