总线的同步通信

时间:2024-05-22 21:21:38

总线同步通信

通信双方由统一时标控制数据传送称为同步通信。这个公共的时钟可以由CPU总线控制部件发送到每一个部件(设备),也可以让每个部件有各自的时钟发生器,时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。

   由于采用了公共时钟,每个部件什么时候发送或接收信息都由统一的时钟规定,因此,同步通信具有较高的传输频率。

总线的同步通信
同步式数据输入传输
上 图表示某个输入设备向CPU传输数据的同步通信过程。图中总线传输周期是总线上两个部件完成一次完整而可靠的传输时间,它包含4个时钟周期T1、T2、T3、T4。
主模块在T1时刻发出地址信息;T2时刻发出读命令;从模块按照所指定的地址和命令进行一系列内部动作,必须在T3时刻前找到CPU所需的数据,并送到数据总线上;CPU在T3时刻开始,一直维持到T4时刻,可以从数据线上获取信息并送到其内部寄存器中;T4时刻开始输入设备不再向数据总线上传送数据,撤消它对数据总线的驱动。如果总线采用三态驱动电路,则从T4起,数据总线呈浮空状态。
同步通信在系统总线设计时,T1、T2、T3、T4都有明确的、惟一的规定。
对于读命令,其传输周期为:
T1 主模块发地址;
T2 主模块发读命令;
T3 从模块提供数据;
T4 主模块撤消读命令。
对于写命令,其传输周期为:
T1 主模块发地址;
T1.5 主模块提供数据;
T2 主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中:
T4 主模块撤消写命令和数据等信号。
写命令的时序如下图所示。
总线的同步通信
这种通信的优点是规定明确、统一,模块间的配合简单一致。其缺点是主从模块时间配合属强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成对各不相同速度的部件而言,必须按最慢速度部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。

同步通信适用于总线长度较短、各部件存取时间比较接近的情况。这是因为,同步方式对任何两个设备之间的通信都给予同样的时间安排。就总线长度来讲,必须按距离最长的两个设备的传输延迟来设计公共时钟。但是总线长了势必降低传输频率。

存取时间是指部件接到读/写命令,到完成读出或写入一个数据所需要的时间。同步总线必须按最慢的部件设计公共时钟,如果各部件存取时间相差很大,也会损失总线效率。