SATA协议14种FIS介绍

news/2024/11/28 13:33:03/


FIS(Frame Information Structure)解析

FIS是一种用于Host和device之间信息传输的机制,每个FIS的格式都是固定的,并且对应唯一的ID,SATA Spec定义了14类FIS ID。



但是,实际上,我们用到主要是8类:

FIS Type

FIS IDDiscriptionSize
H2D 27hSend command to drive5 DWs
D2H34hResponds status to host5 DWs
DMA Activate39hActivate a DMA data transfer1 DW
DMA Setup41hStart a DMA data transfer7 DWs
PIO Setup5Fh

 Start a PIO transfer

PIO=Programmed Input/Output 

5 DWs
DATA46hData packet2049 DWs
SDBA1hResponds a command completion for NCQ command2 DWs
BIST58h SATA Built-In Self-Test3 DWs


(1) Register FIS-H2D(27h)

用来传输主机的Shadow Register(可以理解为CPU的传达室)的资料到设备,与ATA/ATAPI指令字和寄存器相容。 


当Device接收到一个有效的Register FIS - H2D,检查C bit的内容,然后更新命令寄存器 / 控制寄存器中的内容中,

C bit为‘1’,Device按照Command Register中的命令执行命令,

C bit为‘0’,Device按照Control Register中的内容执行控制请求。 



(2) Register FIS-D2H(34h)

D2H的作用如下:

  • 从Device送往Host端,传送装置的状态变化。

  • 当Device完成一个命令,向主机报告指令完成的状态。

  • Device用于修改host中shadow block里的command register和control register。



(3) SDB(Set Device Bits)(A1h)

SDB的作用是Device用来改写host 的shadow register中的error或status的某些bits;

这些bits包括Error全部8 bits和Status中的6 bits,

SDB FIS不改变状态寄存器中的bit7 BSY(Busy)、bit3 DRQ(Data Request)。



下表中的“i”表示host在收到该FIS以后,如果shadow status register中BSY和DRQ位都为0时,host进入中断等待状态(实际上表明device进入中断等待状态)



(4) DMA Activate(39h)--Device to Host

DMA Active FIS的特性主要是:

  • Device发送该FIS同意主机以DMA方式向设备发送资料,

  • 是Device对主机DMA写命令的一个回应,

  • 当发送完FIS后,Device必须进入接收DMA资料接收状态, 

  • 每发送一个DMA DATA FIS后,要再次收到DMA Activate FIS才能发送下一个DMA DATA FIS; 



(5) DMA Setup(41h)--Bidirectional

进行DMA操作的第一步,目的是为了建立DMA操作参数。

发送方通过发送这个FIS,要求对方配置好DMA控制器,同时存储空间必须按要求处于准备状态。


     D bit为‘0’,代表发送方传送资料;

     D bit为‘1’,代表接收方传送资料, 传输时一方的D为1,另一方的D为0。

     DMA Transfer Count表示传输Bytes计数。



(6) PIO Setup(5Fh)--Device to Host

由设备发送给主机,告诉主机相关PIO操作参数,包括了在PIO传输前和传输后shadow register的内容。


  • 在PIO传输资料的过程中,Device必须先发送这个FIS给主机,表示Device准备好发送或接受数据。 

  • 与DMA传输一样,每传一个DATA FIS就要一个PIO SETUP FIS传输下一个DATA FIS; 



(7) DATA FIS(46h)--Bidirectional

DATA FIS比较简单,就是用来传输资料,比如说对硬盘的读写操作,

资料包的长度是不定的,除去SOF、EOF、CRC和FIS类型等标志外,最多2048个Dwords。 



(8) BIST Activate(58h)--Bidirectional

让对方进入测试模式,是一个双向可用的FIS,接收方以R_OK回应,完成测试工作之后就进入BIST交换状态了。



http://www.ppmy.cn/news/261241.html

相关文章

机器人之D-H模型建立和推导

D-H建模原理推导 1.1 基本思路 D-H建模具体思路是先分别在每个关节加建立关节坐标系,确定关节刚性连杆参数,再依次将关节变换联系起来,计算出末端执行器相对于参考坐标系的变换关系得到坐标变换矩阵,从而建立机械臂运动学方程。关…

03_D-H参数表的建立

D-H参数表,实际上是相邻各个关节坐标的变换关系表,根据之前针对各个关节所建立的坐标系,按照如下四条变换规则,即可得到D-H参数表。 建立D-H参数表的详细步骤: 根据上图所示机械臂的尺寸参数以及以上六个步骤的变换&am…

机器人正向运动学和D-H参数方法

1 概念 1.1 机器人 本文讨论的机器人,为空间开链连杆机构,其中的运动副(转动副或移动副)常称为关节,关节个数通常即为机器人的自由度数。 即:机器人由一系列关节(Joint)和连杆&…

H265

H265 1、H265一个图像序列的组成:VPSSPSPPSSEI一个I帧若干个P帧。VPS、SPS、PPS、SEI、一个I帧、一个P帧都可以称 为一个NALU。 2、H265的NALU结构:开始码NALU头NALU数据 (1)、开始码大小为四个字节,是一个固定值00 00…

关于D-H参数法建模

关于D-H参数法建模 ​D-H参数法一般有两种定义方式,分别为标准D-H参数法和改进D-H参数法。初学D-H参数法,很容易被这两种定义方式搞晕,因为很多参考书中仅介绍了一种定义方式,而当我们查找资料时看到另一种定义方式时就会很困惑&…

【机器人基础】标准D-H建模法(机器人建模与控制)

重新看了一遍《机器人建模与控制》这本书,感觉之前写的正解的理解还不到位,于是又重新写了这篇总结。这篇文章先更新在知乎里的,因为两个平台的编辑器模式不一样,所以就直接截了知乎的图片放在这里了,大部分还算清晰的…

5w2h原则指的是什么_5W2H指的是什么?

展开全部 5W2H分析法又叫七问分析法,是二战中美国陆军兵器修理部首创。62616964757a686964616fe78988e69d8331333431363636 其简单、方便、易于理解、富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助&#…

6自由度串联机器人D-H建模方法

1. 建立各个连杆的坐标轴 关节i的轴向方向为坐标系i的Zi轴;取Zi-1和Zi轴的公法线方向为Xi-1轴;若两个Z轴相交,则取两个Z轴的叉积方向作为X轴方向。Zi轴和Xi轴交点为坐标系i的原点;右手定则确定Yi轴,Yi =Zi"" Xi2.D-H参数的确定 连杆长度ai-1:沿着Xi-1轴,从Zi-…