pci接口卡硬件与驱动程序设计

pci接口卡硬件与驱动程序设计

ID:22310781

大小:53.00 KB

页数:6页

时间:2018-10-28

pci接口卡硬件与驱动程序设计_第1页
pci接口卡硬件与驱动程序设计_第2页
pci接口卡硬件与驱动程序设计_第3页
pci接口卡硬件与驱动程序设计_第4页
pci接口卡硬件与驱动程序设计_第5页
资源描述:

《pci接口卡硬件与驱动程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、PCI接口卡硬件与驱动程序设计

2、第1...摘 要:介绍了一种较为通用的PCI接口卡的硬件结构,说明了硬件设计的几种可行性方案和硬件设计时需要注意的问题,同时详细地阐述了PCI设备驱动程序开发的基本方法,比较了几种常用开发工具的优缺点,并对驱动程序中的PCI设备I/O端口与存储器的读写、中断处理以及应用程序与驱动程序之间多种通信方式作了详细的介绍。  一、引言  目前,PCI技术已广泛应用于电子行业的各个领域,特别是在计算机控制、数据采集与传送方面,PCI技术已经成为一种非常成熟的技术。PCI插卡分为长卡与短卡,虽然长卡提供多达49平方英寸的设计空间[1],但其物理尺寸在复杂的系

3、统中总会受到限制,当信号处理模块需要较大空间时,制作一块很大尺寸的PCI卡插入计算机理论上没有问题,但对整体的结构会造成问题,更多的想法是设计一块PCI接口卡,使之成为计算机与信号处理板的桥梁,通过它完成计算机与信号处理板卡间的控制命令发布、数据发放和接收工作等。二、接口卡硬件设计  PCI规范是比较复杂的,要深入了解并应用需要较长时间,为了节省PCI产品的开发周期,推广PCI技术,已经有很多公司开发了专门针对PCI总线的产品。  利用这些产品,针对不同的应用要求,对PCI接口卡采用不同的设计方案:①使用PCI专用接口芯片与EPLD相结合的设计方案,接口芯片很多,如AMCC公司

4、的S5920、S5933、PLX的9052、9054、9656等,专用接口芯片完成从PCI总线到本地用户总线的转接,EPLD灵活地转换逻辑时序,以适应不同的外设;②使用PCI专用接口芯片与DSP芯片相结合的设计方案,这种方案能够利用DSP芯片编程的灵活性以及DSP芯片本身所带有的丰富资源,其外部存储器接口(EMIF)几乎可以与目前所有的存储器(SBSRAM、SDRAM、SRAM、ROM、FLASH等)直接对接;③使用专用ASIC设计方案,如网卡、Modem的设计;④仅使用可编程逻辑器件的设计方案,Xlinx的LogicCore、Alter的PCIMegaCore等就是一类专门针

5、对PCI总线接口设计的软件模块,可以将它们模块嵌入到用户的可编程逻辑器件中完成设计。总的说来,不管是通用型PCI接口芯片还是面向某一领域的专用PCI芯片,它们都是把与PCI接口的信号做在一个芯片之中,当使用这些芯片设计PCI产品时,不必对PCI规范作全面深入理解,主要工作在于针对该芯片的功能与时序设计自己的电路。  下面介绍一种采用第一种方案设计的PCI接口卡的硬件结构,其框图如图1所示。500)this.style.ouseg(this)">  该接口卡应用于某型雷达模拟器中,主要完成主控计算机对信号处理板加载雷达杂波和目标数据、发布主机控制命令、监控系统工作状态、实时采集

6、目标轨迹信息等功能。我们选用AMCCS5920作为接口芯片,主要使用了S5920的Pass_Thru通道作为数据加载和接收途径,信箱Mailbox输出MD[7∶0]作为命令发布通道;EPM7128SQC100完成从S5920的Add_on用户总线与信号处理板上的多片双口存储器的时序转换,主要利用Pass_Thru通道指示输出PTNUM[2∶0]完成对多块双口存储器的选择,根据时序锁存并产生地址信息,完成地址/数据复用总线的分离等。信号处理板上由DSP芯片将双口存储器数据传送到大容量SDRAM中。  该卡结构简单,通过可编程逻辑器件能够灵活地针对不同外设进行逻辑时序的调整,使该接

7、口卡具有较强的通用性。电路板设计中最好选用多层布线,在布线方面注意从边缘连接器到PCI器件的引脚之间,其所有32位接口信号走线的最大长度为1.5英寸,用于64位扩展的附加信号走线长度最大为2英寸,特别注意时钟信号走线长度为2.5±0.1英寸,而且只能连接到一个负载上[1]。三、驱动程序设计  虽然有些专用芯片带有相应的软件开发包,其中含有一些通用的驱动程序和应用程序接口,但在实际应用中往往不能做面面俱到,而且用户对自身的项目,通常会有些特殊的要求和不同工作模式,故而需要编写自己板卡的驱动程序。1.模型简介  模型[2,3](驱动程序通常有3种工具,如表1所示。500)thi

8、s.style.ouseg(this)">  3种开发工具的使用:emory、IRQ、DMA等;  ④选择设备接口方式、读写方式、电源管理方式等;  ⑤添加IOCTL命令字,并选用相应的输入输出模式;  ⑥产生框架代码,添加用户代码;  ⑦编译调试。  驱动程序设计的工作主要在步骤⑥、⑦,编写驱动主要针对以下的几个方面[3]。  (1)端口和内存映射区域读写  驱动程序框架已经在添加资源时,创建了操作资源的KMemoryRange类和KIoRange类的对象,如:将PCI的Base1空间设

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。