首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年4月20日星期六
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
总线接口芯片PCI9054及其在高速数据采集系统中的应用
PCI Bus Interface Chip PCI9054 and Its Application inHigh-speed Data Acquisition System
■ 装备指挥技术学院 邵胜利 侯孝民


摘要:本文介绍了PCI总线接口芯片PCI9054的性能、总线操作及其DMA数据传输方式,并且通过它在高速数据采集系统中的应用实例,阐述了PCI9054在PCI接口电路设计中的简便性和实用性。

关键词:PCI总线接口PCI9054 DMA Windriver


引言

PCI(Peripheral Component Interconnect)总线即外围部件互连总线,是一种先进的高性能32/64位地址数据复用局部总线,可同时支持多组外围设备,并且不受制于处理器,为中央处理器与高速外围设备提供一座沟通的桥梁,提高了数据吞吐量(32位时最大可达132MB/s),是当今PC领域中流行的总线。PCI总线具有严格的总线规范,这就保证了它具有良好的兼容性,符合PCI总线规范的扩展卡可以插入任何PCI系统可靠地工作。一个PCI接口包括一系列的寄存器,这些寄存器中的信息允许计算机自动配置PCI卡。

目前实现PCI接口一般采用专用器件,有效方案分为两种:使用可编程逻辑器件和使用专用总线接口器件。采用可编程逻辑器件实现PCI接口比较灵活,可以利用的器件也比较多,但由于PCI总线协议的复杂性,其接口的实现比ISA等总线要困难得多,这种方法难度较大,设计周期较长。采用专用接口器件不仅对PCI协议有良好的支持,而且提供给设计者良好的接口,这些都大大减少了设计者的工作量。


PCI9054的结构和性能

PCI9054是美国PLX公司继PCI9052之后推出的又一低成本PCI总线接口芯片,低功耗,PQFP 172pins封装,它采用了先进的PLX数据管道结构技术,可以使局部总线快速转换到PCI总线上。

PCI9054主要特性

PCI9054的主要特性如下:
* 符合PCI V2.1,V2.2 规范,包含PCI电源管理特性。
* 支持VPD(Vital Product Data)的PCI扩展。
* 支持PCI双地址周期,地址空间高达4GB。
* 具备I2O准备报文单元,完全兼容I2O V1.5 规范。
* 提供了两个独立的可编程DMA控制器,每个通道均支持块和Scatter/Gather的DMA方式,DMA通道0支持请求DMA方式。
* 在PCI启动模式,PCI 9054可插入类型1和类型2的配置周期。
* 在PCI和Local Bus的数据传送速率高达132MB/S。
* 支持本地总线(Local Bus)直接接口Motorola MPC850或MPC860系列,Intel i960系列,IBM PPC401系列及其它类似总线协议设备。
* 本地总线速率高达50MHz;支持复用/非复用的32位地址/数据;本地总线可为三种模式:M模式、C模式和J模式,可利用模式选择引脚加以选择。
* 具有可选的串行EEPROM接口。
* 本地总线时钟由外部提供,该时钟可和PCI时钟异步。
* 具有8个32位 Mailbox 寄存器和2个32位Doorbell寄存器。
PCI9054的内部结构组成
PCI 9054内部有6种可编程的FIFO,其长度如表1所示,以实现零等待突发传输及本地总线和PCI总线之间的异步操作。
PCI9054的内部结构如图1所示。

表1:PCI9054内部FIFO
图1:PCI9054内部结构


PCI9054还提供了一个串行EEPROM配置接口,容量2K字节。在配置存储器中存放了厂家标示、设备标示以及本地总线的基地址空间、I/O空间、中断控制信号等信息。当初始化时,系统自动将串行EEPROM中的配置参数装入PCI配置寄存器,并根据本地总线对内存、I/O端口和中断的需求统一划分,自动配置。

PCI9054的总线操作

PCI9054的总线操作包括PCI总线操作和本地总线操作。对于PCI总线操作,它完全遵守2.2版本PCI规范。下面主要讨论一下本地总线操作。PCI9054本地总线支持非多路复用32位地址/数据总线,多路复用32位和8位,16位或32位本地总线设备从属访问,运行速率高达50MHz,可以获得200MB/S的本地总线突发传输速率。

PCI9054有3种工作方式,分别为C、M和J模式。M模式主要是针对Motorola公司高性能MPC850/860的应用而设计的,主要应用在电信领域,J模式的接口设计相对比较麻烦,比较常用的是C模式。

C模式下PCI9054分为PCI Initiator操作和PCI Target操作。在PIC Initiator操作过程中,本地处理器或本地总线主控设备能够直接通过PCI9054访问PCI总线,发起Local-to-PCI的数据传输。而在PCI Target操作过程中,PCI总线主控设备可以以可编程的等待状态、总线宽度和突发传输功能访问PCI9054的三个本地空间(空间0,空间1和扩充ROM空间)。

PCI9054的DMA突发模式

PCI9054集成了两个互相独立的DMA通道,每个通道都支持Block DMA和Scatter/Gather DMA,通道0还支持Demand DMA传输方式。

Block DMA要求PCI主机或Local主机提供PCI和Local的起始地址、传输字节数、传输方向。主机设定DMA开始位启动数据传输,一旦传输完成,PCI9054设定DMA"传输结束位"结束DMA,如果中断允许位被使能,在传输结束时PCI9054将向主机申请中断。在DMA传输中,PCI9054既是PCI总线的主控器又是Local总线的主控器。

Scatter/Gather DMA要求主机在PCI空间或Local空间设定Descriptor模块,模块包括PCI和Local的起始地址、传输字节数、传输方向和下一个Descriptor模块的地址。PCI9054载入第一个Descriptor模块并发起传输,连续加载下一个模块,直到它侦测到"链结束位"有效,PCI 9054设置"传输结束位",或者申请PCI或Local中断。这种模式下,PCI9054也可以在每个模块加载时有效中断信号结束DMA传输。若Descriptor模块在本地存储空间,可以编程使DMA控制器在每次DMA传输结束后清除传输字节数。


PCI9054的设计与应用

PCI9054作为一种通用的PCI接口芯片,以其显著的功能和特性,得到了广泛的应用,下面就其在高速数据采集系统设计中的应用进行简单介绍。

硬件结构组成

该高速数据采集系统利用PCI9054的PCI专用接口芯片的特性,设计了一个双路200M的高速数据采集卡,完成高速数据的采集和传输。

系统结构主要包括A/D转换、数据存储、逻辑控制,时钟分配和数据传输五大模块。A/D转换电路采用AD(Analog Device)公司的AD9054芯片,分辨率为8位,最高采样率200MSPS。数据存储电路采用IDT公司的产品72V36110,该芯片可以工作在133 MHz的频率下,零延迟传输,可以提供9位、18位、36位输入、输出接口,最大存储容量为128K 36Bit。逻辑控制电路采用CPLD技术,利用Altera公司的可编程逻辑器件EPM7128S完成对数据存储电路、AD采集电路、PCI桥电路的控制,对时钟电路的配置,以及各种触发控制。时钟电路产生的采样脉冲的频率范围是25MHz~400MHz,步长为1MHz,采用SYNERGY公司的频率合成器SY89429V来完成。整个硬件结构如图2所示。

图2:高速数据采集系统

从图2可以看出,主机通过PCI总线上的接口控制电路完成对采集板的控制和高速数据传输。系统工作过程可以分为两大部分。

第一步:模拟信号经过信号调理电路后送入ADC,ADC在逻辑控制电路和时钟控制电路的作用下,完成A/D转换,并将转换结果送入数据存储电路。

第二步:PCI桥电路在主机的控制下,将数据存储电路中的数据传输到微机内存中,以供应用程序进行后续的信号处理。

软件设计

PCI数据传输卡的另一关键问题即驱动程序的开发。设备驱动程序提供连接到PCI板卡的软件接口,在Windows 9x和Windows NT中,设备驱动程序必须根据Windows驱动程序模型(WDM)设计。设备驱动程序的关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设置和响应及中断的调用、以及对内存的直接读写。

该系统选用Windriver来编写设备驱动程序,Windriver是美国KRF-Tech公司出品的用于编写驱动程序的另一种工具包。它以通用设备驱动程序Windrvr.vxd和Windrvr.sys为核心,包含一个类似QuickVxD的代码生成器Windriver Wizard,一个Windriver发行包,两个公用程序pci_scan.exe和pci_dump.exe。用它编写的程序主要针对ISA/PCI设备,可同时工作在Windows 9x/NT两种操作系统,其中Windrvr.vxd用于Windows 9x操作系统,Windrvr.sys用于Windows NT操作系统,因此,它是设计PCI设备驱动程序的理想工具。

Windriver 针对PLX和AMCC的专用接口芯片特别编写了API函数包,这些函数能够方便地实现中断处理、DMA传输、I/O操作、内存映射以及即插即用等功能,为系统的驱动程序的编写提供了便利。


结论

PCI 9054 以其强大的功能和简单的用户接口,为PCI总线接口的开发提供了一种简洁的方法,设计者只需设计出本地总线接口控制电路,即可实现与PCI总线的高速数据传输。本系统经过测试,高速数据能够正确采集和传输。在高速数据传输系统中,利用PCI总线的高速特性实时传输和存储采集数据,有效解决了数据的传输和处理的实时性,可应用于高速数据采集卡、视频处理卡、网卡等高速设备中,随着PCI总线的普及应用,基于 PCI总线的传输系统设计有十分广阔的前景。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com