SATA调试记录之物理建链失败

问题描述

现象1:在物理层进行建链过程,完成OOB信号的握手以及Dial Tone过程,当Host给DEV发Sync,

Dev仍一直给Host回Align,如下图示:

37f84765a4bf2b4d709015d347f2f301
image

而正确的握手过程如下图:
image

现象2:在物理层进行建链过程,只会完成OOB信号的握手,当Host给Dev进行Dial Tone,Dev不会回复Align原语,如下图示:

image

物理层完成建立链接图示:

image

Host处于空闲时会一直向Dev发送Sync原语,间隔256时钟周期,至少向Dev发送两个连续Align原语(Ps:SATA 规范规定每发送 256 个 dword 至少插入 2 个连续的 ALIGN 原语)

问题原因

经过一顿查找,发送硬件工程师把SERDES的RX P端和N端极性接反了,在GT ip中勾选RX极性设置,调转极性即可解决问题

参考文章以及参考代码链接

参考王博知乎文章
https://zhuanlan.zhihu.com/p/554251608
参考王博的sata接口代码
https://github.com/WangXuan95

posted @ 2025-11-21 15:38  AlwaysComb  阅读(12)  评论(0)    收藏  举报