高速PCI总线接口卡的开发

时间:2011-08-01来源:网络

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

1 2 3

关键词: 开发 接口卡 总线 PCI 高速

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版