技术文档

单片机ram扩展 三总线的扩展设计方法

小编 2025-07-01 技术文档 23 0

三总线的扩展设计方法

基本思路

51系列单片机采用总线结构,使扩展易于实现,其扩展结构如图4-3所示。

图4-3 AT89S51单片机系统扩展结构图

由图4-3可以看出,系统扩展主要包括存储器扩展和I/O接口部件扩展。51系列单片机的存储器扩展既包括程序存储器扩展又包括数据存储器扩展。51系列单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。系统扩展是以51单片机为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展,首先要构造系统总线。系统总线按功能通常分为3组,如图4-3所示。

51单片机有4个8位的并行口,已占用了32条引线,而51单片机总共只有40条引脚,这8根数据线和16根地址线必须采用引脚复用的方法,也就是一根引脚必须有两种或更多种功能才能满足需要,某一根引脚究竟作何用,则需要根据硬件的要求进行设计,从而使用其不同的功能。

如何构造系统的三总线

1. 数据总线

如图4-4所示为单片机的三总线结构形式。51单片机的P0口是一个多功能口,如果扩展外围芯片,P0口就可以作为数据总线和低8位的地址总线来使用。CPU先从P0口送出低8位地址,然后从P0口送出数据或接收数据。

图4-4 单片机的三总线结构形式

2. 地址总线

在51单片机访问外部存储器或I/O口时,可能需要超过8位的地址线,这时就用P2作为高8位的地址线。在P0口出现低8位地址信号时,P2口也出现高8位的地址线,这样共有16根地址线。

3. 控制总线

除地址线和数据线外,还要有系统的控制总线。这些信号有的是单片机引脚的第一功能信号,有的则是P3口第二功能信号。包括:

(1)作为外扩程序存储器的读选通控制信号。

(2)作为外扩数据存储器和I/O的读、写选通控制信号。

(3)ALE作为P0口发出的低8位地址锁存控制信号。

(4)为片内、片外程序存储器的选择控制信号。

可见,AT89S51的4个并行I/O口,由于系统扩展的需要,真正作为数字I/O使用,就剩下P1和P3的部分口线了。

4. 地址、数据分离电路

单片机的P0口作为数据总线和低8位的地址总线使用,如果直接将P0口接到扩展芯片的数据总线和低8位地址线是行不通的,例如,单片机选定了外部存储器的0000H单元,P0、P2口就应当输出00H,这样才能选中0000H单元,在选中0000H单元后,就从这个单元读取数据,这个数据的值是随机的,假设这个数据是10H,P0口就变成了10,但这样就不再是选中0000H单元,而是选中了0010H单元,显然,这从逻辑上是讲不通的,所以P0口送出地址和接收或更新出数据是分时进行的,一定要把地址和数据区分开。

如图4-5所示是P0口的地址/数据复用关系,从图中可以看出,在每一个周期里,P2口始终是输出高8位的地址信号,而P0口却被分成两个时段,第一个时段输出低8位的地址,而第二个时段则是传输数据,为了要把低8位的地址信号提取出来,要用到一个锁存器芯片。从图4-5中还可以看出,在ALE的上升沿到来时,P0口是处于“浮空”状态,也说“高阻”状态,即构成P0口输出的两个晶体管均处于“截止”的状态,这样不会影响到锁存器。ALE信号就是MCS-51单片机提供的专用于数据/地址分离的一个引脚。

图4-5 P0口地址、数据复用示意图

对于片外数据存储器,单片机使用了与访问片内数据存储器不同的指令进行访问。此外,如果扩展了其他连接如I/O等芯片,也要占用RAM空间。

单片机系统的扩展、配置及抗干扰方法

一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如 ROM、RAM、I/O、定时器 / 计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A 转换器等,要设计合适的接口电路。

系统的扩展和配置应遵循以下原则:

1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。

2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。

3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实殃,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用 CPU 时间。

4、系统中的相关器件要尽可能做到性能匹配。如选用 CMOS 芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。

5、可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。

6、单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。

7、尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。随着单片机片内集成的功能越来越强,真正的片上系统 SoC 已经可以实现,如 ST 公司新近推出的μPSD32××系列产品在一块芯片上集成了 80C32 核、大容量 FLASH 存储器、SRAM、A/D、I/O、两个串口、看门狗、上电复位电路等等。

单片机系统硬件抗干扰常用方法实践

影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。

形成干扰的基本要素有三个:

(1)干扰源。指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt, di/dt 大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可 能成为干扰源。

(2)传播路径。指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传 播路径是通过导线的传导和空间的辐射。

(3)敏感器件。指容易被干扰的对象。如:A/D、D/A 变换器,单片机,数字 IC, 弱信号放大器等。

干扰的分类

1. 干扰的分类

干扰的分类有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分:

可分为放电噪声音、高频振荡噪声、浪涌噪声。

按传导方式分:可分为共模噪声和串模噪声。

按波形分:可分为持续正弦波、脉冲电压、脉冲序列等等。

2. 干扰的耦合方式

干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。因此,我有必要看看干扰源和被干扰对象之间的传递方式。干扰的耦合方式,无非是通过导线、空间、公共线等等,细分下来,主要有以下几种:

(1)直接耦合:

这是最直接的方式,也是系统中存在最普遍的一种方式。比如干扰信号通过电源线侵入系统。对于这种形式,最有效的方法就是加入去耦电路。从而很好的抑制。

(2)公共阻抗耦合:

这也是常见的耦合方式,这种形式常常发生在两个电路电流有共同通路的情况。为了防止这种耦合,通常在电路设计上就要考虑。使干扰源和被干扰对象间没有公共阻抗。

(3)电容耦合:

又称电场耦合或静电耦合 。是由于分布电容的存在而产生的耦合。

(4)电磁感应耦合:

又称磁场耦合。是由于分布电磁感应而产生的耦合。

(5)漏电耦合:

这种耦合是纯电阻性的,在绝缘不好时就会发生。

常用硬件抗干扰技术

针对形成干扰的三要素,采取的抗干扰主要有以下手段。

1. 抑制干扰源

抑制干扰源就是尽可能的减小干扰源的 du/dt,di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。减小干扰源的 du/dt 主要是通过在干扰源两端并联电容来实现。减小干扰源的 di/dt 则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。

抑制干扰源的常用措施如下:

(1)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。仅加 续流二极管会使继电器的断开时间滞后,增加稳压二极管后继电器在单位时间内可 动作更多的次数。

(2)在继电器接点两端并接火花抑制电路(一般是 RC 串联电路,电阻一般选几 K 到几十 K,电容选 0.01uF),减小电火花影响。

(3)给电机加滤波电路,注意电容、电感引线要尽量短。

(4)电路板上每个 IC 要并接一个 0.01μF~0.1μF 高频电容,以减小 IC 对电源的 影响。注意高频电容的布线,连线应靠近电源端并尽量粗短,否则,等于增大了电 容的等效串联电阻,会影响滤波效果。

(5)布线时避免 90 度折线,减少高频噪声发射。

(6)可控硅两端并接 RC 抑制电路,减小可控硅产生的噪声(这个噪声严重时可能会把可控硅击穿的)。

2. 切断干扰传播路径

按干扰的传播路径可分为传导干扰和辐射干扰两类。

所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大,要特别注意处理。

所谓辐射干扰是指通过空间辐射传播到敏感器件的干扰。一般的解决方法是增加干扰源与敏感器件的距,用地线把它们隔离和在敏感器件上加 蔽罩。

切断干扰传播路径的常用措施如下:

(1)充分考虑电源对单片机的影响。电源做得好,整个电路的抗干扰就 解决了一大半。

许多单片机对电源噪声很敏感,要给单片机电源加滤波电路或稳压器,以减小电源噪声对单片机的干扰。比如,可以利用磁珠和电容组成π形滤波电路,当然条件要求不高时也可用 100Ω电阻代替磁珠。

(2)如果单片机的 I/O 口用来控制电机等噪声器件,在 I/O 口与噪声源之间应加隔离(增加π形滤波电路)。

(3)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。

(4)电路板合理分区,如强、弱信号,数字、模拟信号。尽可能把干扰源(如电机、继电器)与敏感元件(如单片机)远离。

(5)用地线把数字区与模拟区隔离。数字地与模拟地要分离,最后在一点接于电源地。A/D、D/A 芯片布线也以此为原则。

(6)单片机和大功率器件的地线要单独接地,以减小相互干扰。大功率器件尽可能放在电路板边缘。

(7)在单片机 I/O 口、电源线、电路板连接线等关键地方使用抗干扰元件如磁珠、磁环、电源滤波器、屏蔽罩,可显着提高电路的抗干扰性能。

3. 提高敏感器件的抗干扰性能

提高敏感器件的抗干扰性能是指从敏感器件这边考虑尽量减少对干扰噪声 的拾取,以及从不正常状态尽快恢复的方法。

提高敏感器件抗干扰性能的常用措施如下:

(1)布线时尽量减少回路环的面积,以降低感应噪声。

(2)布线时,电源线和地线要尽量粗。除减小压降外,更重要的是降低耦 合噪声。

(3)对于单片机闲置的 I/O 口,不要悬空,要接地或接电源。其它 IC 的闲置端在不改变系统逻辑的情况下接地或接电源。

(4)对单片机使用电源监控及看门狗电路,如:IMP809,IMP706,IMP813, X5043,X5045 等,可大幅度提高整个电路的抗干扰性能。

(5)在速度能满足要求的前提下,尽量降低单片机的晶振和选用低速数字电路。(6)IC 器件尽量直接焊在电路板上,少用 IC 座。

4. 其它常用抗干扰措施

交流端用电感电容滤波:去掉高频低频干扰脉冲。

变压器双隔离措施:变压器初级输入端串接电容,初、次级线圈间屏蔽层与初级间电容中心接点接大地,次级外屏蔽层接印制板地,这是硬件抗干扰的关键手段。

次级加低通滤波器:吸收变压器产生的浪涌电压。

采用集成式直流稳压电源:因为有过流、过压、过热等保护。I/O 口采用光电、磁电、继电器隔离,同时去掉公共地。

通讯线用双绞线:排除平行互感。防雷电用光纤隔离最为有效。

A/D 转换用隔离放大器或采用现场转换:减少误差。

外壳接大地:解决人身安全及防外界电磁场干扰。加复位电压检测电路。防止复位不充份,CPU 就工作,尤其有 EEPROM 的器件,复位不充份会改变 EEPROM 的内容。

印制板工艺抗干扰:

①电源线加粗,合理走线、接地,三总线分开以减少互感振荡。

②CPU、RAM、ROM 等主芯片,VCC 和 GND 之间接电解电容及瓷片电容,去掉高、低频干扰信号。

③独立系统结构,减少接插件与连线,提高可靠性,减少故障率。

④集成块与插座接触可靠,用双簧插座,最好集成块直接焊在印制板上,防止器件接触不良故障。

⑤有条件采用四层以上印制板,中间两层为电源及地。

相关问答

单片机 片内 ram 不够用,怎么处理-ZOL问答

外接扩展ram芯片就是有16条地址线。1K*8需要8片;16K需要8*16=128片.采用译码...AT89C51单片机内部RAM中的位地址区的单元地址范围是:20H~2FH,共16个单元,位...

1、 单片机 读写外部 RAM 数据用()指令A、MOVB、MOVDC、MOVXD、M...

[最佳回答]CMOV指令表示单片机内部的寄存器或者存储器之间相互传递数据(内部RAM);而MOVX则表示单片机内部的A累加器与片外的数据存储器传送数据.(这个是扩展...

单片机 外部 扩展RAM 和ROM时,po口和p2口各起什么作用 - 小红...

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、...

8051 单片机 外部可 扩展 多少kb的 ram ?

8051片内数据存储器除RAM(00-7fh)之外,还有特殊功能寄存其SFR(80H-FFH),两者合起来共有256字节,但是能够真正用来当数据寄存器的只有128字节,也就是RAM。...8...

51 单片机 系统中有关外部 扩展 芯片的地址問題-ZOL问答

1.“51单片机的外部RAM和I\O口是统一编址”,是什么意思从电路、指令,两个方面来看,外部RAM和I\O口,都没有区别。相比80x86,它的RAM和接口,电路不同,指令也不同...

8位 单片机 为何可以拓展内存32KB?

你说的存储器扩展功能,不是所有的8位单片机都有,51是有的,AVR肯定没有,PIC我不熟,不好说,下面以51为例。51单片机的构架中最多可以提供16根地址线(P2,P0...

2. 单片机 内部 RAM 可分为几个区?各区的主要作用是什么?

内部RAM一共三个区,第一区:低128字节(物理地址是00H---7FH),C语言用data修饰,特点是直接寻址,寻址速度最快,在实际应用中,频繁使用的变量最好定义到这个区,因...

51 单片机ram 满了怎么办?

1,优化程序,不要随便定义新的变量,减少变量的使用,尽量用占内存小的变量类型。2,在片外扩展RAM,51单片机可以扩展静态RAM,这样做可大幅增加RAM的容量,...2,...

单片机 如何访问片外 ram ?

单片机访问片外RAM的步骤通常包括以下几个关键步骤:首先,配置单片机的地址总线和数据总线,使其能够与片外RAM进行通信。其次,通过I/O口或者特定的控制寄存...

单片机 内的ROM和 RAM 如何储存程序与数据?

ROM一般用户只读不存(部份FLASH单片机的ROM可以由特殊指令进行先擦除,再改写存储),ROM掉电后数据不会丢失;RAM在上电后可由用户随意存取,但掉电后数据丢失...

猜你喜欢