abstract: when using a dallas semiconductor high-speed microcontroller with external memory, noise from p0 switching could couple to ale. with careful board layout and a good understanding of induced noise on a multiplexed address/data bus, these problems can be minimized. this application note looks at the ds80c320 high-speed microcontroller when accessing external memory.
overviewthe 8051 architecture allows for external program and data access through the use of port 0 and port 2 as an external memory interface. the 8051 architecture multiplexes the data and lsb of address on port 0, requiring a 74373 latch for demultiplexing. this means that port 0 will be directly connected to at least two devices. more devices may be placed on the bus if an external data sram or memory-mapped peripherals are used.
because port 0 must switch quickly between address and data, it requires strong current drive characteristics. unfortunately, the high instantaneous current requirements of quickly switching all the pins of port 0 can induce noise on the ale signal. in some instances, this noise can interfere with program and data accesses by causing the external hardware to latch an incorrect address. this is a relatively rare occurrence, and most designers will not encounter it. the magnitude of this problem is directly related to several issues associated with both the system and software. devices which do not access external memory via port 0 and port 2 will not experience this problem.
this application note will discuss ways the system designer can reduce the effects of port 0 switching on device operation. it is applicable to any romless 8051 microcontroller which accesses external memory via port 0 and port 2, including the ds80c310 and ds80c320. it is also applicable to any microcontroller with internal program memory that accesses external memory.
ale noise generationunder certain system conditions, noise induced on ale can cause an incorrect lsb address to be latched when using the multiplexed address/data bus. the noise, as seen in figure 1, is generated by the highspeed switching of port 0 when the processor stops driving a memory address and begins driving data during a movx write. the noise pulse can, under the right conditions, rise above the vih input threshold of ttl, ls, fs and hct logic. in this case, the 74373 latch may be falsely triggered, latching an incorrect address and disturb the lsb address of the movx write.
figure 1. data memory write (ideal timing).
figure 2 shows a system diagram of how the noise pulse is generated. the noise pulse is produced when the processor drives a port 0 pin with a high address (see a in figure 1) followed by a low for data (see d in figure 1). the device must sink a relatively large amount of current on each pin (ib) to take the line from a high to low state. it is obvious that the more pins which change from a high to a low, the larger the noise. the worst case will be during a movx write instruction with an lsb address of ff (hex) and a data byte of 00 (hex). because all eight port pins are switching simultaneously, the maximum amount of current will be drawn into the microcontroller. the combined inductance and resistance both inside the processor and in the system result in the processor internal ground rising above the system ground. this in turn induces the noise seen on ale. the case of a movx read does not involve the sinking of current by the processor and should not induce significant noise on the ale signal. system elements which have a direct relationship to the magnitude of the noise are:
port 0 bus capacitance.
system ground inductance (l2) and resistance (r2).
system supply voltage (vcc).
figure 2. ale noise source.
noise reductionthere are several techniques that can be used to minimize the effect of port 0 switching on ale noise. reducing bus capacitance reduces the energy required to be discharged which results in lower peak currents and reduced peak voltages in the noise pulse. reducing the external ground resistance and inductance also reduces the noise level by reducing the resistive and inductive voltage drop.
the supply voltage is also directly proportional to the voltage level of the noise pulse. maintaining vcc within recommended specifications will limit the noise voltage level.
adding low impedance resistors in series with port 0, as seen in figure 3, reduces the noise level by limiting the peak current drawn into the microcontroller. care must be taken to verify that these resistors do not adversely effect the slew rate or final input voltage level to the memory as the processor writes to external memory. values in the range of 50ω to 150ω can generally be used without disturbing write cycle times. actual values for the series resistance should be verified in the end system.
figure 3. noise reduction.
use of a capacitor on the ale signal line will also significantly reduce the noise pulse. again, values must be verified in the system, with care used in not reducing the slew rate of the ale signal to a point that memory access is no longer valid. generally a capacitance of between 10 and 30pf is sufficient to reduce the noise level without effecting normal system operation.
input thresholdsthe simplest and most reliable method of eliminating the address latch related noise is to select a logic family with a high input threshold. standard ttl, ls, fs, and hct logic parts have a vih threshold of approximately 2.0 volts. hc (high-speed cmos) or ac (advanced cmos) logic, on the other hand, has a vih of approximately 3.5 volts at a supply voltage of 5 volts. the higher threshold level of the hc or ac cmos logic increases the noise immunity by approximately 1.5 volts. this is generally all that is needed to prevent the undesired latching by ale.
one disadvantage of using cmos logic is that it is slower than other logic families. propagation delays through cmos logic are generally in the range of 18 ns for hc and 10 ns for ac, compared with 2 to 4 ns for fs logic when using a supply of 5 volts. for slower microcontrollers such as the ds5000, ds5001, and ds5002, the propagation delay is usually not an issue because of the slow clock rate. faster microcontrollers such as the high-speed microcontrollers should carefully consider the timing effects of slower logic. in any event, testing should be done in the final application to verify the effects using slower cmos logic.
爱特梅尔发布车用超低功率AES-128 AVR微控制器
第一届世界区块链大会众星云集,宏达链万众瞩目
格力电器与威马汽车签署了战略合作协议,发力车联网智能化领域
什么是温湿度试验箱
中国移动提前完成5G建设目标,在全国所有地级以上城市实现5G网络商用
微控制器的设计指引进修信号噪声降低-Microcontrol
搭建一个VR直播系统需要哪些硬件
又是开源,首个开源万兆RISC-V网络交换机面世
Microchip推出新器件和扩展设计生态系统,提升电机控制支持
修复多项BUG!微软推送全新Windows10更新
车载设备GPS的发展前景
意法半导体推出STM1831新一代创新电压检测器
流水线中的相关培训教程[1]
智慧养老解决方案重点发展方向
山寨AirPods拆解|画上去的入耳检测、质量不够铁块来凑
美高森美推出耐辐射FPGA 主要用于高速信号处理应用
中国动力电池20强出炉 沃特玛稳居前三强
成都联通携手华为研发新方案 有效解决高层居民区信号覆盖难题
区块链新一轮浪潮奔涌而来,未来谁能打破现有的城墙构建起新的城堡
大华股份发布2020年半年度报告,报告期内公司实现营业收入98.38亿元