高速PCI总线接口卡的开发

发布者:风清扬yx最新更新时间:2012-05-05 来源: dzsc关键字:PCI总线  PCI9052  TMS320LF2407 手机看文章 扫描二维码
随时随地手机看文章

PCI总线技术已经应用于形形色色的微机接口中。同在声卡、网卡甚至有些显示都是基于PCI总线技术的,一些高速数据传输系统中也需要用到PCI总线技术。PCI总线技术的出现是为了解决由于微机总线的低速度和微处理器的高速度而造成的数据传输瓶劲问题,PCI局部总线是在ISA总线和CPU总线之间增加的一级总线。由于独立于CPU的结构,该总线增加了一种独特的中间缓冲器的设计,从而与CPU及时钟频率无关,用户可以将一些高速外设直接挂到CPU总线上,使之与其相匹配。PCI局部总线使得PC系列微机结构也随之升级为现在的基于PCI总线的三级总线结构。PC机的三级总线结构如图1所示。

1 PCI总线接口卡的开发

PCI局部总线最显著的特征是速度快。ISA总线的传输速率为5MB/s,EISA总线的传输速率为33MB/s,PCI1.0标准定义的总线传输速率为132MB/s,PCI2.0标准定义的总线传输速率为264MB/s,PCI2.1和PCI2.2标准定义的总线传输速率为512MB/s。而新一代PCI-X技术则在原有PCI总线技术的基础上增加了许多新的技术特征,利用PCI-X技术可以为千兆以太网卡、基于Ultra SCSI320的磁盘阵列控制器等高数据吞吐量的设备提供足够的宽带。1999年PCISIG(PCI特别兴趣小组发布的PCI-X1.0标准最高可提供1GB/s的传输速率,而2003年推出的PCI-X2.0标准则最高可提供4.3GB/s的传输速率。

    目前,PCI总线接口电路的选择主要有两种方案。一种是选用可编辑逻辑器件(PLD)。使用PLD,用户可以灵活地开发出适合自己需要的具有特定功能的芯片,但PCI总线协议比较复杂,设计PCI控制接口难度较大,对于一般的工程项目来说,成本较大。现在有许多生产可编程逻辑器件的厂商都提供经过严格测试的PCI接口功能模块,用户只需进行组合即可。另一种是选用PCI专用芯片组(又称桥接电路),通过专用芯片来实现完整的PCI主控模块和目标模块的功能,将复杂的PCI总线接口转换为相对简单的用户接口,用户只需设计转换后的总线接口。本设计中选用PCI总线专用接口芯片来开发接口卡。

1.1 接口芯片介绍

PCI总线接口电路又分为主控设备和目标设备。主控设备可以控制总线,驱动地址、数据和控制信号;目标设备不能启动总线操作,只能依赖于主控设备从其中读取数据或向其传送数据。主控设备芯片价格比较高,目标设备芯片价格则比较便宜,而且目标设备芯片比较简单、易于操作。

目前两大PCI专用接口芯片生产商是AMCC公司和PLX公司。AMCC公司的PCI接口芯片有S5920、S5933、S5935等。S5920是目标设备芯片;S5933既可以设置为主控设备芯片,又可以设置为目标设备芯片;S5935是S5933的改进版,同样既可以设置为主控设备芯片,也可以设置为目标设备芯片。PLX公司在PCI接口芯片的设置生产中首屈一指,其目标设备芯片产品主要有PCI9030、PCI9052和PCI9050,PCI9050和PCI9052可以运用于ISA卡转接PCI的设计中,PCI9030是专门为嵌入式系统设计的;主控设备芯片产品主要有PCI9054、PCI9080和PCI9060,PCI9060是最早的32位主控设备芯片,PCI9080是PCI9060的后继产品,而PCI9054则是一种性价比很高的芯片,其性能比PCI9080、PCI9052更优越。

由于主控设备芯片比较复杂,而且价格昂贵,所以对处理速度和传输速度要求不是特别高的场合应尽量选用目标设备芯片。本设计中选用PLX公司的PCI9052目标设备芯片来设计PCI接口电路。

1.2 PCI9052介绍

PCI9052是PLX公司继PCI9050之后推出的低成本、低功耗、32位PCI总线接口芯片,利用它可以使局部总线快速转换到PCI总线上。

PCI9052芯片的设计符合PCI2.1规范。它支持低成本从属适配器,其局部总线可根据需要配置成复用或非复用模式的8、16或32位的局部总线。PCI总线侧的时钟频率范围为0~33MHz,局部总线与PCI总线的时钟相互独立,局部总线的时钟频率范围为0~40MHz,两种总线的异步运行方便了高低速设备的相互兼容。PCI9052芯片内部有一个64字节的写FIFO和一个32字节的读FIFO,通过读写FIFO,可实现高性能的突发式数据传输,也可以进行连续的单周期操作。

1.3 硬件设计

由于PCI9052属于目标设备芯片,只能依赖于主控设备从其中读取数据或向其传送数据,所以需要一个微处理器对通过PCI9052从PCI总线发送到局部总线的命令作出处理响应,或者把用户想要传送的数据以中断的方式通知PCI总线来读取。本设计中微处理器选用TI公司的C2000系列的16位DSP芯片TMS320LF2407。

TMS320LF2407是TI公司推出的定点DSP处理器,是一款性价比较高的芯片。它采用高性能静态CMOS技术,供电电压为3.3V,指令周期可达25ns,片内有高达32K字的FLASH程序存储器、1.5K字的数据/程序 RAM、544字双口RAM(DARAM)和2K字的单口RAM(SARAM),可以分别扩展64K字外部程序存储器、64K字外部数据存储器和64K字I/O寻址空间;片内还集成了包括CAN控制器在内的多个外围模块及存储器,可以运用于电机及逆变电路的控制中;10位16通道的A/D转换器最小转换时间为500ns;内部自带看门狗定时器模块(WDT)和16位的串行外设接口模块(SPI)。另外,该芯片有高达40个可单独编程或复用的通用输入/输出引脚、一个串行通信接口(SCI)、一个并口和5个外部中断。目前投入市场试用的C2000系列的32位DSP芯片TMS320LF2812采用的是150MHz的时钟速率,其指令周期只为6.7ns,存储器可以扩展到1M,速度更快,功能更强大。

PCI接口卡硬件总体设计如图2所示。图中,DB代表数据总线,AB代表地址总线,CB代表控制总线。

图2

    PCI9052的PCI总线直接与金手指连接,局部总线与DSP之间的数据传输在双端口RAM中实现。双端口RAM采用两片CYPRESS公司的双端口RAM芯片CY7C131,组成16位存储转接电路PCI9052和CY7C131供电电压均为5V,而TMS320LF2407供电电压为3.3V,所以接口电平不匹配,需要加总线电平转换电路,这里选用16位总线传送接收器74FCT64245来实现。PCI9052的控制信号和TMS320LF2407的控制信号之间的逻辑转换用一片ALTERA公司的PFGA芯片EPM7032LC44来实现。

TMS320LF2407的外围电路可以根据需要扩展。由于TMS320LF2407内部自带32K字的FLASH程序存储器,程序调试完毕后可以烧写进去,但程序调试过程中需要频繁修改程序,所以可展一片存储器,调试程序时当作程序存储器用,程序调试完毕后再作为数据存储器用,这样既方便又实用。TMS320LF2407有一个串行通信接口和一个16位并行通信接口,串口可以做成RS485、RS232、RS422、SDI总线接口等,并行通信接口可以做成16位并行输入输出接口。

1.4 电路板制作

(1)在连线上只要将对应的引脚连在总线上就可以了。由于信号用的是反射波信号,所以驱动的信号只用了要求电压的一半,另一半靠反射来提升,所以对信号线的长度有要求:CLK信号线的长度为2500mil±100mil。如果长度不够可以画蛇行线,另外 ,CLK信号线要用地线屏蔽。

(2)PCI总线规范要求布四层线,也可以只布两层线。布两层线时,走线难度增大,要做好电源退耦。每个Vcc引脚必须有退耦电容,且容量的平均值至少为0.01μF,从引脚根部到电容焊盘的走线长度不大于250mil,线宽至少为20mil,多个引脚可以并用一个电容,并且参与共用的引脚数不受限制,但必须满足以上条件。

(3)PCI总线信号PRSNT1#的PRSNT2#中必须有一个接地。如果都不接地,系统找不到开发板。它们接地有两个用途,其一,用来表明槽位上实际存在一块板;其二,提供该板对电源要求的有关信息。表1给出了PRSNT#引脚的设备情况。

表1 PRSNT#引脚的设置情况

PESNT1# PRSNT2#

扩展板配置

开路 开路 不存在扩展板
开路 有扩展板,最大功耗为25W
开路 有扩展板,最大功耗为15W
有扩展板,最大功耗为7.5W

[page]

(4)对于不实现JTAG边界扫描的板子,必须把引脚TDI和TDO连接起来,以使扫描链不至于断开。

(5)PCI连接器上的3.3V引脚(即使实际使用中未提供电流)在母板上必须连到一起,最好连到一个3.3V的电源平面上。而且,对3.3V引脚应提供一个交流回路,这时对地去耦应符合高频信号技术的要求。为此,应在3.3V平面上均匀排列12个高速电容,容易为0.01μF。

(6)为了稳定性,局部总线除了少数有特殊要求外,所有的信号线都应加上拉电阻(5kΩ~10 kΩ)或下拉电阻(一般选150kΩ)。

(7)为防止干扰,局部总线时钟也应对地屏蔽。

(8)串行EEPROM提供PCI总线和局部总线的部分重要配置信息,EEPROM一定要选支持串行传输方式的,如NM93CS46或者与之兼容的存储器。NM93C46不支持串行读写,所以不能选取。NM93CS46的CS、SK、SDI、SDO和PE端都要接10kΩ的上拉电阻,而PRE端要接150kΩ的下拉电阻。EEPROM的配置至关重要,EEPROM配置不正确可能导致操作系统无法运行。系统启动时自动检测EEPROM的开始48拉是否全为“1”,若全为“1”,则载入PCI9052的默认配置;否则则装载EEPROM中的内容,为板卡分配资源。串行EEPROM可以通过PCI总线直接写入,也可以用编程器直接烧写。

1.5 程序调试

1.5.1 FPGA程序的开发

可编程器件的设计软件种类很多,各大器件厂家及一些软件公司都开发了一些设计软件。软件的设计根据逻辑功能的描述方法可分为语言描述设计和原理图描述设计两个类。常见的如DATA I/O公司的ABEL语言、四通公司ASIC事业部开发的针对GAL器件的FM(Fast MAP)软件等属于语言描述类设计软件;而DATA I/O公司的Synario软件、Orcad公司的PLD等软件属于电路图描述或电路图描述与语言描述相结合设计的软件。

本设计中FPGA的编程只涉及到信号逻辑转换,所以只需选用语言描述类设计软件,这里选用DATA I/O公司的ABEL语言描述设计软件。程序调试结束后用编程器写入FPGA芯片即可。

1.5.2 DSP程序开发

TI公司提供了DSP专用仿真器和仿真开发系统,C2000系列的开发系统最新版本为CCS2.2。对于不同的仿真器,只要安装驱动程序即可使用该开发系统进行仿真。仿真器选用最新款的带USB接口的ICETEK51000USBV2.0仿真器。由于该仿真器使用USB接口,所以不需外接供电电源,实用又方便。

由于硬件设计时扩展了可转换的存储器,进行仿真时把存储器接成程序存储器,程序可以直接转载到扩展的存储器中进行调试,免去了往FLASH中烧写的麻烦,程序调试完毕后再固化到FLASH中。

2 PCI总线接口卡的软件驱动开发

PCI卡的硬件调试需要结合软件程序的调试来完成。PCI卡的驱动程序开发有多种途径,驱动开发工具也有多种选择。

2.1 驱动开发工具的选取

(1)DDK(Driver Device Kit)

许多VMM服务都使用寄存器的调用方式,使用起来不是很方便,没有4深厚的汇编语言及硬件基础很难在短时间内开发出设备驱动程序。Micorosoft公司提供了设备驱动程序工具箱(DDK),它是基于汇编语言的编程方式的,DDK的优点是可以开发核心态的真正意义上的驱动程序,开发出来的驱动程序效率是最高的。

(2)DS(Driver Studio)

DS是一个驱动程序集成开发包,其中包括了DriverAgent、VtoolsD、DriverWorks、SoftICE Driver Edition、BoundsChecker Driver Edition、DriverWorkbenc、FieldAgent for Drivers等。几中常见的DS驱动开发工具介绍如下:

·Drivergent为Win32应用程序提供了访问硬件的接口。

·VtoolsD支持Windows95和Windows98的驱动程序开发(VxD)。VtoolsD包括代码生成器、实时接口库和可以作为开发一类驱动程序的例子程序。

·DriverWorks包括为Windows NT和Win32 Driver Model(WDM)开发驱动程序的完整的开发框架,同时也支持Windows98和Windows2000下驱动程序的开发。DriverWorks包含一个复杂的代码生成工具(Driver Wizard),其中含有支持C++下编程的类库和例子程序。

(3) WinDriver

WinDriver是KRF-Tech公司的一套PCI驱动程序开发包。它改变了传统驱动程序开发的方法和思路,极大地简化了驱动程序的编制;同时又没有牺牲驱动程序的性能,是一套高效、快捷的PCI驱动程序开发软件包,特别适合专业硬件人员使用。

利用WinDriver开发驱动程序不需要熟悉操作系统的内核,整个驱动程序中的所有函数都是工作在用户态下的,通过与WinDriver的.Vxd或者.Sys文件交互可达到驱动硬件的目的。由于是一个用户态程序,效率的高低也就成了人们选择WinDriver时关心的问题。大量实践数据表明,WinDriver并没有通过牺牲系统性能来换取驱动程序的快速开发。本设计中选用WinDriver来开发驱动程序。

2.2 WinDriver开发驱动程序

在WinDriver的体系结构中,WinDriver Kernet处于中心位置,它提供的用户态库函数(API)实际就是对WinDriver Kernel中实现的功能进行调用。几乎所有用户同硬件的交互都是通过WinDriverKernel来实现的,这样就极大地解放了开发人员。用户的主要任务就是利用WinDriver提供的用户动态函数库(API函数库)在用户态实现自己的驱动程序代码,完成硬件驱动的功能。

基于WinDriver的设备驱动程序主要分为驱动程序和应用程序两部分。利用DriverWizard生成.inf驱动程序,安装该驱动程序后,系统就根据EEPROM中的配置信息给板卡分配资源,接下来就可以进行应用程序的开发了。利用DriverWizard生成应用程序框架后,用户把生成的框架整理到自己的程序中,再添加实际应用中需要的功能就完成了软件的开发。

PCI总线是计算机总线的枢纽,其速度是一般总线望尘莫及的,其应用也十分广泛。利用本文介绍的方法开发出的板卡可以运用于各种高速数据传输场合中,发雷达系统仿真控制、工业总线控制、高速数据采集、图像采集等。本设计在对芯片的选型时本着经济实用的原则,开发出的板卡性价比较高。

关键字:PCI总线  PCI9052  TMS320LF2407 引用地址:高速PCI总线接口卡的开发

上一篇:基于CH371的实用USB接口设计
下一篇:基于USB接口的CAN总线适配器设计

推荐阅读最新更新时间:2024-05-02 22:02

基于TMS320LF2407A的低压动态无功补偿装置
   1、概述 近年来,随着城乡电网改造的实施和深入,在0.4kV级电网上安装低压动态无功补偿装置,可以提高供电质量、挖掘供电设备的潜力、降低线损等越来越被大家所共识。低压动态无功补偿装置一般由微控制器、投切电容器用开关、电容器组、空气开关、熔断器、不锈钢壳体等组成。其结构简单、投切方便灵活、节能效果显著,因而全国大约300多家企业生产无功补偿装置。但其中多数是技术水平低,缺乏较齐全的检测设备,生产量小,质量难以保证。尤其作为无功补偿装置关键单元的控制器和投切电容器的开关更是差异悬殊。本文就无功补偿装置的一些核心单元进行了重点剖析,并记录了一台森宝电气公司生产的无功补偿装置在西安供电局挂网运行情况数据。 信息来源:http
[嵌入式]
基于<font color='red'>TMS320LF2407</font>A的低压动态无功补偿装置
采用PCI9052设计PCI总线运动控制卡
引言 运动控制技术在工业、办公和家庭等自动化方面的应用日益广泛,控制形式也由以机械提供动力驱动的简单启停控制,发展到对其位置、速度、加速度、转矩等的精确控制。原先的“电机拖动”、“电气传动”已经发展到“运动控制”的新阶段。 运动控制芯片 PCI总线是一种先进的高性能32/64位地址数据复用局部总线,可以同时支持多组外围设备。实现PCI总线接口的方法主要有两种:一是采用CPLD或FPGA设计PCI接口,这种方法比较灵活,但是其难度较大,设计周期也较长。二是采用专用的PCI接口芯片,可以大大减少设计者的工作量,从而缩短开发周期,降低开发成本。本运动控制卡采用PLX公司的PCI9052接口芯片进行设计,该芯片符合PCI2.1规范。
[应用]
基于cPCI总线的嵌入式遥测前端处理器系统设计
遥测数据处理系统在航空、航天等军工试验领域有着广泛的应用。在航空飞行试验中.遥测数据处理系统为各类试飞测试数据的实时处理提供了手段和平台,是试飞员、试飞指挥员及试飞工程师协同完成新机试飞必不可少的重要设施,是确保现代飞机试飞安全、提高试飞效率、缩短试飞周期、实现综合试飞的重要手段。 遥测数据处理系统中的核心设备——遥测前端处理器,技术上经历了从分立式、智能式到嵌入式的快速发展。我国遥测前端处理器的研发经历了从引进、合作研制到完全自行研制的历程。 遥测前端处理器是一套嵌入式实时计算机系统,承担着遥测PCM数据的同步、分路、工程单位转换、数据计算、数据分配等实时处理任务。它和遥测系统管理服务器、工作站等设备通过网络联接和系统集成,组成当
[嵌入式]
处理器的HPI接口与PCI总线接口设计
  数字信号处理器DSP(Digital Signal Processor)是一种特别适合于进行数字信号处理的微处理器,凭借其运算速度快、功能强等特点,在各个领域的应用越来越广泛。但在很多场合下需要将DSP的各种外围设备同计算机连接,以实现数据传输。通常情况下可利用DSP的串口或I/O口来实现,但无论是接串口还是接I/O口都要占用DSP的硬件资源,同时数据的传输速度有时也不能满足系统的要求。为了解决这一问题,将DSP的HPI口通过PCl2040芯片桥接到PCI总线。本文以TMS320VC5402(简称VC5402)为例,介绍DSP的HPI口及其与PCl2040的接口设计。 1 HPI接口功能及特点   主机接口HPI(Host
[嵌入式]
一种基于PCI总线和DSP技术的虚拟仪器设计
传统的虚拟仪器由一块基于PCI总线的直接利用A/D和D/A芯片构成的数据采集板卡和相应的软件组成,但随着计算机网络技术的迅速发展,越来越多的数据需要由计算机处理、存储和传输,由于通用计算机本身的特点,它们通常不适于进行实时性要求很高的数字信号处理,因此这种虚拟仪器不能满足现实应用对数据实时处理能力、数据传输能力以及数据管理能力所提出的越来越高的要求。   与此同时,随着数字信号处理器(DSP)性价比的不断提高,其应用领域飞速扩展,从而使基于PCI总线和DSP技术的新型虚拟仪器应运而生。   系统的基本框架   笔者设计的基于PCI总线和DSP技术的虚拟仪器的基本框架如图1所示。   整个系统是基于模块化的设计理念来实现的,
[工业控制]
一种基于<font color='red'>PCI总线</font>和DSP技术的虚拟仪器设计
PCI通用接口芯片CH361应用接口电路
  1 主要特点   CH361是一个简便易用的PCI总线通用接口芯片.该器件在本地端提供了通用的8 位数据总线.由于其支持I/O 端口映射和扩展ROM 映射,因而可广泛应用于制作低成本的基于PCI总线的计算机板卡,或者用于将原先基于ISA 总线的板卡移植到PCI总线上.   CH361的主要特点如下:   ● 带有通用8位主动并行接口:包括8位数据、16位地址、I/O读和写以及存储器读和写;   ● 可以设定PCI设备的设备标识(Vendor ID,Device ID,Class Code 等);   ● 支持长度达240字节的I/O端口;   ● 允许本地硬件地址实现专用I/O端口,可直接移植I
[嵌入式]
基于TMS320LF2407A的低压动态无功补偿装置
   1、概述 近年来,随着城乡电网改造的实施和深入,在0.4kV级电网上安装低压动态无功补偿装置,可以提高供电质量、挖掘供电设备的潜力、降低线损等越来越被大家所共识。低压动态无功补偿装置一般由微控制器、投切电容器用开关、电容器组、空气开关、熔断器、不锈钢壳体等组成。其结构简单、投切方便灵活、节能效果显著,因而全国大约300多家企业生产无功补偿装置。但其中多数是技术水平低,缺乏较齐全的检测设备,生产量小,质量难以保证。尤其作为无功补偿装置关键单元的控制器和投切电容器的开关更是差异悬殊。本文就无功补偿装置的一些核心单元进行了重点剖析,并记录了一台森宝电气公司生产的无功补偿装置在西安供电局挂网运行情况数据。 信息来源:http
[嵌入式]
基于VxWorks的PCI总线多功能数据采集卡驱动开发
    VxWorks是一种高性能的嵌入式实时操作系统(RTOS),它由WindRiver公司开发,具有小巧的内核,可根据需要进行裁减;它还获得广泛的硬件支持,像X86系列的CPU,Motorola 68K系列的CPU,Motorola/IBM Power PC等等;它还具有很高的可靠性和实时性,像美国登陆的火星探测器使用的就是VxWorks操作系统;它还有其它的很多优点,因此被广泛地使用在通信、军事、航空、控制等高精尖技术以及实时性要求极高的领域中。     PCI总线由于其即插即用、独立于微处理器、通用性好、具有很高的兼容性等等优良的特点,使得它成为运用最广泛的局部总线标准,而且具有很大的发展潜力。使它成为具有很好发展潜力的局部
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved