hello-yeer  

最近调试SATA的一些问题,FPGA是XC7K325T,接口是mSata,接了一个2T的盘。
FPGA里是自己做的SATA3主控器,接上盘后OOB检测通过进入到正常工作状态,正常的话这时候传输层能发FIS包了,但是抓接口上信号发现,device发了一段时间SYNC后,开始发X_RDYp信号,控制器给他回了R_RDYp后依然持续的发,维持在这个状态下退不出来了。

调试:
1、买了个mSATA转SATA3.0的转接卡,连接到PC上,硬盘读写正常;
2、将这个盘接到另外一开板卡上,另一块板卡用的是KU040,能读取SATA信息,读写正常;
3、针对这个问题,改我的SATA控制器,
1)、给他回R_RDYp,不使用cont,无效
2)、做了个超时机制,超过一段时间后不发R_RDYp了,发SYNC,期望能中断device的这个状态,结果无效
3)、在device进入发X_RDYp信号这个状态前,就产生读写请求,device不响应,一段时间后还是开始发X_RDYp信号
做的这些改动其实在手册上也没有找到依据,完全是没办法,病急乱投医的状态,唉~

目前卡住了,在这个状态下。

盘应该是没有问题的,在ku的板子上都能读写,那是哪里的问题呢?
难道是mSata接口上有问题?
查查原理图看看,有没有别的思路。

果然,客户板卡上mSata接口接的有问题,但是真的挺奇怪的,接错了OOB检测还能通过,所以一开始也没有怀疑到硬件上。

mSATA 接口原理图参考
[https://blog.csdn.net/qq_21794157/article/details/124848964](msata、mini pcie 、pcie x4接口引脚定义及原理图方案设计)

posted on 2024-03-17 17:16  hello,叶小叶  阅读(33)  评论(0编辑  收藏  举报