5.4.3计数器仲裁方式
计数器仲裁方式如图5.3所示。图中BS是总线“忙”信号,BR是总线请求信号。
总线上的某一个主模块需要使用总线时,通过B双发出总线请求信号。总线控制器接到总线请求信号后,如果总线忙信号无效,则使计数器开始加1计数,并且将每一个计数值通过一组地址线发送(广播)到各主模块,每一个模块都会收到这些计数值。每一个模块的接口都有一个模块地址判别电路,当地址线上的计数值与模块的地址值一致时,该模块便置总线“忙”信号为有效,从而获得总线使用权,终止计数。
每次计数都可以从0开始,也可以从前一次终止的地方开始。如果从0开始计数的话,优先顺序与串行方式是一致的;如果从终止点开始计数,则每一个模块的优先权都是一致的。计数器的初值可以从程序中设置,以增加优先权控制的灵活性。