中国电子技术网

设为首页 网站地图 加入收藏

 
 

单片机必备技术:总线扩展

关键词:计算机系统 微处理器 三总线

时间:2020-06-28 09:56:09      来源:网络

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

  总线概述

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

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

  二、单片机的三总线结构

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

  单片机三总线扩展示意如图 1 所示。

  、数据总线

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

  、地址总线

  系列单片机的地址总线为 16 位。

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

  高 8 位地址则通过 P2 口送出。

  、控制总线

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

  三、单片机总线时序分析

  单片机总线时序如图 2 所示。

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

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

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

  四、常见单片机编址电路

  、简单地址扩展

  单片机的 P2 口可以直接作为高 8 位地址总线使用,在一些简单系统电路中,常使用 P2 口直接编址驱动。

  下面以使用数据缓冲器 74LS273 驱动数码显示为例,分析 P2 口编址驱动的静态数码显示电路的设计。

  一位 LED 数码显示单元电路如图 3 所示。  

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

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

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

  、低 8 位地址锁存

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

  在输出允许 OE 为 L、控制使能 LE 为 H 时,输出为跟随状态;OE 为 L、LE 为 L 时,输出为保持状态。

  地址锁存电路如图 5 所示。OE 接地,LE 接单片机的 ALE 脚将产生满足时序的低 8 位地址信号。

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

  ,# 0FF55H; 低 8 位地址为

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

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

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

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

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

  五、单片机总线编址电路实例

  总线扩展接口的单片机系统,包括外部 32k RAM 扩展、LCD1602 接口、输入输出口。

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

  、RW 分别接 A12、A13,使能信号编址为 Y7,这样 LCD 的四个驱动地址( 数据读写和命令读写) 为 0CFFFH 到 0FFFFH ( 无关位为 1) 或者 8700H 到 0B700H( 无关位为 0)。

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

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

  六、结束语

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

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

  • 分享到:

 

猜你喜欢

  • 主 题:PIC®和AVR®单片机如何在常见应用中尽展所长
  • 时 间:2024.11.26
  • 公 司:DigiKey & Microchip

  • 主 题:高效能 • 小体积 • 新未来:电源设计的颠覆性技术解析
  • 时 间:2024.12.11
  • 公 司:Arrow&村田&ROHM

  • 主 题:盛思锐新型传感器发布:引领环境监测新纪元
  • 时 间:2024.12.12
  • 公 司:sensirion

  • 主 题:使用AI思维定义嵌入式系统
  • 时 间:2024.12.18
  • 公 司:瑞萨电子&新晔电子