edisontang 发表于 2007-8-30 08:52

时序匹配

在外扩外部设备,flash或sdram的时候,需要通过cpu的寄存器来设置Tcos,Tacs,Tacc等一些时间的设置以达到时序的匹配。<br /><br />问题:<br />1.与此相关的时间参数究竟有哪些(除了Tcos,Tacs,Tacc),这些参数的真正含义是什么?对于软件开发人员需要注意什么呢?<br /><br />2.这些值究竟如何设置,才能达到一个时序的匹配?是否有一个什么公式(比如setup&nbsp;time和hold&nbsp;time达到什么样的要求就可以了)?<br /><br />3.怎么样通过看cpu和外部设备的时序图,来取一个合适的值呢?

computer00 发表于 2007-8-30 09:10

看被访问芯片的数据手册,它的时序图上有具体的时间要求

你按照时间要求来配置各个参数就行了。有些时间可以长,但是不能短,只是效率会低一些,例如访问时间。有些可以短但不能长,例如刷新,但刷新太快浪费资源。

edisontang 发表于 2007-8-30 13:24

很感谢你的回复。

很感谢你的回复。<br /><br />不知您能是否可以详细说明一下,哪些参数只能长,不能短?哪些参数只能短,不能长?<br /><br />我看过cpu和外设的时序图之后,还是不能知道外设的时间参数和cpu的时间参数之间的关系,比如是否cpu的时间参数要比外设的时间参数要来得长呢?可以拿Tcos,Tacs,Tacc这些参数举例。<br /><br />多谢了!

computer00 发表于 2007-8-30 15:57

是的。

edisontang 发表于 2007-8-30 16:05

好像没有详细啊

呵呵,还请麻烦你一下,多谢了!

armecos 发表于 2007-8-30 17:54

数字电路最关键的是在正确位置采样,

&nbsp;&nbsp;&nbsp;&nbsp;还有正确判决电平。判决电平和基准电压、噪声有关。采样准确性和时序相关。<br />&nbsp;&nbsp;&nbsp;&nbsp;1、这些寄存器都是匹配时序用的延迟计数器,具体含义和模型有关。软件开发人员就是要利用这些计数器调整采样位置,在有效区间采样。<br />&nbsp;&nbsp;&nbsp;&nbsp;2、设置值需要根据整个路径上的门延迟、走线延迟等计算的有效数据位和采样点的相对位置进行调整,确保采样点在有效数据位中央。建立保持时间公式和时钟模式有关(源同步、时钟同步),具体值需要经过计算才能得出(太多内容,就不展开说了)。<br />&nbsp;&nbsp;&nbsp;&nbsp;3、除了CPU和设备时序图,还要看走线、时钟模式、拓扑结构、门延迟等。如果能正确采样,就说明设计成功。margin越大,水平越高,即:在恶劣环境干扰下仍然正确,margin越大抗干扰能力越强。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;简单地说一下设计思路:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;flash和sdram是干什么用的呢?是用来存储数据的。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;存储数据有什么要求呢?写入“0”,读出来还是“0”;写入“1”,读出来还是“1”。(这不废话嘛!)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;那么什么情况会阻碍达成这个目的呢?1、判决错误,由于基准电平不准或者加性干扰导致1/0读反了;2、在错误的位置采样、不满足建立保持时间导致数据无效。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;怎么解决这个问题呢?(硬件设计就是和干扰做斗争)基准电平错误是由于压降引起的,所以用电平面代替电源线,缩短传输距离可解;加性干扰加强屏蔽可解;采样错误调整时序可解。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;如果你设计的flash/sdram电路存入的数据和读出来的一致,在高速情况下也正确,在恶劣环境下也正确,OK,你的flash/sdram硬件设计成功!<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;有设计思路了嘛?欢迎访问www.armecos.com获得更多专业支持!

edisontang 发表于 2007-8-31 08:49

很详细

很详细,不知能否说得浅显点,对于一个软件开发人员来说,不容易明白。多谢了!

mybao 发表于 2007-8-31 16:49

lz考虑问题很深入啊,如果刚接触硬件的话。

Tcos,Tacs,Tacc。这个东西要仔细的看SDRAM和处理器的datasheet,里面有详细的说明,具体怎么设置,偷懒的话按照demo板照搬就行了。当然,有些是IC固有属性,比如Tcos、Tacc,不能被更改。说实在的这些参数我也记不太清了。<br /><br />setup&nbsp;time和hold&nbsp;time的最小值在datasheet上有,板上实际值大于他就可以了。板上实际值怎么知道,仿真确定。板做好以后就可以实测了。<br /><br />怎样取一个合适的值。这个是SI工程师的事情,前仿真,确定布线约束,布线,后仿真。一般几十M频率的信号就不用仿真了,遵循一些高速布线最基本的原则肯定没问题的。

edisontang 发表于 2007-9-12 10:52

很感谢各位的回复

对于这些时间,它们之间的关系是什么呢?就拿flash来说,cpu的这些时间参数(Tcos,Tacs,Tacc)和flash的时间参数究竟是什么关系?我们在设计的时候,要保证些什么呢?我的理解是,对于每个时间参数,setup&nbsp;time和hold&nbsp;time都要满足才行,但是这个满足究竟是一个什么样的满足,数学公式怎么描述?
页: [1]
查看完整版本: 时序匹配