abstract: this application note addresses external memory interfacing with maxim high-speed microcontrollers other than the ds80c320. a systems designer using these microcontrollers must be aware of multiplexed address/data latch requirements and latch parameters for different families of devices. eprom and sram parameters are discussed to ensure proper matching between the microcontroller and external device.
introductionthe ds80c320 microcontroller was the first member of the new high-speed micro family from maxim. the family now includes the ds80c310, ds87c5x0, ds80c390, ds80c400, ds5230, ds5250, among others. when the ds80c320 was introduced, an application note 57, ds80c320 memory interface timing was published to describe the unique speed requirements for the memories that interfaced to it. this application note serves the same purpose for the more recent family introductions.
a common configuration for a high-speed micro-based system is shown in figure 1. in this example, both program (eprom) and data (sram) memory devices are included in the system. of course, with an eprom-based part such as the ds87c520, it is likely that no other program storage will be required outside the processor. however, for the purposes of this discussion, it will be assumed that external program storage will be used. if the application dictates the use of both on-board and external program memories, some additional decoding logic (not shown) may be required so that the two memory spaces do not overlap.
figure 1. typical high-speed micro system.
as with all 8051 external memory interfaces, port 0 lines (p0.7–p0.0) of the processor carry both address and data, and a latch is used to demultiplex the information. the specific part number for the latch will be determined by the speed requirements of the system as discussed below. however, in general, the latch will be a '373 or '573 type. the main difference between these two part types is the pinout. on the '573, all inputs are on one side of the package and all outputs are on the other. this allows a more convenient board layout.
the number of lines connected from the processor's port 2 address bus (p2.7–p2.0) to the memories' address bus is shown in the figure as 'n'. the exact value of 'n' is determined by the storage size of the memory devices used.
this application note is based on the timing of the ds87c520, but the principles discussed herein should be applicable to any member of the high-speed microcontroller family. be sure to examine the data sheet of the device in use for minor timing differences from the examples here.
latch requirementsdue to the high speed of the port 0 (ad7–ad0) bus, some consideration must be given to the choice of latches used for address demultiplexing. by examining the high-speed micro data sheet, it can be seen that some timing constraints are placed on the latch. for instance, the cpu parameter tavll (port 0 address valid to ale low) determines the minimum setup time (tsu) the latch will actually have. the parameters tlhll and tllax also affect the timing requirements of the latch. table 1 shows the cpu parameters for 33mhz operation, and the requirements placed on various latch families. for the parameters in the table, the cpu parameters must be greater than the latch parameters. it can be seen that the minimum required setup and hold time are violated for the hc latch family (highlighted). for this reason, this family cannot be used for 33mhz operation.
the other relevant property of the latch is its propagation delay from input to output. since the latch is in the address path, this parameter has a direct and significant impact on the memory timing requirements. this parameter will be discussed in the following section.
table 1. latch parameters
cpu parameter
@33mhz
latch parameter
ac family
f family
hc family
tllhl min
40ns
tw
4.5ns
6.0ns
20.0ns
tavll min
10ns
tsu
6.0ns
2.0ns
15.0ns
tllax min
10ns
th
tprop
1.0ns
11.5ns
3.0ns
8.0ns
13.0ns
38.0ns
program memoryas shown in figure 1, the program memory (typically eprom or flash memory) interfaces to the processor's lsb address through the address demultiplexing latch. the eprom also interfaces directly with the processor via the msb address bus and the program store enable (active-low psen) signal. the processor always outputs the msb address before the lsb address, so this interface can be ignored. however, each of the two remaining interfaces must be examined for the most critical timing. the relevant timing parameters for eprom devices may be found by evaluating their data sheets. table 2 summarizes the main parameters for several speed grades of eproms from two different manufacturers¹.
eprom parameters
parameter
-55
-70
-90
-120
-150
-200
-250
tacc min
55ns
70ns
90ns
120ns
150ns
200ns
250ns
tce min
55ns
70ns
90ns
120ns
150ns
200ns
250ns
toe min
25/35ns
30/40ns
30/40ns
35/50ns
65ns
75ns
100ns
tdf min
25ns
30/25ns
30/25ns
35/30ns
30ns
30ns
30ns
note: x/y indicates difference between the atmel/amd devices.
upon evaluation of the timing specifications for the processor, the latch and the eprom, it can be seen that the most critical timing path is through the lsb address bus. the address must appear on this bus, pass through the latch, address the eprom, and the eprom must output valid data in less time than the cpu parameter taviv1. since the latch is in the path, the timing of this bus can be expressed by the following equation: tprop + tacc < taviv1. the ds87c520 data sheet shows that taviv1 is a function of clock speed (denoted tclcl), and is given by: taviv1 = 3tclcl - 32ns. solving these equations for 33mhz operation using an f type latch, it can be seen that an eprom access time of less than 52ns is required. thish illustrates that the latch speed directly impacts the required speed of the eprom.
table 3 shows the eprom speeds and latch types recommended for various cpu clock speeds. the suggested speed grade is based on the above equation and the eprom and latch timing parameters. further evaluation shows that the eprom parameter tdf may also be a critical parameter at some high cpu clock speeds. this parameter must always be less than the cpu parameter tpxiz.
table 3. recommended eprom speeds
clock frequency (mhz)
speed with 'f373 latch
speed with 'ac373 latch
speed with 'hc373 latch
33
50
20*
20*
25
70
70
50
20
70
70
70
18.432
120
90
90
16
120
120
90
14.746
150
150
120
14.318
150
150
120
12
200
200
150
11.059
200
200
200
7.37
200
200
200
1.8432
200
200
200
*tacc < 20ns may require different memory technology.
data memorythere are a number of factors that make interfacing data memories (srams) to the high-speed microcontroller family extremely easy. first, sram devices are generally faster, and more readily available in higher speed grades. in fact, it is sometimes difficult to find a slow sram. a more significant factor is that all high-speed micro family members have the ability to insert stretch cycles into the movx instructions. this provides a convenient means of supporting both high- and low-speed devices on the same data bus without requiring external support hardware. all high-speed micro family members default to the use of one stretch cycle for movx instructions. to obtain maximum throughput, application software can write to certain special function register (sfr) bits and cause the movx instructions to operate with zero stretch cycles. this default condition is a convenience to existing designs that may not have fast ram in place. even in high-speed systems, it may not be necessary or desirable to perform data accesses at full speed. additionally, there are a variety of memory mapped peripherals such as lcd displays or uarts that are not fast enough to keep up with the full speed high-speed micro. this flexibility allows the user to trade some performance for slower data rams if so desired. for the discussion that follows, a worst case timing scenario of zero stretch cycles will be assumed.
for maximum performance, i.e., with a zero stretch cycle data memory access programmed into the processor, a movx instruction requires two machine cycles. the fetch of the instruction takes one machine cycle leaving one machine cycle for the memory read or write. in the analysis of the data memory's timing requirements that follows, it will be assumed that the recommendations of table 3 have been followed.
through analysis, it can be determined that four sram timing parameters are necessary and sufficient to meet the processor's timing requirements for most situations. these parameters and their values for various speed grades are shown in table 4. during a data read operation, the processor expects the time from an address change until valid data is available to be 71ns (tavdv1= 3tclcl-29) or less. if the propagation delay from d to q of an f373 latch (8ns) is subtracted from this parameter, you obtain a memory address access (taa) requirement of 54ns. also for a data read operation, the time from the active-low rd signal going low until valid data is received from the memory device must be 38ns (trldv = 2tclcl - 22) or less. since the processor's active-low rd signal is tied to the memory's active-low oe pin, the memory must have an output enable access time (toe) of less than 38ns. after the processor has read the data, the sram must relinquish the bus within 25ns (trhdz = tclcl - 5). this dictates that the sram parameter tohz be less than 25ns. for a write, the processor will provide a minimum write pulse of 56ns (twlwh = 2 tclcl - 5), which is equal to the minimum required write pulse width (twp) of the sram. on the basis of these four calculated parameters and assumed sram speeds shown in table 4, the appropriate speed device may be determined for a number of different clock frequencies. a summary of the recommended ram speeds is given in table 5 which assumes the fair f373 latch. it should be noted that the critical timing parameter is not always the access time. because of the high speed of the processor and variations in memory parameter relationships, all four parameters must be checked for any specific clock speed.
table 4. sram parameters
taa (ns)
toe (ns)
tohz (ns)
twp (ns)
35
20
15
25
55
30
25
35
70
35
30
45
80
35
30
60
100
50
35
60
120
60
45
70
150
55
40
90
170
80
35
120
200
100
35
150
table 5. recommended ram speeds based on tavdv1 with 'f latch
clock (mhz)
memory speed (zero stretch)
memory speed (one stretch)
33
50
120
25
80ns
200ns
20
80ns
200ns
18.432
120ns
200ns
16
120ns
200ns
14.746
120ns
200ns
14.318
170ns
200ns
12
200ns
200ns
11.059
200ns
200ns
7.37
200ns
200ns
1.8432
200ns
200ns
additional considerationsall of the timing calculations used in this application note are based on equations found in the ds87c520 data sheet. these specifications assume an approximately equal capacitive load on the signals specified. if the configuration of figure 1 is used, this is achieved. if, however, any signal is connected to additional loads, then the capacitive loading including the additional devices should be evaluated. if there is a significant difference, additional margins should be used in the critical path analysis, and appropriate memory speeds selected. for older or otherwise unconventional sram devices, it may be wise to confirm other important timing parameters (such as data setup before write active). however, on the devices surveyed, meeting the four parameters discussed above will qualify the device for use.
equation summaryfor the user who wishes to calculate the memory speed requirements using a crystal frequency not shown in the preceding tables, the following equations provide a concise summary of the information needed.
eprom equations
ram equations
¹eprom devices from amd and amtel were considered.
智慧交通的发展可以得到什么的加注
关于功率MOS管烧毁的原因总结
中兴AXON10Pro5G获3C认证 将于下月正式发售
台湾太落后?大陆移动支付领先一大截
Cree成为大众汽车集团FAST项目SiC碳化硅独家合作伙伴
高速微型存储器接口时序-High-Speed Micro M
用C++写一个http服务器
加密芯片ATSHA204A用于固件保护与方案防抄板
vivoX20颜值满分+创意满分,处理器硬伤!高价低配还要玩到什么时候
储能连接器的连接方式和使用
DRAM今年跌幅约30%,较去年50%有所收敛
能量回馈制动原理_能量回馈制动的特点
汇顶科技与思立微专利互诉战开打
NVIDIA携手奔驰共筑智能驾驶舱未来
无人机全自动应该如何来打造
cpol和相位coha电路图全解析
智慧水稻种植管理系统设计方案解读
【出海日系列活动】谷歌开发者社区 | 开发者扬帆出海,北京站报名启动
智能锁市场持续加温,众多传统企业及资本涌入这一行业
电阻性电路的电路模型和电路定律解读