b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

用FPGA来实现SATA硬盘的脱机读写的协议

电脑杂谈  发布时间:2021-02-22 03:04:51  来源:网络整理

在前5篇文章中,我们简要分析了SATA协议的内容。可以看出,与并行端口硬盘使用的PATA协议相比,SATA技术更为复杂,具有许多数据处理链接和多种处理方法。

以前,对于8位单片机,通过使用两个端口,可以在PIO模式下读写IDE硬盘。但是对于SATA硬盘驱动器,无法使用此方法。 1. 5Gbps,3. 0Gbps,6. 0Gbps高速串行信号太快,请考虑一下CPU的速度。那么,如何以如此高的速度实现对SATA硬盘的离线读写呢?一种方法是设计ASIC,它过于昂贵且具有成本效益。一种方法是使用SATA到PATA桥,例如Marvell和JMicro的桥芯片。优点很简单,但缺点是速度不快。您希望最高的PATA仅为133MB / s,最低的SATA可以为150MB / s。因此,最好的成本效益方法是使用FPGA实现SATA接口,以FPGA作为主机端,以SATA硬盘为设备端,离线读写SATA硬盘。

作为通用芯片,FPGA可以轻松处理这种高速接口,例如千兆以太网,FC和PCIE。目前,高端FPGA已集成了高速GTP,GTX等,利用这些高速,可以实现SATA的物理层前端。下面,我们将对SATA接口物理层的实现进行详细的分析和介绍。

SATA协议的物理层使用高速差分信号进行数据传输,支持OOB信号,物理层速率为1. 5- 6. 0Gbps,使用普通I / O不能实现FPGA,以及特殊需要用于设计要求的器件。在此阶段,许多FPGA公司已经设计了具有硬核的FPGA以支持高速串行传输。 Xilinx的Virtex5系列就是其中之一。 Rocket IO是Virtex5系列中集成的灵活且可配置的数千个功能。兆位串行,LXT系列的集成GTP支持600Mbps〜3. 125Gbps的数据传输速率,FXT系列的集成GTX支持500Mbps〜6. 5Gbps的数据传输速率IO支持SATA协议物理层的OOB信号,因此Rocket IO可以理想地应用于SATA协议物理层的实现。

物理层的总体如下图1所示。它主要包括高速串行链接的实现和OOB控制模块。 Rocked IO MGT是Xilinx的Virtex-5 FX芯片中集成的千兆位,可用于实现1. 5Gbps和3. 0Gbps物理层高速串行通信,提供20位宽的并行数据接口。 OOB控制模块通过逻辑状态机实现OOB信号的检测和传输,并实现通信连接的建立。物理层接口模块为链路层提供了标准的访问接口。

硬盘数据恢复设备

图1物理层

物理层中使用的RocketIO由物理介质附加子层(PMA)和物理编码子层(PCS)组成。内部主要功能框图如图2、所示。图3. PMA包括串行器/解串器(SERDES),TX和RX输入/输出缓冲器,时钟发生器和时钟恢复电路。 PCS包括8B / 10B编码器/,加扰器/​​解扰器以及支持通道绑定和时钟校正的弹性缓冲区。

硬盘数据恢复设备

硬盘低格后数据能恢复吗_硬盘低格后数据能恢复_硬盘数据恢复设备

图2 RocketIO内部结构1

硬盘数据恢复设备

图3图2 RocketIO内部结构2

完整的GTP_DUAL由GTP0和GTP1组成。以上只是GTP0的结构。 GTP1相同,在中间共享诸如时钟重置之类的模块,以节省面积和功耗。上部是发送端,下部是接收端。如虚线所示,可以在未连接硬盘时执行内部测试。将发送差分端口连接到接收端,以检查接收端的并行数据是否与发送端一致。

PMA是物理介质附件,它是指物理介质附件子层,并且是高速操作的关键组件。内置串行到并行转换模块,串行时钟高达并行时钟的20倍,这是通过锁相环(PLL)实现的。由于频率越高,信号衰减越严重,因此使用传输预加重和接收均衡来补偿信号的高频分量,以保持信号完整性。 CDR代表时钟数据恢复,代表时钟数据恢复电路,该电路使用锁相环技术从串行代码流中提取时钟信息。 PCS的另一部分是“物理编码子层”,它是指对并行代码流进行编码的物理编码子层。 COMMA字符是ALIGN的第一个字节。它包含COMMA序列,即字符的前七个位是0011111或1100000。检测到此字符有助于识别正确的字节边界。 PRBS是一个伪随机二进制序列,用于测试数据的误码率。在此不再重复8B / 10B编码和CRC校验。所有功能选项均已在图3中标记,可以根据系统要求自由配置。

SATA物理链接建立过程:

(1)主机已上电,主机发送COMRESET信号进行硬件复位,此后物理链路进入空闲状态; <​​/ p>

(2)设备上电,设备接收到COMRESET信号,并在检测到物理链路释放后发送COMINIT信号;

(3)主机收到COMINIT信号后,首先对接收到的信号进行去抖动处理。确认检测到COMINIT信号后,主机发送COMWAKE信号,然后释放链接;

硬盘低格后数据能恢复吗_硬盘低格后数据能恢复_硬盘数据恢复设备

(4)接收到主机发送的COMWAKE信号后,设备在链路空闲时发送COMWAKE信号;

(5)发送COMWAKE信号后,设备以支持的最高速度发送ALIGNp原语,然后设备开始等待主机发送的ALIGNp原语;

(6)主机检测到设备发送的COMWAKE信号并等待总线释放后,主机开始发送D1 0. 2个字符,等待来自设备ALIGNp的87 3.8μs原语,在接收到ALIGNp原语之后,根据接收到的ALIGNp原语确定链接速度,然后以确定的速度发送ALIGNp原语,然后确定是否连续3个非ALGNp原语(以K2 8. 3)接收到来自设备的数据,建立链接,主机开始从链路层发送数据并保持此状态;如果主机等待87 3.8μs,但仍未收到3个非ALIGNp原语,主机认为当前的链接初始化失败。主机重新启动链接层初始化;

(7)设备等待来自主机的ALIGNp原语。当它等待5 4.6μs并且仍未收到ALIGNp原语时,设备将降低速度模式,重新发送ALIGNp原语,然后重复执行主机接收到ALIGNp原语后,设备开始从链路层发送数据;如果在最低速度模式下等待5 4.6μs后仍未收到ALIGNp原语,则设备认为当前的链接初始化错误。设备将执行错误处理,然后进入空闲状态。

硬盘数据恢复设备

图4物理层初始化过程

SATA物理链路初始化过程的实现:

Xilinx的FPGA开发工具ISE提供了GTP生成向导,该向导可以实现SATA协议的物理层定义的功能。由于FPGA上有丰富的存储资源,因此通过在存储器中预合并ALIGN来发送OOB信号,然后控制存储器的读取时间和间隔时间来完成。因此,使用FPGA实现SATA协议物理层的主要任务是设计联合逻辑,控制GTP完成SATA协议初始化功能,并设计SATA协议初始化流程图,如图5所示。

需要严格按照协议与主机合作完成初始化过程。设备上电后,首先检测到COMRESET信号。当检测到COMRESET信号且链路空闲时,它将发送COMINIT信号并等待主机的响应。如果在10ms内未收到主机响应,则设备将返回到上电复位状态,如果在10ms内检测到主机发送的COMWAKE信号,并等待主机释放发送信号线,设备会向主机启动COMWAKE信号,然后设备以支持的最高速率发送同步原语ALIGNp,然后等待主机返回ALIGNp原语。如果在5 4.6μs内未检测到主机发送的ALIGNp原语,则设备将进入缩减模式状态并降低传输速率。如果当前传输模式为最低传输模式,则设备初始化失败,并且处理错误并返回上电复位状态。如果当前设备不在最低传输模式下,则该设备将降低速率并重新开始发送ALIGNp原语。当检测到主机发送的ALIGNp原语时,设备与主机之间的链接将建立连接,SATA物理链接已成功初始化,然后可以开始数据帧交互。

硬盘低格后数据能恢复_硬盘低格后数据能恢复吗_硬盘数据恢复设备

硬盘数据恢复设备

图5 SATA物理层初始化流程图

选择Rocket IO GTP作为SATA协议物理层的高速串行数据/可以简化SATA物理层的设计过程。通过分析SATA协议物理层链路的连接过程,可以设计出OOB信号控制状态机,并利用FPGA控制的Rocket IO GTP来完成SATA协议初始化功能,实现SATA物理层的功能。

简而言之,SATA物理层的实现是配置GTP的两个关键点并设计OOB信号处理状态机。处理完这两点后,即可实现SATA接口的物理层。后续文章将依次介绍SATA链路层,传输层,命令层和应用层的实现方法和技巧。

关于DAS技术

Dass Technology是国家级高新技术企业,是数据恢复和取证行业的知名品牌天津市国家安全局唯一的秘密相关载体的数据恢复合作单位。技术研发为核心生产力的企业。甚至亚洲领先的数据恢复和取证技术!

Dass Technology中国数据恢复和取证专家!:

有关互联网的更多数据恢复和取证技术,请关注微信公众号:woocs

微信ID:woocs

硬盘数据恢复设备


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-359605-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...