新闻中心

EEPW首页>模拟技术>设计应用> 基于PCI总线模块的多路串行数据采集系统

基于PCI总线模块的多路串行数据采集系统

作者: 时间:2012-04-12 来源:网络 收藏
;中断方式则可克服以上缺点,可以实现数据的实时传输。本系统将数据经过处理后存入RAM,存满一帧数据,硬件便发出中断请求信号,上位机响应中断请求后,即可读取一帧数据。

  要实现中断机制,就要建立一个独立的中断响应线程,并在主函数中完成中断的使能、屏蔽及中断线程的启动。另外,使用WinDriver处理电平中断时,还必须建立传输命令(INTCSR)来应答中断。

  其中断处理过程分为四步:

  第一步,调用WDC_IntEnable(),此函数的功能是分配并初始化WC_INTERRUPT结构体,自动创建中断处理线程,同时在其中包含WD_Int-Wait()函数,作用是使线程休眠直至有中断发生。另外,还可以调用底层API函数InterruptEnable()或WD_Enable(),但此时需要由用户自己创建中断线程;

  第二步是中断线程无限循环以等待中断发生。中断发生时,WinDriver在内核中执行传输命令,当操作返回到用户模式时,驱动的用户模式中断处理例程将被调用;之后,中断处理例程返回,但中断等待循环继续;最后在不再使用中断时,调用’WDC_IntDisable()、底层API函数Inter-mptDisable()或WD_IntDisable()来关闭中断。

  3.4 驱动的分发及安装

  驱动的分发是指在目标机上不用安装WinDriver开发包即可应用其开发的设备驱动。需要准备的分发包应包括windrvr6.sys、windrvr-6.inf、wd921.cat、waapi921.dll、difxapi.dll、自己的INF(Information File)等文件,而且即使是自己开发内核驱动。也应包含在内。

  Windows操作系统依靠INF文件来得到即插即用设备的驱动程序信息。WinDriver会自动检测PC机上的即插即用设备。并为相应硬件生成I-NF文件,而且只需稍作修改即可。INF文件可引导系统找到硬件所需要的驱动程序,由WinDriver生成的INF文件中列出了默认的拷贝文件win-drvr6.sys。设备驱动可通过工作于内核模式的windrvr6.sys访问硬件。之后在目标机上装入驱动分发包及INF文件,即可通过应用程序控制设备。

4 结束语

  该数据传输系统的接口逻辑和数据传输、处理、缓存等用户逻辑可集成于一片FPGA中。因而可极大的提高资源利用率,并可满足大量数据高速传输的要求。上位机应用程序采用中断方式读取数据可大大提高系统的性能。目前,经多次试验,该系统已完全可以满足工程需要。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭