当前位置:首页 > 嵌入式 > 嵌入式微处理器
[导读]来源 :eepw 1 总线概述 计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据 (可以有多个器件同时接收数据) 。 计算机的总线分为控制总线、地

来源 :eepw


1

总线概述


计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据 (可以有多个器件同时接收数据) 。


计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。



2

单片机的三总线结构


51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k (2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU通过地址选择访问的对象,完成与各对象之间的信息传递。




  1. 数据总线:51单片机的数据总线为P0口,P0口为双向数据通道,CPU从P0口送出和读回数据。


  2. 地址总线:51系列单片机的地址总线为16位。为了节约芯片引脚,采用P0口复用方式,除了作为数据总线外,在ALE信号时序匹配下,通过外置的数据锁存器,在总线访问前半周期从P0口送出低8位地址,后半周期从P0口送出8位数据。高8位地址则通过P2口送出。


  3. 控制总线:51系列单片机的控制总线包括读控制信号P3.7和写控制信号P3.6等,二者分别作为总线模式下数据读和数据写的使能信号。



3

单片机总线时序分析


51单片机总线时序如图2所示。从图2中可以看出,完成一次总线 (读写) 操作周期为T,P0口分时复用,在T0期间,P0口送出低8位地址,在ALE的下降沿完成数据锁存,送出低8位地址信号。在T1期间,P0口作为数据总线使用,送出或读入数据,数据的读写操作在读、写控制信号的低电平期间完成。




需要注意的是,在控制信号 (读、写信号) 有效期间,P2口送出高8位地址,配合数据锁存器输出的低8位地址,实现16位地址总线,即64kB范围的内的寻址。

由于CPU不可能同时执行读和写操作,所以读、写信号不可能同时有效。



4

常见单片机编址电路


简单地址扩展


51单片机的P2口可以直接作为高8位地址总线使用,在一些简单系统电路中,常使用P2口直接编址驱动。下面以使用数据缓冲器74LS273驱动数码显示为例,分析P2口编址驱动的静态数码显示电路的设计。一位LED数码显示单元电路如图3所示。





WR与A8 (P2.0) 相或提供74LS273的时钟信号,当执行“MOVX @DPTR,A”指令时,地址信息由DPTR寄存器确定,会出现有效的写信号WR,只有当地址A8为满足“0”时,写信号才可以作为74LS273的时钟信号输入,完成数据锁存。

P2口为A8~A15的8位地址线,很容易扩展到8只LED数码管,WR信号分别与A8~A15按或关系连接,每位地址线均为低电平有效,即可实现8个有效地址。

该方案电路简单,但有效地址数太少,不适用于复杂系统设计。

低8位地址锁存


通常的设计电路是使用8D锁存器74LS373实现地址锁存,74HC573与之逻辑功能相同,只是引脚布局不一样,使用74HC573布线更容易。74LS373真值表如图4所示。





在输出允许OE为L、控制使能LE为H时,输出为跟随状态;OE为L、LE为L时,输出为保持状态。地址锁存电路如图5所示。OE接地,LE接单片机的ALE脚将产生满足时序的低8位地址信号。

执行以下三条指令会得到如图6所示的时序图:


  • MOV DPTR,# 0FF55H;低8位地址为55H。

  • MOV A,# 0AAH;待发送数据0AAH→A (55H取反)。

  • MOVX,@DPTR,A;A中的0AAH送地址为0FF55H的对象中会。




从图6中可以看出,P0口先送55H,在ALE下降沿实现地址锁存,随后送出数据0AAH,在WR有效 (低电平) 期间锁存器输出低8位地址55H,P0口送出数据0AAH。

带译码器的复杂地址接口电路


理论上高8位地址线可以产生256个有效地址,如何实现地址“扩展”呢? 地址扩展准确描述是地址译码,例如3根地址线可以译码成8个地址,4根译码成16个有效地址。这里选择3-8译码器实现地址译码,电路图以及对应的编址如表1所示。






5

单片机总线编址电路实例


带总线扩展接口的单片机系统,包括外部32k RAM扩展、LCD1602接口、输入输出口。带编址扩展的单片机最小系统电路如图7所示。





使用74HC573锁存低8位地址;74138实现8个地址扩展,74138的A、B、C接A8~A10,E1接A15, E2、E3接地常有效,得到0F8FFH到0FFFFH8个地址 (无关位用1表示) 或者8000H到8700H (无关位用0表示) 。32k RAM接口如图8所示。





D0~D7接数据总线P0口,地址线A0~A14接单片机地址总线低15位,单片机地址线A15接RAM片选信号,低电平有效,这样RAM地址分配从0000H到7FFFH,与74138译码地址不冲突。LCD1602接口电路如图9所示。





RS、RW分别接A12、A13,使能信号编址为Y7,这样LCD的四个驱动地址 (数据读写和命令读写) 为0CFFFH到0FFFFH (无关位为1) 或者8700H到0B700H (无关位为0)。 有些时候单片机引脚不够用,还要进行扩展,输入口扩展电路如图10所示。





利用74HC573 (74LS373) 的高阻态功能,将其输出Q0~Q7接P0口,在满足总线地址读操作中,可以把输入InPORT的数据读入单片机的累加器,地址为0F8FFH或8000H。输出口扩展电路如图11所示。





利用74LS273数据锁存功能,在满足总线地址写操作中,可以把单片机累加器里的数据写入273锁存输出,地址为0F8FFH或8000H。由于所用控制总线不同,可以和输入共用地址。



6

结束语


总线扩展是设计单片机控制电路必须掌握的技术,大量的特殊功能IC都支持总线接口, 如ADC0809,TLC7528,DDS器件AD9851等。


总线接口的要点就是在严格的控制时序下,总线被分时复用,以实现复杂系统设计。


-END-




推荐阅读



【01】C语言开发单片机为啥都是全局变量形式?
【02】单片机DSP必备概念:快速教会你傅立叶算法
【03】单片机程序该如何优化?一文为你指明道路!
【04】嵌入式和单片机不一样?那它们的区别在哪?
【05】该不该放弃单片机、嵌入式这条路?


免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭