一文看懂SGPIO协议

目录

1.简介

2.接口列表

3.时序

3.1 Sclok

3.2 Sload

3.3 Sdataout

3.4 Sdatain

4.应用

1.简介

串行通用输入输出(SGPIO)是一种串行通用IO信号的方法。通常用于发起方(如主机总线适配器)和目标方(如背板)之间的通信。目标方通常将输出的串行信号转换为多个并行信号,并通过GPIO提供输入信号。发起方和目标方都可以由一个或多个芯片组成。如果使用多个芯片,它们应协调驱动总线信号。

SGPIO通常用于SATA或SAS等高速存储接口,它有四组接口信号如下图所示:

8b068ca16a654fb785ec35f81ee20652.png

图1 SGPIO

2.接口列表

信号

T/I

描述

Sclok

T

时钟(100k)

Sload

T

当前比特流的结束信号;在下一个时钟开始一个新的比特流

Sdataout

T

串行数据输出比特流

Sdatain

I

串行数据输入比特流,并不是所有的设备都支持Sdatain

注:T表示发起方,I表示目标方。

3.时序

73ced57c73b24489a942ed5e600c1b5c.png

图2 SGPIO时序关系

3.1 Sclok

目标方应使用SClock的下降沿锁定SLoad和SDataOut。发起方应使用SClock的下降沿锁定SDataIn。当不使用SGPIO总线时(例如,在复位期间),发起方应将SClock设置为1(即三态)。当使用SGPIO总线但故意不交换位流时,发起方应将SClock设置为0。这会让目标知道发起程序仍然存在并且尚未删除。

3.2 Sload

SLoad信号指示bit流何时结束并重新启动。SLoad设置为1的时钟周期是位流的最后一个时钟周期。

SLoad设置为1后,发起方应在SLoad的下一个四位位置传输厂商自定义的模式。此后,发起方应将SLoad设置为0,直到它想要重新启动位流。厂商自定义的位用于将独立于驱动器的信息传达给目标方。

通电后,发起方可以使用SClock的第一个上升沿将SLoad设置为1。如果SClock已经为高,并且供应商特定的位0也设置为1,则目标在第一个bit流期间不会与发起方同步。因此,在第一个bit流期间,发起方不应将厂商自定义的位0设置为1。在第四个驱动器(即驱动器3)的第三位位置之前,发起方不得重新启动位流。发起方只应将SLoad设置为1,以便在驱动器的第三位位置期间重新启动位流。需要至少5个连续的0位来区分第一个1值的SLoad和L0到L3可能的1值。为了识别bit流的开始,目标应该检测到5个或更多位的SLoard设置为0,然后检测到它设置为1。

当不使用SGPIO总线时(例如,在复位期间),发起方应将SLoad设置为1(即三态)。 当使用SGPIO总线但不交换bit流时,发起程序应将SLoad设置为0。这会让目标方知道发起程序仍然存在并且尚未删除。

3.3 Sdataout

SDataOut信号携带与目标背板上的磁盘驱动器相关联的输出位。它用于控制LED等指示灯(例如活动、定位和错误指示灯)。

当不使用SGPIO总线时(例如,在复位期间),启动器应将SDataOut设置为1(即三态)。支持相应的驱动器号。

3.4 Sdatain

SDataIn信号携带与目标背板上的磁盘驱动器相关联的输入位。它旨在报告驱动器存在检测等信息(请参阅SATA)。并非所有发起方和目标都支持SDataIn。

4.应用

bbb2f4d9786a45ac8cfcc8dfcc3d00de.png

图3 SGPIO应用与SAS和SATA

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

justiess

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值