总线控制
总线判优控制
可以分为集中式(逻辑集中到一起)和分布式(分布在各个设备上)两种
(1)链式查询
三总线控制:BG用于总线同意,BR用于总线请求,BS用于总线忙。
设备请求总线时,发出BR信号,当BS为0,即总线此时空闲时,BG总线同意信号串行的从I/O接口向下传送,离控制部件最近的设备具有最高的优先级,当到达的接口处有总线请求,则不再向下传播。
计时器的定时查询方式
当总线控制部件收到总线请求信号,在BS=0,即总线没有被使用时候,计时器开始计数,当发出某个总线请求的设备地址与计时器数值相同时候,获得使用权,此时终止计时器查询。下次计数也可以从上次中断点开始。
独立请求方式
每台设备都有一个总线请求线BR和总线同意线BG,设备想要获得总线使用权时,独立发出请求信号,总线控制部件根据优先级相应请求。
总线通信控制
将一次总线操作的时间称为总线周期
(1)申请分配阶段:要使用总线的设备提出申请。
(2)寻址阶段:取得了使用权的主模块设备通过总线发送从模块设备的地址和相关命令,启动从模块。
(3)传数阶段:主模块和从模块进行数据交换。
(4)结束阶段:主模块的有关信息从系统总线上撤出,让出总线使用权。
同步通信:通信双方由统一的时钟控制。
读操作
T1主模块发出地址
T2主模块发出读命令
T3从模块发出读到的数据
T4主模块撤销命令,从模块撤销数据。
写操作
T1主模块发出地址。
T1.5主模块发出数据。
T2主模块发出写命令。
T4主模块撤销写命令和数据。
异步通信
(1)不互锁方式:
主模块发出请求信号后,无须等待从模块回答,而是执行其他任务,设立计时器等判断,
过一段时间后 ,如果收到了确认信号,则取消请求信号,如果没,依然撤销。
从设备收到后,发出确认信号,不管主模块收到与否,最终都撤销确认信号。
(2)半互锁方式:
主模块发出请求信号后,必须等待从模块回答,才能撤销请求信号,
而从设备发出请求信号后,过一段时间自动撤销自己的回答信号。
(3)全互锁方式:
主模块发出请求信号后,必须等待从模块回答,才能撤销请求信号,
而从设备发出请求信号后,只有等待主模块撤销请求信号后才会撤销自己的回答信号。
异步通信的信号传送速率用波特率衡量:
波特率指单位时间传送的二进制数据的位数,单位用bps(位/秒),记作波特。
异步通信的串行传输方式发送十六进制的数据95H,
字符格式为:1位起始位,8位数据位,1位偶校验位,1位停止位。
数据位D0-D7从最低位到最高位依次表示数据,
起始位在数据位之前,一般为0,
校验位在数据位之后,这里为偶校验位,检查数据中1的个数为4,
即是偶数,所以该处为0,(如果数据位1的个数为奇数,该位是1)
停止位在校验位之后,一般为1.
半同步通信
保留了同步通信的一些特点,即时钟信号上升沿发出信号,紧接着接收方在时钟后沿判断,
也有异步通信特点,即允许不同速度的设备协调工作,设立了等待信号,
如果设备繁忙,无法按时提交,那么等待信号为低电平(该信号设为低电平有效),
此时主模块会会插入等待的一个时钟周期,如果下次等待信号依然低电平,
那再次插入,直到等待信号为高电平,读取数据。