摘要: 当与外部程序存储器一起使用时,此应用说明针对达拉斯半导体DS80C320高速微控制器。由于该器件的高速度,关键的内存接口时间限制进行了检查。本应用说明讨论了DS80C320,但适用于所有达拉斯半导体微控制器。
Dallas Semiconductor的DS80C320处理器由于其提高的吞吐量而提供了广泛的新应用机会。然而,速度的提高也需要注意与处理器接口的内存的时序要求。此应用说明确定了与内存接口相关的关键时序路径,并确定了各种CPU晶体频率所需的内存速度。
DS80C320处理器系统的典型配置如图1所示。一个32K × 8的EPROM用于保存程序信息,一个8K × 8的静态RAM用于数据存储。存储器地址的最低有效字节(LSB)与处理器引脚AD7到AD0上的数据进行时间复用。来自处理器的信号ALE在一个新地址被放在总线上之前变高,在它被移除之前变低。在图1中,ALE变低的动作用于将地址锁存到74HCT373 8位透明锁存中。然后,74HCT373提供其锁存地址输出到存储器,而AD7通过AD0 CPU总线携带数据。地址的MSB不是多路复用的,可在端口引脚P2.7到P2.0 (A15-A9)上使用。
图1所示、典型的DS80C320系统配置
图2显示了一些用于将DS80C320与EPROM程序存储器连接的信号。如图所示,两种锁存技术(HCT和F)的时序关系。为该锁存器选择的技术对存储器的选择至关重要。74HCT373从输入到输出(D到Q)的最坏情况传播延迟为44 ns,而74F373的延迟为8 ns。这将导致根据所使用的系列而产生显著不同的内存地址访问时序需求。检查DS80C320数据表中的时序参数显示,指令必须在60 ns内准备好读入处理器(参数it(AVIV1)=3t(CLCL)-27)(1),假设时钟为33 MHz(2)。如果通过HCT锁存器的44 ns传播延迟从中减去,您将得到所需的26 ns地址访问时间。
图2、程序存储器接口定时
虽然访问时间为26ns或更少的EPROM器件可能是可用的,但它们可能很昂贵。解决这种时间限制的一种简单且更具成本效益的方法是使用更快的锁存器技术;例如74F373。使用与上面相同的分析,如果从t(AVIV1)参数(64 ns)中减去F373锁存器的传播延迟8 ns,您将得到56 ns的地址访问需求。这比26ns更容易实现。
还有另一个时间限制,建议在更快的应用程序中使用“F”类型的部件。在74HCT373锁存器上,锁存器使能(ALE)变低后输入所需的最小保持时间可能高达13 ns。锁存器的输入,即处理器外的地址,一直保持到它被存储器的输出驱动为止。此输出由active-low PSEN启用。再次参考数据表,可以看到在ALE下降(参数t(LLPL))后,激活低PSEN可能会在0.5 ns内迅速发生。如果内存的输出在激活低PSEN后立即开始驱动总线,那么可能只有0.5 ns保持时间。这显然违反了门闩的要求。虽然假设在内存的输出驱动总线之前会有一些延迟是合理的,但这不是一个指定的(或测试的)参数。因此,保守估计为5纳秒。从上述数字和tLLPL参数(0.25t(CLCL)-7)的方程可以计算出,时钟频率为19.23 MHz及以下将允许足够的保持时间来满足74HCT373锁存器的要求。请注意,74F373锁存器的保持时间为3ns,在所有条件下都满足。
从上面的分析,你可以选择19.32 MHz作为锁存技术切换点,然而,这是有原因的,为什么没有这样做。参考地址访问方程(3t(CLCL)-24),可以计算出,如果将74HCT373锁存器用于高于16.31 MHz的频率,则需要90ns或更快的存储设备。因此,作为锁存速度和EPROM速度之间的权衡,74F373锁存(比快速EPROM便宜)推荐用于大于或等于16.31 MHz的晶体频率,74HCT373用于更低的频率。
如图1所示,低激活PSEN启用EPROM的输出,因此在选择器件时还必须考虑该信号的时序。DS80C320数据表指定从激活低PSEN低到有效指令的时间必须不超过70 ns(参数t(PLIV))。因此,这是允许从内存的active-low OE引脚访问的最大时间。综上所述,所选EPROM的两个时序要求是地址访问时间小于92 ns, active-low OE访问时间小于70 ns。当查看EPROM数据表时,可以看到常见的访问时间组合(地址访问,主动低OE访问)为55,35;70年,40;90年,40;120年,50;150年,65年;200年,75年;250,100纳秒。55,35器件满足DS80C320上33mhz时钟的时序要求,是推荐的选择。
表1显示了针对各种处理器时钟频率推荐的最慢EPROM内存速度。如果出于某种原因需要使用比推荐更快的设备,则可以这样做。对于本文档,假定可用的内存速度(分别为来自地址和活动低OE的最大访问时间)为上述所示,但是,可以使用满足这两种要求的任何组合。在表1中,粗体显示的内存速度是推荐的配置。
时钟(MHZ) | 内存速度74f373 | 内存速度74hct373 |
33.0 | 55 ns | - - - - - - |
25.0 | 90纳秒 | - - - - - - |
20.0 | 120纳秒 | 70纳秒 |
18.432 | 120纳秒 | 90纳秒 |
16.0 | 150纳秒 | 120纳秒 |
14.746 | 150 ns。 | 120纳秒 |
14.318 | 150纳秒 | 120纳秒 |
12.0 | 200纳秒 | 150纳秒 |
11.059 | 200纳秒 | 200纳秒 |
7.37 | 250纳秒 | 250纳秒 |
1.8432及以下 | 250纳秒 | 250纳秒 |
应该注意的是,通常可以通过保持active-low OE引脚处于活动状态并使用active-low CS引脚控制设备来降低eprom的功耗。但是,在这样做时,必须更仔细地考虑来自低激活CS的访问时间。active-low的CS访问时间通常与地址访问时间几乎相同(即,比active-low的OE访问慢得多)。如果功耗是主要的系统考虑因素,则可以选择更快的设备,并使用低激活CS来选择芯片。
选择数据存储器(RAM)设备与DS80C320接口比选择EPROM设备要容易得多,因为处理器设计的灵活性更强。DS80C320提供了一个独特的功能,允许应用程序软件调整访问数据内存的速度。处理器能够在两个指令周期(8个振荡器时钟)内执行一个MOVX指令。但是,这个值可以根据需要“扩展”,这样就可以在没有粘合逻辑的情况下访问快速内存和慢速内存或外设。在上电时,DS80C320的默认拉伸值为1,从而产生三个周期的MOVX指令。这个默认条件对于可能没有快速RAM的现有设计是一种方便。对于需要最大性能的用户,可以通过软件选择拉伸值为零,从而产生两个机器周期的MOVX指令。即使在高速系统中,也可能没有必要或不希望以全速执行数据内存访问。此外,还有各种内存映射外设,如LCD显示器或uart,速度不够快,无法跟上全速DS80C320。如果需要,这种灵活性允许用户用一些性能换取较慢的数据ram。
为了获得最大的性能,也就是说,在处理器中编程了两个机器周期的数据存储器访问,MOVX指令的读取需要一个机器周期,而内存读取或写入则需要一个机器周期。对于接下来的数据内存时序需求分析,我们假设已经遵循了表1中的建议。这意味着74F373锁存器用于高于16.31 MHz的时钟频率。单周期数据存储器读取的示意图如图3所示,单周期数据存储器写入的示意图如图4所示。
图3、数据内存读取
图4、数据内存写入
请注意,术语t(MCS)在数据表和随后的方程中使用。它是一个表示为每个拉伸循环添加的时间间隔的项。例如,如果stretch为0,那么t(MCS)为0,等式保持不变。如果拉伸是1,那么t(MCS)等于2t(CLCL),并且方程增加了这个量。每增加一个拉伸循环,t(MCS)的值增加4t(CLCL)。
通过分析,可以确定有四个SRAM时序参数是满足DS80C320在大多数情况下的时序要求所必需和充分的。对于这些要求的以下讨论,使用了最坏情况下的时序条件,即33 MHz时钟和零拉伸周期。对于数据读取操作,DS80C320期望从地址更改到有效数据可用的时间为64秒(t(AVDV1)=3t(CLCL)-27)或更短。如果从该参数中减去74F373锁存器从D到Q的传播延迟(8 ns),则获得56 ns的内存地址访问(t(AA))需求。同样,对于读取,DS80C320期望从激活低RD信号变低到从存储器接收到有效数据的时间为35 ns (t(RLDV)=2t(CLCL)-25)或更短。由于处理器的active-low RD信号与内存的active-low OE引脚绑定,因此内存必须具有小于40 ns的输出使能访问时间(t(OE))。在DS80C320读取数据后,SRAM必须在25 ns (t(RHDZ)=t(CLCL)-5)内放弃总线。这决定了SRAM参数t(OHZ)小于25 ns。对于写入,处理器将提供49 ns (t(WLWH)=2t(CLCL)-11)的最小写入脉冲,这等于SRAM所需的最小写入脉冲宽度(t(WP))。根据表2中所示的这四个计算参数和假设的SRAM速度,可以为许多不同的时钟频率确定适当的速度器件。表3总结了推荐的RAM速度。
t (AA) (ns) | t (OE) (ns) | t (OHZ) (ns) | t (WP) (ns) |
60 | 35 | 25 | 45 |
70 | 35 | 30. | 45 |
80 | 35 | 30. | 60 |
One hundred. | 50 | 35 | 60 |
120 | 60 | 45 | 70 |
150 | 55 | 40 | 90 |
170 | 80 | 35 | 120 |
200 | One hundred. | 35 | 150 |
表3说明了即使使用33 MHz时钟,如果使用单个拉伸周期(默认条件),也可以选择相对较慢的SRAM设备。如果性能不是系统的主要考虑因素,或者如果性能是系统的主要考虑因素,但是数据内存访问在整个处理需求中只是微不足道的一部分,那么使用伸缩周期可能会提供更具成本效益的解决方案。
时钟(MHz) | 门闩 | 内存速度 (零延伸) | 内存速度 (一段) |
33.0 | F373 | 55 ns | 120纳秒 |
25.0 | F373 | 80纳秒 | 200纳秒 |
20.0 | F373 | 120纳秒 | 200纳秒 |
18.432 | F373 | 120纳秒 | 200纳秒 |
16.0 | HCT373 | 170纳秒 | 200纳秒 |
14.746 | HCT373 | 170纳秒 | 200纳秒 |
14.318 | HCT373 | 200纳秒 | 200纳秒 |
12.0 | HCT373 | 200纳秒 | 200纳秒 |
11.059 | HCT373 | 200纳秒 | 200纳秒 |
7.37 | HCT373 | 200纳秒 | 200纳秒 |
1.8432及以下 | HCT373 | 200纳秒 | 200纳秒 |
在开发此应用笔记时,注意到一些EPROM设备具有极长的“关闭”时间。如果为33 MHz系统选择的EPROM具有大于25 ns的“输出禁止浮动”时间(参数t(PXIZ)=t(CLCL)-5),则处理器的AD7-AD0总线上将发生总线争用。在大多数情况下,这只会导致更高的功耗。但是,在某些情况下,内存的地址设置时间可能会受到影响,因此需要更快的内存。这个问题最简单的解决方案是使用具有所需关闭时间的设备,但还有另一种可能的解决方案。如图5所示,可以将74F244驱动器置于EPROM的输出和处理器的数据总线之间。74F244的输出在最大8 ns内关闭,从而几乎立即释放处理器的总线并消除争用。
图5、快速EPROM关断
本应用笔记中使用的所有时序计算都基于DS80C320数据表中的方程。数据表中给出的时序规范假定在指定的信号上具有近似相等的容性负载。如果使用图1的配置,就可以实现这一点。但是,如果任何信号连接到附加负载,则应评估包括附加设备在内的容性损耗。如果存在显著差异,则应在关键路径分析中使用额外的余量,并选择适当的内存速度。
对于旧的或其他非常规的SRAM设备,在写入活动之前确认其他重要的定时参数(如数据设置)可能是明智的。通过对设备的调查,满足上述四个参数将使设备具有使用资格。
对于希望使用上表中未显示的晶体频率来计算内存速度要求的用户,以下公式提供了所需信息的简明摘要。这些时间适用于零拉伸周期。所选存储设备的地址访问时间(基于F373或HCT373的使用)、低激活OE访问时间、低激活WE时间和总线释放时间必须小于或等于计算值。再次注意,t(CLCL)是时钟的周期。
关于本文档中给出的方程式的详细信息,请参见DS80C320数据手册。
t(CLCL)是晶体频率的周期,对于33 MHz的晶体,等于30.3 ns。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308