SCSI 总线和协议
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)的信息。特别需要注意的是,在此
SCSI总线协 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)