EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于PCI的单板计算机应用中起到系统控制器作用的实现方法

美国模拟器件公司 David Katz R?? 2012年04月18日 ?? 收藏0

PCI接口的特点

为了便于下一步的讨论,先明确几个与PCI有关的关键术语。

主机与设备,主控器与受控器

PCI的主要特点之一就是对等通信。考虑到大多数的设备都支持一种“主控器”操作,随后设备就可以在彼此之间或者与系统主机(例如,图1(a)所示的MCU或PC)之间通信。在这种拓扑结构中,所有的设备,包括主机,都能作为一个特定PCI事务的主控器或者受控器。主机与设备的区别就在于主机可以在总线上配置各PCI代理并且提供总线仲裁。通过配置,各PCI代理(可以主控总线的设备)将彼此看成是一种存储映像设备的集合,可以通过在它们各自的存储器区域中发起数据传送来访问这些设备。每个PCI代理都可以对目标机(“受控器”)发起一次数据传送,从而成为该特定事务的总线主控器。

总线仲裁

在一些嵌入式应用中,当前的总线主控器可以不止一个,这时就需要一个PCI总线判决器。在嵌入式应用中利用一个小型的可编程逻辑电路(PLD)很容易实现这种功能(以前都由PC提供)。每个可能的总线主控器都有两条线(一条用于请求,一条用于授权)进入总线判决器。当一个总线主控器要求使用PCI总线时,必须在其设备请求线上申请。判决器来决定什么时候授予其总线使用权并在适当的时候通知其授权线。虽然PCI标准中没有规定具体的仲裁算法,但是要求有“一种公平的算法以防止死锁”。通常,可以采用一种简单的轮循方法来确保不会有某一个总线主控器独占总线。

性能

如果数据吞吐量性能很重要,那么突发传送是很关键的。PCI总线上的突发传送主要是由同一地址段接连发生至少两次数据传送而引起的。和其他的传送类型一样,一旦总线主控器接收到PCI总线的使用权,就要传送其起始地址和事务类型。在实际的PCI系统中,总线主控器和目标机必须都支持突发事务。例如,如果目标机只支持单一事务,性能就会极大降低,因为该总线主控器必须反复申请总线使用权并传送每个事务的地址。当总线主控器和目标机都支持突发事务时,该PCI上的带宽就能达到132MB/s(4B×33MHz)的最高吞吐量。

硬件结构图
硬件结构图

直接存储器存取(DMA)是提高接口中数据传送带宽的关键,因为它在传送数据时所需内核处理器的干预最小。这种采集或传送数据的设备可以利用其自带的DMA控制器,自动地从处理器来回传送数据。DMA通过利用PCI的突发能力来存取接口中的大块数据,从而极大地提高了性能。这种能力推动了诸如实时视频处理等应用的发展。

对多处理器系统的内在支持

通过用PCI总线连接多个嵌入式处理器,就能实现一个多处理器系统。采用这种直接的连接方式很容易就能使计算能力成倍增加。有了附加的数据总线以及每个处理器访问存储器的能力,就能处理数据流。采用这种方法,无须增加算法的编程复杂度就可以在每个处理器之间对数据进行分区。另外,即使是在视频吞吐速率,仍然有足够的可用空间用于与控制有关的传送开销。

从系统控制器的角度看PCI

PCI存储器模式

PCI协议使用基地址寄存器(BAR)为各设备分配存储器和I/O范围。在配置期间,主机会询问各个设备以便决定每个设备所需资源。如果主机可以提供所有这些资源需求,它就会在每个设备的存储器BAR和I/O BAR中写入相应的起始地址。然后,通过对其存储器或者I/O范围内发起一次传送就可以访问每个设备了。此外,每个PCI代理都可以访问总线上的所有其他代理。

《电子设计技术》网站版权所有,谢绝转载


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈