总线通信控制

news/2024/11/17 7:19:14/

总线通信控制

  • 一、目的
  • 二、总线传输周期
  • 三、总线通信的四种方式
    • 1、同步通信
      • 同步通信数据输入过程
      • 同步通信数据输出过程
    • 2、异步通信
    • 3、半同步通信
    • 4、分离式通信

一、目的

在主模块获得总线使用权后,主设备会和从设备进行信息交换,而总线通信控制的目的就是解决主模块和从模块双方协调配合的问题。

二、总线传输周期

总线传输周期是指主设备和从设备之间完成一次完整可靠通信所需要的时间,大体可分为以下四个阶段:
1)申请分配阶段
主模块向上申请总线使用权,根据总线的判优逻辑获得总线使用权。

2)寻址阶段
主设备向从设备发出命令并给出地址。

3)传输阶段
主模块和从模块交换数据

4)结束阶段
主模块和从模块撤销相关的信息。

三、总线通信的四种方式

1、同步通信

同步通信,要有统一的定长的时钟标准来控制数据传送的过程,每一个操作、信号的给出都是在固定的时间点。

在同步通信中,模块间都用的统一的定长时钟标准,它们要在同样的时限完成规定的操作,主模块和从模块间是强制同步的,对多个速度不同的模块,必须要用最慢的那个模块来定下时钟标准,这就导致快的模块要按照慢的模块的标准来传输。
所以同步通信一般应用在总线长度较短,存取时间比较一致的情况下才使用同步通信。

同步通信数据输入过程

在这里插入图片描述

1)申请分配、寻址阶段
在传输周期开始之前,主模块必须要先获得总线的使用权,并且获得从模块的地址信号。

2)T1阶段
在T1阶段主模块必须发出读命令信号,告诉从模块CPU要从从模块读出数据。

3)T2阶段
在T3阶段开始之前,从设备内部寻址,把存储单元中的数据送往数据总线,发出数据信号。

4)T3阶段
读命令和数据信号可以撤销。

5)T4阶段
总线使用权可以撤销。

同步通信数据输出过程

在这里插入图片描述
1)申请分配、寻址阶段
在传输周期开始之前,主模块必须要先获得总线的使用权,并且获得从模块的地址信号。

2)T1阶段
在T1阶段的下降沿前,要给出数据信号,把数据发送到数据总线,在到达T2时发送写命令信号。

3)T2阶段
数据写入操作,CPU从地址总线取走要写入的地址信息,从数据总线取走数据并写入指定的存储单元。

4)T3阶段
写命令和数据信号可以撤销。

5)T4阶段
总线使用权可以撤销。

2、异步通信

和同步通信相反,异步通信没有统一的时钟标准,采用的是应答的方式。
在异步通信时,主设备发起请求,从设备受主设备的控制。
和同步相比,没有定长的时钟,但是要增加一条请求线和一条应答线,请求线用于主设备向从设备发送请求信号,应答线用于从设备向主设备发送应答信号。

异步通信的三种方式:

1)不互锁
主设备向从设备发送请求信号,从设备收到请求后作出应答,主设备不管从设备有没有应答,一段时间过后主设备会撤销请求,从设备也不管主设备有没有接收到应答信号,一段时间后也会撤销应答。
例如:张三叫李四把篮球扔过来,不管李四有没有听到,张三都不会再喊;李四听到后把篮球扔过去,不管张三有没有接到球,李四都不会再扔。
在这种情况下的通信是不可靠的。

2)半互锁
主设备向从设备发送请求信号,从设备收到请求后发出应答信号,主设备只有在收到应答信号后才会撤销请求,如果没有收到应答信号,它的请求信号会一直保持。

3)全互锁
主设备向从设备发送请求信号,从设备收到请求后发出应答信号,主设备只有在收到应答信号后才会撤销请求,从设备只有在主设备撤销请求后才会撤销应答。
这种方式可以完成可靠的通信传输。

3、半同步通信

半同步通信是同步通信和异步通信的结合,主要解决的是不同速度的两个模块之间进行通信的问题。
同步通信发送方用系统时钟前沿发信号,接收方用系统时间后沿判断识别。
异步通信允许不同素的的模块和谐工作。
半同步为了完成这两个要求,增加一条等待相应信号,这条等待信号由从设备给出。

以输入数据为例:
在这里插入图片描述
1)T1时钟前,主模块给从模块发送地址

2) T1下降沿时,主模块发送读命令

3)在T3时钟前,如果从设备不能准备好数据,wait信号有效,在T2时钟和T3时钟之间插入一个Tw周期,在T3开始前发送数据信号

4)wait信号结束,数据准备完成

5)T3周期开始接收数据,读命令和数据命令撤销

6)T4周期地址总线地址命令撤销

4、分离式通信

分离式通信充分挖掘总线每个瞬间的潜力,让总线发挥最大的效能。
一个总线传输周期可分为以下三个子周期(以输入数据为例):
1)主模块发地址、命令 (占用总线)
2)从模块准备数据 (不占用总线,且时间一般很长)
3)从模块向主模块发数据 (占用总线)

分离式通信为什么能充分挖掘系统总线的潜力?
主要是因为分离式传输把一个总线传输周期分成了两个子周期;
子周期1:主模块申请占用总线,使用完后马上放弃总线的使用权;
子周期2:从模块申请占用总线,将各种信息送至总线上;此时的从模块实际上变成了主模块,因为是当前的模块发起的总线请求。
子周期1完成地址、命令的传达后,立马放弃总线的使用权,从模块收到请求后准备数据,此时总线是空闲的,可以处理其他的总线判优操作,如其他传输的子周期1或子周期2;如果不分子周期,一个传输周期一直占用总线,在从模块准备数据时总线是空闲的,但周期未结束,总线无法处理其他请求。
所以分离式通信可以充分挖掘总线的潜力,提高系统总线的利用率。

分离式通信的特点:
1)各模块有权申请占用总线
2)采用同步方式通信,不等对方回答
3)各模块准备数据时,不占用总线
4)总线被占用时无空闲


http://www.ppmy.cn/news/571975.html

相关文章

CHI总线概述

CHI(Coherent Hub Interface)总线用于根据系统性能、功耗、面积的设计需求,来构建片内互连的小型、中型和大型系统。 基于CHI系统上的组件包括单CPU、CPU簇、GPU、存控、IO桥、PCIe子系统,和内部互连本身。 基于CHI系统的基本特…

SMBUS的介绍与访问

博文是为了总结自己在bios学习上面的点点滴滴,并且加深印象,由于本人水平有限,难免存在不足之处,望指正,同时感谢CSDN提供的平台。本文主要介绍的是SMBUS。 1 SMBUS的简介 特点: SMBUS,System …

总线(Bus)

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制…

SMBus

前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。 smbus协议 注: 转自 (http://www.programgo.com/arti…

DSP SMBus总线通信

参考文档:System Management Bus (SMBus) Specification Version 3.0.pdf 简介: SMBus(System Management Bus)于1995年被 Intel 提出,应用于低速率通信,是一种二线制串行总线,该总线大部分基…

SMBus总线与I2C总线的区别

reference: http://smbus.org/specs/ 1、介绍 系统管理总线(SMBus)是一个两线接口。通过它,各设备之间以及设备与系统的其他部分之间可以互相通信。它基于I2C操作原理。SMBus为系统和电源管理相关的任务提供一条控制总线。一个系统利用SMBus可以和多个设备互传信息…

什么是I3C总线?它和I2C和SMBus是什么关系?

计算机技术发展十分迅速,三十年前,一间房子大小的小型机的算力,到现在还比不上大家手机CPU的算力。令人吃惊的是,有这么一种38年前的技术,现在还在大家的电脑中运用十分广泛,甚至它的控制器在计算机中的个数…

SMBus总线概述

1.概述: 系统管理总线是一种两线制接口。它基于I2C 总线原理演变而来,可以认为是简化版的I2C总线。 SMBus最初 是应用到 智能电池,如电池充电器和一个微控制器。其提供一个系统和电源管理相关的任务控制总线。如今,SMBus总线可以连接的设备类型更多样化,包括与电源相关的设…