总线通信控制

参考链接:总线通信控制_KAKA的博客-CSDN博客_总线通信控制

总线传输周期:主设备和从设备之间完成完整地可靠的通信所需要的时长

  1. 申请分配阶段:主设备申请,总线仲裁(总线判优逻辑)
  2. 寻址阶段:主设备将地址、命令发送给从设备
  3. 传数阶段:交换数据
  4. 结束阶段:主模块撤销消息

 


 

总线通信:

一、同步通信    由统一时标控制数据传送  固定时间点上给出固定的操作

同步数据输入(以CPU为主设备为例,数据传入CPU):

 

 分析:总线传输周期分为四个周期,每个周期执行不同的任务:第一个时钟周期T1的上升沿,CPU给出地址信号,第二个时钟周期T2的上升沿,CPU给出读命令;第三个时钟周期T3的上升沿,从设备输出数据(CPU接收数据);T4上升沿,CPU的数据接收和操作命令结束;T4结束,地址传输命令结束。

同步数据输出:

 

分析:第一个时钟周期T1的上升沿,CPU给出地址信号;第一个时钟周期T1的下降沿,CPU给出数据信号;第二个时钟周期上升沿给出写命令,CPU给出写命令,在第四个时钟周期上升沿时,数据信号和控制命令停止。第四个时钟周期结束,地址信号停止。 

 


 

二、异步通信    采用应答方式,没有公共时钟标

不互锁方式:主设备给出请求后(不考虑主设备是否收到了应答请求),就撤销信号;从设备收到请求信号后给出应答信号,从设备撤销应答信号。

 

半互锁方式 :主设备给出请求信号后,从设备收到请求信号后给出回答信号,主设备收到回答信号后撤销请求信号,从设备撤销请求信号,如果接收不到应答信号,请求信号会保持

 

全互锁方式   主设备给出请求信号,从设备收到请求信号后给出应答信号,主设备收到从设备的应答信号后撤销请求信号;只有主设备撤销请求信号后,从设备才撤销应答信号

 

 

 

 


 

三、半同步通信    同步、异步结合

1.同步:发送方用系统时钟前沿发信号 , 接收方用系统时钟后沿判断,识别

2.异步:允许速度不同的模块和谐工作,增加一条等待相应信号线 WAIT

工作原理:(设CPU向某一外设读取数据)T1上升沿CPU给出地址信号,T2上升沿CPU给出控制信号,若在第三个时钟周期从设备不能准备好数据(应答部分),则需要将WAIT信号设置为低电平,Tw上升沿WAIT为低电平,等待一个时钟周期T;T3上升沿开始读数据,同时给出数据信号;T4开始结束数据信号和控制信号,T4结束时撤销地址信号

 

 

 


 上述三种通信的共同点

  • 主模块发地址,命令    占用总线
  • 从模块准备数据           不占用总线,总线空闲(WAIT)
  • 从模块向主模块发数据     占用总线

 

 

四、分离式通信  充分挖掘系统总线每个瞬间的潜力

在一个总线传输周期内

  1. 子周期1  主模块申请占用总线,使用完后即放弃总线的使用权
  2. 子周期2  从模块申请占用总线,将信息送至总线上

特点:

  1. 各模块有权申请占用总线(即主从设备状态可调换)
  2. 采用同步方式通信,不等对方回答
  3. 准备数据时不占用总线
  4. 总线被占用时,无空闲

 

版权声明:本文为SValley原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/SValley/p/14652599.html