嵌入式系统中PCI总线仲裁器的设计方法
嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电器工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。由于嵌入式系统通常进行大量生产。所以单个的成本节约,能够随着产量进行成百上千的放大。
PCI总线是现今最为流行的工业控制总线之一。它广泛地应用在计算机中,很多目标嵌入式设备中的解决方案都包含了PCI总线。这里介绍一种基于CPLD(复杂可编程逻辑器件)的PCI总线仲裁器的设计方法,可以为系统量身定制适合于系统本身的PCI总线仲裁器。
1 PCI总线仲裁简介
1.1 PCI总线的仲裁原理
PCI总线是一种共享式的总线,可以连接多个主设备,但由于数据传输的独占性,每一时刻只能由一个主设备占用总线。因此,为了有效地利用PCI总线宽带,必须设置一个总线仲裁器,按照一定的算法协调系统中各个主设备的操作。
PCI总线仲裁的裁决过程可以在PCI传输期间完成,并不占用PCI总线的宽带,这称为隐式仲裁,即需要发起PCI操作的设备可以随时发出请求REQ#,PCI仲裁器立即批准该请求被给出GNT#,但是真正的传输操作一定要等到当前传输完成,即总线空闲后才可以开始,图1描述了PCI总线设备与仲裁器的关系。
1.2 PCI总线仲裁规则约定
(1)仲裁器的仲裁算法必须保证所有的设备都能得到授权的机会,否则将会出现某个优先级低的设备永远不能占有总线进行事务操作的情况。
(2)如果FRAME无效,GNT可以在任意时间撤销,以便服务于另一个主设备或者作为对主设备车REQ的响应。
(3)如果GNT信号被撤销但FRAME有信号,当前的总线正在传输数据,则操作合法。
(4)如果总线不处于空闲状态,则允许一个GNT的撤销和另一个GNT的发生在同一个周期,如果处在空闲状态,则要求一个GNT撤销到下一个GNT的发出之间必须有一个时钟周期间隔,否则可能会在AD线和PAR线上出现冲突。
(5)GNT信号的每次发出,只限于相应的总线主控器可以使用总线进行一次总线操作。仲裁器会按照特定的仲裁算法来决定是否仍判给该主设备。
(6)一个主控器可以在任意时刻撤销其REQ信号,REQ信号一旦撤销,仲裁器将认为该设备不再请求使用总线,因而撤销其GNT信号。
相关文章
- 2024-02-22高空作业车工作斗限重控制系统设计与应用
- 2024-03-01一种气体流量的软测量系统研究
- 2023-12-06智能电针治疗仪原理与实现
- 2024-10-30分贝的计算及应用
- 2023-11-06坐标测量机在几何量精密测量实验教学中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。