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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11220|回复: 12

[讨论] 关于设计sd卡控制器接口时序的讨论

[复制链接]
发表于 2012-12-15 13:45:21 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 caicaixuehua 于 2012-12-15 13:48 编辑

如图,sd卡Bus Timing (Default)如下:
   sd_bus_timing_default.jpg
                                                              图1

则接口时序我认为可以设计如下(不知能否行的通):
(1)以此时序,sd控制器接口以clk为时钟,则需要在下降沿向sd 卡发数据,上升沿接收sd
       如果像这样设计,则sd控制器接口时序逻辑中,时钟上升沿、下降沿都会用到,综合或者后端需要特别考虑时钟
(2)或者,sd控制器接口设计成在发数据,收数据都在上升沿(如下图,上升沿发数据)
sd_ctrl.bmp
                                                图2

      如果像这样设计,sd卡控制器逻辑只用时钟的上升沿,那必须要保证图1中的tIH(文档中它的值为5ns) ,才能让sd卡正确收到数据,
即如 图2 , sd卡控制器在时钟上升沿a发数据d0,在时钟上升沿c发d1, 则c到d的数据d1的输出延迟必须保证,才能使sd卡在时钟上升沿c处可靠收到数据d0,则这个输出延迟必须要让综合或者后端去保证。



求大家不吝赐教,积极讨论,不知道我这两个分析是否正确,如果正确,哪个会更好一些呢?
在这里谢谢大家了。
发表于 2012-12-17 10:27:59 | 显示全部楼层
当然SD协议我不大了解, 两者方案都可以的实现,如果你的接口是用在两芯片之间的话, 你都可以用set_output_delay 或者set_input_delay 来约束数据和时钟之间的关系。
发表于 2012-12-17 15:39:39 | 显示全部楼层
设计合适的IO-BUFFER,对调整时序也不错
 楼主| 发表于 2012-12-17 18:50:14 | 显示全部楼层
回复 2# 教父


谢谢, 就是用在芯片之间的(比如一个读卡器),但不知道那种要好一点,或者整体实现简单一点(包括综合,后端等)
发表于 2012-12-17 21:59:28 | 显示全部楼层
都可以,第一种方法时钟下降沿采样之后下一拍你肯定会上升沿打,这个时候的走线延时要小于半个时钟周期是要注意的,第二种方法就是要通过io_delay保持好时钟与数据的关系。
另外还要看你的时钟是随路的还是系统同步的,还有板上的延时
发表于 2012-12-27 00:10:36 | 显示全部楼层
最近做SD卡的接口好像遇到了这个问题,采数据不稳定
发表于 2012-12-27 00:44:26 | 显示全部楼层
我的板子是xilinx的FPGA,如果要做类似于altera的set_output_delay 或者set_input_delay 怎么做,楼主知道否?
发表于 2012-12-27 01:03:01 | 显示全部楼层
我现在做的SD卡接口是简单的SPI模式的,时钟是24MHz,上板实调发现,其中两张卡可以成功初始化,但是读写操作不能正确响应,而且SD卡的反应是随机的,而另一张卡连CMD0都无响应。例如:
写操作,有可能写完成而且收到SD卡返回的状态后,SD卡的数据输出端就一直为低,这样FPGA就一直认为SD卡处于忙的状态;
读操作,SD卡收到读命令之后,正确返回0x00h,然后FPGA等待开始令牌0xFEh,但是SD卡的数据输出端一直为高,这样FPGA就一直等待;
从仿真上来看,功能是没有问题的,由于没有SD卡的仿真模型,没法做时序仿真,我现在开始怀疑是不是真的是时钟和数据线延迟的问题。
 楼主| 发表于 2013-1-1 01:58:15 | 显示全部楼层
回复 7# arccosx

以我看了几周的dc文档的理解,set_output_delay ,set_input_delay好像不能解决我上面说的那个问题(具体没有做过,不知道),不过可以用楼上说的想办法调整io脚输出的时钟和数据之间的时序,以满足协议上的时序要求。
 楼主| 发表于 2013-1-3 17:10:49 | 显示全部楼层
回复 7# arccosx


   具体还是要看看xlinx的约束文档吧,这个我也不是很清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-5 12:49 , Processed in 0.034401 second(s), 10 queries , Gzip On, Redis On.

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