总线通信控制
- 一、目的
- 二、总线传输周期
- 三、总线通信的四种方式
- 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)总线被占用时无空闲