保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于USB和多线程的实时数据采集系统


动程序又被称为主机软件。软件层次如图4所示。
  
  
  
  
  2.2.1固件设备
  
  设备固件(firmware)是储存在程序内存中的代码。它使得USB接口芯片与主机和外设中其它电路能够通信。固件由USB驱动程序(USBD)、主控制器驱动程序(HCD)两部分组成。USBD的功能可以概括为:配置管理、总线管理、数据传输管理、提供客户服务。USBD把IRP划分为USB和设备需要大小的块,确保每一个设备能分配到它所要求的USB资源,这样它就可以支持USB设备配置。USBD提供了一个编程接口USBDI(USB驱动程序接口),给客户驱动程序一种方式,用于传输请求,传输的方向可以是来自或发往USB的功能单元。大量的客户服务是由USB的驱动程序提供的,它帮助USB的客户控制和访问它们的功能单元。HCD提供了对USB的低级支持,通过把IRP转换成为单独的事务处理后在USB上执行。
  
  本系统固件设计的目标是使PDIUSBD12达到最高的传输速度。微处理器主要忙于多路数据的采集及处理,PDIUSBD12的固件设计成完全的中断驱动。USB的传输可在后台进行,这确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。它的基本思想是:后台ISR(中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现。当PDIUSBD12从USB收到一个数据包时,就对单片机产生一个中断请求,单片机立即响应中断。在ISR中,固件将数据包从FDIUSBD12内部缓冲区移到循环数据缓冲区,并在随后请求清零PDIUSBD12的内部缓冲区,以使其能接收新的数据包。然后返回到主循环,检查循环缓冲区内是否有新的数据并开始其它的前台任务。
  
  基于这种结构,主循环不关心数据是来自USB、串口还是并口,只检查循环缓冲区内需要处理的新数据。这样,主循环程序专注于数据的处理而ISR能够以尽可能高的可能高的速度进行数据的传输。
  
  这部分程序结构可包括:
  
  主循环程序——发送USB请求,处理USB总线事件和用户功能处理等;
  
  硬件提以层——对单片机的I/O口、数据总线等硬件接口进行操作;
  
  PDIUSBD12命令接口——对PDIUSBD12器件进行操作的模块子程序集;
  
  请求处理程序——对USB的标准设备请求进行处理和对用户添加的厂商请求进行处理;
  
  中断服务程序——当PDIUSBD12向单片机发出中断请求时,读取PDIUSBD12的中断传输来的数据,并设定事件标志和Setup包数据缓冲区,传输给主循环。
  
  2.2.2USB设备驱动设计
  
  在Windows下,与USB外设的任何通信必须通过USB设备驱动,这个驱动知道如何与系统的USB驱动和访问设备的应用程序通信。设备驱动是保证应用程序访问硬件设备的软件组件,使得应用程序不必知道物理连接、信号和与一个设备通信需要的协议等的细节,可以保证应用程序代码只通过外设名字访问外设或端口目的地。应用程序不需要知道外设连接端口的物理地址,不需要精确监视和控制外设需要的交换信号。
  
  设备驱动通过在应用层和硬件专用代码之间的转化来完成它的任务。应用层代码一般使用一套操作系统支持的函数,硬件代码则处理那些访问外设电路的必要协议。设备驱动能与应用程序之间相互通信是通过Windows提供的API函数,这些函数使应用程序能够控制显示器、处理信息、访问存储器、读写磁盘和其它设备。对于一些标准设备,Windows提供通用驱动;不过,这个实时数据采集系统是自定义的设备,对此Windows并不提供通用的驱动,需要对设备编写自定义的驱动,并且必须遵循微软在Windows98和更新版本中为用户定义的Win32驱动模式。Windows98和Windows2000中,USB总线驱动是WDM驱动,扩展名为.sys。编写USB设备驱动需要使用VisualC++,此外还需要Windows98或2000设备开发包(98DDK/NTDDK)。USB设备驱动的编写通常不是一项简单的任务,驱动开发包就提供一种途径,通过做尽可能多的工作为跳过驱动开发,这些开发库有BlueWaterSystems的WinDK和CompuwareNuMega的DriverWorks。这些工具包能够集成到VisualC++编程环境中。运用这些工具包只需很少的时间就能生成一个高效的驱动程序。
  
  这一部分可以包括4个模块:初始化模块、即插即用管理模块、电源管理模块和I/O功能模块。初始化模块提供一个DriverE

《基于USB和多线程的实时数据采集系统(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/165411.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。