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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9720|回复: 21

[求助] SATA HOST 传输层要完成哪些状态机?

[复制链接]
发表于 2014-8-28 23:17:48 | 显示全部楼层 |阅读模式
200资产
本帖最后由 goswami 于 2014-8-30 11:44 编辑

正在做SATA2 HOST控制器, 已经完成了最简单的物理层和链路层,按照2.6标准做的,除了休眠和降速外其他的功能基本都实现了,现在要做传输层,请教各位了解硬盘操作的高手,传输层只完成DMA和PIO两个部分就可以工作了吧,象BIST什么的可以不实现么?还有什么功能要完成?

请高手给与指导,谢谢!

 楼主| 发表于 2014-8-29 06:55:05 | 显示全部楼层
补充说明: 现在用的是ML507开发板,暂时只要可以实现流数据(200MB/S)顺序写入SSD就好了, 就这个环境,这种要求,请大家畅所欲言,给我这个对硬盘读写数据流程一无所知的菜鸟一些指导,谢谢!
 楼主| 发表于 2014-8-30 11:36:22 | 显示全部楼层
还有请问一个问题: 链路层传输 流控制的HOLD/HOLDA原语时间超过标准定义的20个周期,实测24个周期,会不会导致硬盘缓存溢出?
个人觉得硬盘设计时应该还有余量,大家怎么看?
 楼主| 发表于 2014-8-30 11:39:43 | 显示全部楼层
流控制原语时间长的另外的原因是重复原语转换为CONTp用了3个周期,这个去掉产生的干扰会不会影响系统电磁兼容,导致传输不可靠
 楼主| 发表于 2014-8-30 11:42:44 | 显示全部楼层
了解一点的都可以随便说,拍砖也欢迎,一个人设计的感觉很不好,希望和大家交流
发表于 2014-8-30 18:25:46 | 显示全部楼层
pt hdd will be good
发表于 2014-8-31 00:37:58 | 显示全部楼层
我想整这200,可惜没本事,只能回复一把
发表于 2014-8-31 09:55:27 | 显示全部楼层
在传输层可以参考PATA协议,只要实现其中DMA相关的几个命令就可以实现对硬盘的读写。CONTp原语是为了防止EMI问题的,可以支持也可以不支持,我的实现里面在发送端就没有支持这个;但是接收端是要支持的。至于HOLD/HOLDA的响应时间,没有实测,应该问题不大。
 楼主| 发表于 2014-8-31 17:05:59 | 显示全部楼层
回复 8# tao2000


请问对SSD,CFA命令可以用么? 硬盘低级格式化,或者硬盘全清为初始态对应的操作是什么? 怎样实现对FLASH进行块ERASE的低级命令? SSD信息什么的要通过REGISTER-HOST TO DISK命令然后DISK用PIO传出,这些机制要实现吗? DISK会不会主动发BIST命令,如果不响应,会不会出错?
 楼主| 发表于 2014-8-31 17:17:56 | 显示全部楼层
回复 8# tao2000

非常感谢您的回复!

我略略看过命令层标准,DMA在实现起来相对是最简单的,相比起来,PIO相关的DATA和NON-DATA命令太多了,看着都晕。REGISTER双向命令传输,这是必然要实现的,请问如果把DMA读写实现了,”PIO完全不理“,流数据存储读取是不是就可以工作了呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 22:53 , Processed in 0.025552 second(s), 8 queries , Gzip On, Redis On.

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