在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7918|回复: 22

[求助] 使用xilinx v5 gtp 实现的sata phy与sata pm通信的问题

[复制链接]
发表于 2013-12-9 09:56:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
现在在做一个关于sata的项目,使用v5的芯片,利用gtp实现sata phy,与sata pm进行通信。出现了一个很难解决的问题(自认为),问题是这样的:sata phy和sata pm之间的数据传输很不稳定,有时能成功,有时又不可以。在系统稳定的情况下是可以识别到连接在pm上的硬盘的,但是在系统不稳定的情况下,连pm的初始化都过不了!!
      具体是这样的sata phy通过gtp想sata pm发送一些数据请求,例如pm初始化流程,从chipscope可以看到sata phy已经向gtp发送了P_X_RDY(数据准备好,等待pm应答),但是大部分情况下都是一直收不到的pm的P_R_RDY数据信号(pm准备好数据接收,sata phy开始发送数据)。
      sata pm是直接买的芯片,手里也没有示波器之类的工具。现在是完全不知道该怎么调试,从那个方向去调试,请大侠们指教啊!!
      对于我遇到的问题,有什么不明白的地方,可以直接发帖问我。
 楼主| 发表于 2013-12-9 11:02:51 | 显示全部楼层
请用过GTP或者GTX的老大们指教啊!!!!
 楼主| 发表于 2013-12-11 19:39:24 | 显示全部楼层
求大侠啊!!!!!!!!!!!!!!!!
发表于 2013-12-17 18:06:30 | 显示全部楼层
你收不到R_RDY,很可能是因为PM没有收到设备的R_RDY,因为PM是等到设备准备好以后才给host发R_RDY的
 楼主| 发表于 2013-12-19 08:57:12 | 显示全部楼层
回复 4# littlebag


    搞了这么长时间,试着修改了参数、时钟、复位等,还是不行。目前也不确定是gtp没有把X_RDY发出去,还是PM没有收到。我打算用两块板子上的外接GTP测试一下两端的数据稳定性。不知道你有没有什么好的分析方法?
 楼主| 发表于 2013-12-19 09:00:29 | 显示全部楼层
回复 4# littlebag


    是这样吗?pm好像是不需要等待设备的R_RDY的,我看过PM和SATA的协议,应该是SATA识别到PM后才去识别PM上有没有连接设备。
 楼主| 发表于 2013-12-19 11:09:43 | 显示全部楼层
回复 4# littlebag


    我描述得不够全面,我现在得问题是 出现在 PM 初始化阶段,并不是后续得数据传输。
发表于 2013-12-20 13:00:03 | 显示全部楼层
本帖最后由 littlebag 于 2013-12-20 13:21 编辑

回复 7# ino1988


    如果是参照XAPP870的参数配置,只要你把XRDY给到了GTP的TX_DATA口,并且tx_char_is_k正确,发送应该就没有问题了。你发了XRDY而PM没有反应,很可能是你的SATA initialization过程出了问题,要确定经历了COMRESET,COMINIT,COMWAKE,ALIGN这几个过程。如果没有建立链路层的链接,你发什么PM都是不会有响应的。
 楼主| 发表于 2013-12-22 09:19:14 | 显示全部楼层
回复 8# littlebag


    是的,也有可能是链路状态发生了变化,链路断掉了,我再好好查一下
 楼主| 发表于 2014-1-10 17:19:57 | 显示全部楼层
回复 8# littlebag


    你好,我使用v5vlx100t的gtx做了个sata device的phy层,测试了一下gtp发送的数据到底有没有到达sata pm。在chipscope中能够观察到下面三种情况的数据:
1、gtx接收到的某些数据应该是有一位的偏差,比如gtp在oob过程中发送的d10.2(0x4A4A4A4A),gtx上接收到的是0xB5B5B5B5,我查了它们的8b10b编码,分别是010101 0101和101010 1010,也就是说这两个数据之间最有可能的情况是在数据传输的过程中发生了一位bit的偏差。
一般经过几次oob内的硬复位后,就会出现正确的数据。(这个是oob过程中的)

2、gtx接收到错误数据,报的错是8b10b极性错误(这个是sata数据过程中的,比如xrdy信号,这个应该也是bit偏移导致的,后面我会查一些这些数据的问题)

3、正确的数据

这三种情况会出现在同一个工程的不同时间。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 07:35 , Processed in 0.022246 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表